Skip to content

Commit 270f219

Browse files
authored
Merge pull request #1632 from Kobzol/queries-update
Update documentation on how to remove an artifact from the database
2 parents ff58ac0 + 002e1a0 commit 270f219

File tree

1 file changed

+11
-48
lines changed

1 file changed

+11
-48
lines changed

database/queries.md

Lines changed: 11 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -6,53 +6,16 @@ This is important for situations where there is some compilation error for a sta
66
with a stable release of the compiler. While this should be rare, it happens sometimes e.g. because
77
of future incompatibility lints turning into errors.
88

9-
The set of queries below show an example of removing the measured data and errors for the `html5ever`
10-
benchmark for Rust `1.69` and `1.70`.
11-
```sql
12-
-- Remove 1.69 and 1.70 html5ever data and errors
13-
-- Delete errors
14-
DELETE FROM error
15-
WHERE aid IN (
16-
SELECT id
17-
FROM artifact
18-
WHERE name IN ('1.69.0', '1.70.0') AND
19-
type = 'release'
20-
);
21-
22-
-- Delete collection records. This will enable `bench_published` to re-run the benchmarks.
23-
DELETE FROM collector_progress
24-
WHERE aid IN (
25-
SELECT id
26-
FROM artifact
27-
WHERE name IN ('1.69.0', '1.70.0') AND
28-
type = 'release'
29-
) AND step IN ('html5ever');
30-
31-
-- Note that there probably won't be any results in pstat, since the benchmark did not compile.
32-
-- But it's possible that some configurations of it have compiled before. To avoid skewing
33-
-- the average, we should thus still delete.
34-
35-
-- Delete compile benchmark data
36-
DELETE FROM pstat
37-
WHERE aid IN (
38-
SELECT id
39-
FROM artifact
40-
WHERE name IN ('1.69.0', '1.70.0') AND
41-
type = 'release'
42-
);
9+
The benchmark should be fixed first, and then the DB should be altered (see below).
4310

44-
-- Delete runtime benchmark data
45-
DELETE FROM runtime_pstat
46-
WHERE aid IN (
47-
SELECT id
48-
FROM artifact
49-
WHERE name IN ('1.69.0', '1.70.0') AND
50-
type = 'release'
51-
);
52-
```
53-
54-
After running these queries, the benchmark should be fixed so that it is compilable again, and then
55-
the version should be re-benchmarked:
56-
```bash
57-
$ cargo run --bin collector bench_published <version>
11+
The easiest solution is to simply completely remove the artifact from the DB. There are
12+
`ON DELETE CASCADE` clauses for `aid` (artifact ID) on tables that reference it, so it should be
13+
enough to just delete the artifact from the `artifact` table.
14+
The set of queries below show an example of removing the measured data and errors for Rust `1.69`
15+
and `1.70`:
16+
```sql
17+
DELETE FROM artifact
18+
WHERE name IN ('1.69.0', '1.70.0') AND
19+
type = 'release';
5820
```
21+
After executing this query, the server should automatically re-benchmark these artifacts again.

0 commit comments

Comments
 (0)