| 3175 | } |
| 3176 | |
| 3177 | int cbm_store_coverage_get_path(cbm_store_t *s, const char *project, const char *rel_path, |
| 3178 | cbm_coverage_row_t **out, int *count) { |
| 3179 | static const char sql[] = "SELECT rel_path, kind, detail FROM index_coverage " |
| 3180 | "WHERE project = ?1 AND (rel_path = ?2 OR " |
| 3181 | " (kind = 'not_indexed_dir' AND length(rel_path) < length(?2) " |
| 3182 | " AND substr(?2, 1, length(rel_path)) = rel_path " |
| 3183 | " AND substr(?2, length(rel_path) + 1, 1) = '/')) " |
| 3184 | "ORDER BY length(rel_path) DESC, rel_path, kind;"; |
| 3185 | return coverage_query_rows(s, project, rel_path, sql, out, count); |
| 3186 | } |
| 3187 | |
| 3188 | int cbm_store_coverage_get_scope(cbm_store_t *s, const char *project, const char *scope, |
| 3189 | cbm_coverage_row_t **out, int *count) { |
no test coverage detected