| 48 | == Example Reports |
| 49 | === All reviews grouped by author |
| 50 | Description: |
| 51 | {{{ |
| 52 | {{{ |
| 53 | #!comment |
| 54 | codereview=1 |
| 55 | }}} |
| 56 | Back to [/peerreviewreport Codereview reports]. |
| 57 | }}} |
| 58 | |
| 59 | Query: |
| 60 | |
| 61 | {{{#!sql |
| 62 | SELECT r.owner AS __group__, r.review_id AS id, |
| 63 | r.name AS name, r.owner AS owner, |
| 64 | r.created AS created, r.project AS project, |
| 65 | r.status AS status, |
| 66 | (CASE WHEN r.parent_id > 0 THEN r.parent_id ELSE NULL END) AS followup_from, |
| 67 | (CASE r.status WHEN 'approved' THEN 2 |
| 68 | WHEN 'disapproved' THEN 1 |
| 69 | WHEN 'reviewed' THEN 4 |
| 70 | WHEN 'in-review' THEN 5 END) AS __color__, |
| 71 | 'peerreview' AS _realm |
| 72 | FROM peerreview as r |
| 73 | ORDER BY r.owner, r.review_id |
| 74 | }}} |
| 75 | |
| 76 | === Approved files |
| 77 | Description: |
| 78 | {{{ |
| 79 | {{{ |
| 80 | #!comment |
| 81 | codereview=1 |
| 82 | }}} |
| 83 | * Show all ''approved'' files sorted by name. |
| 84 | |
| 85 | Back to [/peerreviewreport Codereview reports]. |
| 86 | }}} |
| 87 | |
| 88 | Query: |
| 89 | |
| 90 | {{{#!sql |
| 91 | SELECT f.file_id AS id, f.review_id AS review_id, |
| 92 | f.path AS path, f.hash AS hash, |
| 93 | f.revision AS revision, f.status AS status, |
| 94 | 'peerreviewfile' AS _realm, |
| 95 | (SELECT COUNT(*) FROM peerreviewcomment AS c WHERE f.file_id = c.file_id) AS comments |
| 96 | FROM peerreviewfile f |
| 97 | WHERE f.status = 'approved' |
| 98 | GROUP BY f.file_id |
| 99 | ORDER BY f.path, f.revision |
| 100 | }}} |
| 101 | |
| 102 | === All files with comments |
| 103 | Description: |
| 104 | {{{ |
| 105 | {{{ |
| 106 | #!comment |
| 107 | codereview=1 |
| 108 | }}} |
| 109 | * Show all files with comments sorted by name. |
| 110 | |
| 111 | Back to [/peerreviewreport Codereview reports]. |
| 112 | }}} |
| 113 | |
| 114 | Query: |
| 115 | |
| 116 | {{{#!sql |
| 117 | SELECT f.file_id AS id, f.review_id AS review_id, |
| 118 | f.path AS path, f.revision AS revision, |
| 119 | f.status AS status, COUNT(*) AS Comments, |
| 120 | 'peerreviewfile' AS _realm, |
| 121 | (CASE f.status WHEN 'approved' THEN 2 WHEN 'disapproved' THEN 1 END) AS __color__ |
| 122 | FROM peerreviewfile f |
| 123 | INNER JOIN peerreviewcomment AS c ON f.file_id = c.file_id |
| 124 | GROUP BY f.file_id |
| 125 | ORDER BY f.file_id, f.status, f.path, f.revision |
| 126 | }}} |
| 127 | |
| 128 | === Files with comments - My reviews |
| 129 | Description: |
| 130 | {{{ |
| 131 | {{{ |
| 132 | #!comment |
| 133 | codereview=1 |
| 134 | }}} |
| 135 | * Show all files with comments from reviews assigned to me sorted by name. |
| 136 | * Omit '''closed''' reviews |
| 137 | * Only new files or files which are in-progress. This means no files with status |
| 138 | * '''approved''' |
| 139 | * '''disapproved''' |
| 140 | * Mark files with unread comments |
| 141 | [[BR]][[BR]]Note: the status ''read/unread'' is set for each user. |
| 142 | |
| 143 | Back to [/peerreviewreport Codereview reports]. |
| 144 | }}} |
| 145 | |
| 146 | Query: |
| 147 | |
| 148 | {{{#!sql |
| 149 | SELECT f.file_id AS id, f.review_id AS 'review-Id', |
| 150 | rev.name AS Reviewname, rev.owner AS reviewauthor, |
| 151 | f.path AS path, f.revision AS revision, |
| 152 | f.status AS filestatus, COUNT(*) AS comments, |
| 153 | (SELECT COUNT(*) FROM peerreviewcomment AS c |
| 154 | WHERE f.file_id = c.file_id) - |
| 155 | (SELECT COUNT(*) FROM peerreviewdata AS d |
| 156 | WHERE f.file_id = d.file_id AND owner = $USER) AS unread, |
| 157 | 'peerreviewfile' as _realm, |
| 158 | |
| 159 | (CASE |
| 160 | WHEN (SELECT COUNT(*) FROM peerreviewcomment AS c |
| 161 | WHERE f.file_id = c.file_id) - |
| 162 | (SELECT COUNT(*) FROM peerreviewdata AS d |
| 163 | WHERE f.file_id = d.file_id AND owner = $USER) > 0 THEN 2 END) AS __color__ |
| 164 | |
| 165 | FROM peerreviewfile AS f |
| 166 | INNER JOIN peerreviewcomment AS c ON f.file_id = c.file_id |
| 167 | INNER JOIN peerreview AS rev ON f.review_id = rev.review_id |
| 168 | WHERE (f.status IS NULL OR f.status NOT IN ('approved', 'disapproved')) |
| 169 | AND f.review_id in |
| 170 | (SELECT a.review_id FROM peerreviewer a JOIN peerreview r |
| 171 | ON a.review_id = r.review_id |
| 172 | WHERE a.reviewer = $USER |
| 173 | AND r.status IS NOT 'closed') |
| 174 | |
| 175 | GROUP BY f.file_id |
| 176 | ORDER BY f.file_id, f.status, f.path, f.revision |
| 177 | }}} |