simplify common functions
[~helmut/crossqa.git] / schema.sql
1 -- SPDX-License-Identifier: GPL-2.0+
2
3 CREATE TABLE depstate (
4         source TEXT NOT NULL,
5         version TEXT NOT NULL,
6         buildarch TEXT NOT NULL,
7         hostarch TEXT NOT NULL,
8         satisfiable BOOLEAN NOT NULL CHECK (satisfiable in (0, 1)),
9         reason TEXT,
10         UNIQUE (source, buildarch, hostarch, version));
11
12 CREATE TABLE depcheck (
13         buildarch TEXT NOT NULL,
14         hostarch TEXT NOT NULL,
15         releasetime TIMESTAMP NOT NULL,
16         updatetime TIMESTAMP NOT NULL,
17         giveback BOOLEAN NOT NULL CHECK (giveback in (0, 1)),
18         UNIQUE (buildarch, hostarch));
19 INSERT INTO depcheck (buildarch, hostarch, releasetime, updatetime,
20                       giveback) VALUES
21         ('amd64', 'arm64', '2000-01-01 00:00:00', '2000-01-01 00:00:00', 1),
22         ('amd64', 'armel', '2000-01-01 00:00:00', '2000-01-01 00:00:00', 1),
23         ('amd64', 'armhf', '2000-01-01 00:00:00', '2000-01-01 00:00:00', 1),
24         ('amd64', 'mips64el', '2000-01-01 00:00:00', '2000-01-01 00:00:00', 1),
25         ('amd64', 'mipsel', '2000-01-01 00:00:00', '2000-01-01 00:00:00', 1),
26         ('amd64', 'ppc64el', '2000-01-01 00:00:00', '2000-01-01 00:00:00', 1),
27         ('amd64', 's390x', '2000-01-01 00:00:00', '2000-01-01 00:00:00', 1);
28
29 CREATE TABLE builds (
30         source TEXT NOT NULL,
31         version TEXT NOT NULL,
32         buildarch TEXT NOT NULL,
33         hostarch TEXT NOT NULL,
34         success BOOLEAN NOT NULL CHECK (success in (0, 1)),
35         starttime TIMESTAMP NOT NULL,
36         filename TEXT NOT NULL);
37 CREATE INDEX builds_source_index ON builds(source);
38
39 CREATE TABLE buildrequests (
40         id INTEGER PRIMARY KEY,
41         source TEXT NOT NULL,
42         buildarch TEXT,
43         hostarch TEXT,
44         requesttime TIMESTAMP NOT NULL,
45         priority INTEGER NOT NULL DEFAULT 0);
46
47 CREATE TABLE bugs (
48         kind TEXT NOT NULL CHECK (kind in ('bdsat', 'ftbfs', 'ftcbfs')),
49         bugnum INTEGER NOT NULL,
50         package TEXT,
51         affects TEXT NOT NULL,
52         title TEXT,
53         patched BOOLEAN NOT NULL CHECK (patched in (0, 1)));
54 CREATE INDEX bugs_affects_index ON bugs(affects);
55
56 CREATE TABLE building (
57         source TEXT NOT NULL,
58         buildarch TEXT NOT NULL,
59         hostarch TEXT NOT NULL,
60         pid INTEGER NOT NULL);