147 lines
3.3 KiB
SQL
147 lines
3.3 KiB
SQL
/* PTS SQLite database */
|
|
|
|
DROP TABLE IF EXISTS files;
|
|
CREATE TABLE files (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
type INTEGER NOT NULL,
|
|
path TEXT NOT NULL
|
|
);
|
|
DROP INDEX IF EXISTS files_path;
|
|
CREATE INDEX files_path ON files (
|
|
path
|
|
);
|
|
|
|
DROP TABLE IF EXISTS products;
|
|
CREATE TABLE products (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL
|
|
);
|
|
DROP INDEX IF EXISTS products_name;
|
|
CREATE INDEX products_name ON products (
|
|
name
|
|
);
|
|
|
|
DROP TABLE IF EXISTS product_file;
|
|
CREATE TABLE product_file (
|
|
product INTEGER NOT NULL,
|
|
file INTEGER NOT NULL,
|
|
measurement INTEGER DEFAULT 0,
|
|
metadata INTEGER DEFAULT 0,
|
|
PRIMARY KEY (product, file)
|
|
);
|
|
|
|
DROP TABLE IF EXISTS file_hashes;
|
|
CREATE TABLE file_hashes (
|
|
file INTEGER NOT NULL,
|
|
directory INTEGER DEFAULT 0,
|
|
product INTEGER NOT NULL,
|
|
key INTEGER DEFAULT 0,
|
|
algo INTEGER NOT NULL,
|
|
hash BLOB NOT NULL,
|
|
PRIMARY KEY(file, directory, product, algo)
|
|
);
|
|
|
|
DROP TABLE IF EXISTS keys;
|
|
CREATE TABLE keys (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
keyid BLOB NOT NULL,
|
|
owner TEXT NOT NULL
|
|
);
|
|
DROP INDEX IF EXISTS keys_keyid;
|
|
CREATE INDEX keys_keyid ON keys (
|
|
keyid
|
|
);
|
|
DROP INDEX IF EXISTS keys_owner;
|
|
CREATE INDEX keys_owner ON keys (
|
|
owner
|
|
);
|
|
|
|
DROP TABLE IF EXISTS components;
|
|
CREATE TABLE components (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
vendor_id INTEGER NOT NULL,
|
|
name INTEGER NOT NULL,
|
|
qualifier INTEGER DEFAULT 0
|
|
);
|
|
|
|
|
|
DROP TABLE IF EXISTS key_component;
|
|
CREATE TABLE key_component (
|
|
key INTEGER NOT NULL,
|
|
component INTEGER NOT NULL,
|
|
depth INTEGER DEFAULT 0,
|
|
seq_no INTEGER DEFAULT 0,
|
|
PRIMARY KEY (key, component)
|
|
);
|
|
|
|
|
|
DROP TABLE IF EXISTS component_hashes;
|
|
CREATE TABLE component_hashes (
|
|
component INTEGER NOT NULL,
|
|
key INTEGER NOT NULL,
|
|
seq_no INTEGER NOT NULL,
|
|
pcr INTEGER NOT NULL,
|
|
algo INTEGER NOT NULL,
|
|
hash BLOB NOT NULL,
|
|
PRIMARY KEY(component, key, seq_no, algo)
|
|
);
|
|
|
|
DROP TABLE IF EXISTS packages;
|
|
CREATE TABLE packages (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL
|
|
);
|
|
DROP INDEX IF EXISTS packages_name;
|
|
CREATE INDEX packages_name ON packages (
|
|
name
|
|
);
|
|
|
|
DROP TABLE IF EXISTS versions;
|
|
CREATE TABLE versions (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
package INTEGER NOT NULL,
|
|
product INTEGER NOT NULL,
|
|
release TEXT NOT NULL,
|
|
security INTEGER DEFAULT 0,
|
|
time INTEGER DEFAULT 0
|
|
);
|
|
DROP INDEX IF EXISTS versions_release;
|
|
CREATE INDEX versions_release ON versions (
|
|
release
|
|
);
|
|
DROP INDEX IF EXISTS versions_package_product;
|
|
CREATE INDEX versions_package_product ON versions (
|
|
package, product
|
|
);
|
|
|
|
DROP TABLE IF EXISTS devices;
|
|
CREATE TABLE devices (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
value BLOB NOT NULL
|
|
);
|
|
DROP INDEX IF EXISTS devices_id;
|
|
CREATE INDEX devices_value ON devices (
|
|
value
|
|
);
|
|
|
|
DROP TABLE IF EXISTS device_infos;
|
|
CREATE TABLE device_infos (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
device INTEGER NOT NULL,
|
|
time INTEGER NOT NULL,
|
|
ar_id INTEGER DEFAULT 0,
|
|
product INTEGER DEFAULT 0,
|
|
count INTEGER DEFAULT 0,
|
|
count_update INTEGER DEFAULT 0,
|
|
count_blacklist INTEGER DEFAULT 0,
|
|
flags INTEGER DEFAULT 0
|
|
);
|
|
|
|
DROP TABLE IF EXISTS identities;
|
|
CREATE TABLE identities (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
type INTEGER NOT NULL,
|
|
data BLOB NOT NULL,
|
|
UNIQUE (type, data)
|
|
);
|