| |
"pkg_format_version INTEGER"
|
| |
");"
|
| |
"CREATE TABLE scripts ("
|
| - |
"package_id TEXT REFERENCES packages(origin) ON DELETE CASCADE, "
|
| + |
"package_id INTEGER REFERENCES packages(rowid) ON DELETE CASCADE"
|
| + |
" ON UPDATE CASCADE,"
|
| |
"script TEXT,"
|
| |
"type INTEGER,"
|
| |
"PRIMARY KEY (package_id, type)"
|
| |
");"
|
| - |
"CREATE INDEX scripts_package ON scripts (package_id);"
|
| + |
"CREATE INDEX scripts_package ON scripts(package_id);"
|
| |
"CREATE TABLE exec ("
|
| - |
"package_id TEXT REFERENCES packages(origin) ON DELETE CASCADE, "
|
| + |
"package_id INTEGER REFERENCES packages(rowid) ON DELETE CASCADE"
|
| + |
" ON UPDATE CASCADE,"
|
| |
"cmd TEXT,"
|
| |
"type INTEGER"
|
| |
");"
|
| - |
"CREATE INDEX exec_package ON exec (package_id);"
|
| + |
"CREATE INDEX exec_package ON exec(package_id);"
|
| |
"CREATE TABLE options ("
|
| - |
"package_id TEXT REFERENCES packages(origin) ON DELETE CASCADE, "
|
| + |
"package_id INTEGER REFERENCES packages(rowid) ON DELETE CASCADE"
|
| + |
" ON UPDATE CASCADE,"
|
| |
"option TEXT,"
|
| |
"value TEXT,"
|
| |
"PRIMARY KEY (package_id,option)"
|
| |
");"
|
| - |
"CREATE INDEX options_package ON options (package_id);"
|
| + |
"CREATE INDEX options_package ON options(package_id);"
|
| |
"CREATE TABLE deps ("
|
| |
"origin TEXT,"
|
| |
"name TEXT,"
|
| |
"version TEXT,"
|
| - |
"package_id TEXT REFERENCES packages(origin) ON DELETE CASCADE, "
|
| + |
"package_id INTEGER REFERENCES packages(rowid) ON DELETE CASCADE"
|
| + |
" ON UPDATE CASCADE,"
|
| |
"PRIMARY KEY (package_id,origin)"
|
| |
");"
|
| - |
"CREATE INDEX deps_origin ON deps (origin);"
|
| - |
"CREATE INDEX deps_package ON deps (package_id);"
|
| + |
"CREATE INDEX deps_origin ON deps(origin);"
|
| + |
"CREATE INDEX deps_package ON deps(package_id);"
|
| |
"CREATE TABLE files ("
|
| |
"path TEXT PRIMARY KEY,"
|
| |
"sha256 TEXT,"
|
| - |
"package_id TEXT REFERENCES packages(origin) ON DELETE CASCADE"
|
| + |
"package_id INTEGER REFERENCES packages(rowid) ON DELETE CASCADE"
|
| + |
" ON UPDATE CASCADE"
|
| |
");"
|
| - |
"CREATE INDEX files_package ON files (package_id);"
|
| + |
"CREATE INDEX files_package ON files(package_id);"
|
| |
"CREATE TABLE conflicts ("
|
| |
"name TEXT,"
|
| - |
"package_id TEXT REFERENCES packages(origin) ON DELETE CASCADE, "
|
| + |
"package_id INTEGER REFERENCES packages(rowid) ON DELETE CASCADE"
|
| + |
" ON UPDATE CASCADE,"
|
| |
"PRIMARY KEY (package_id,name)"
|
| |
");"
|
| - |
"CREATE INDEX conflicts_package ON conflicts (package_id);"
|
| + |
"CREATE INDEX conflicts_package ON conflicts(package_id);"
|
| |
"CREATE TABLE mtree ("
|
| - |
"id TEXT PRIMARY KEY,"
|
| + |
"sha256 TEXT PRIMARY KEY,"
|
| |
"content TEXT"
|
| |
");"
|
| |
"CREATE TRIGGER clean_mtree AFTER DELETE ON packages BEGIN "
|
| - |
"DELETE FROM mtree WHERE id NOT IN (SELECT DISTINCT mtree_id FROM packages);"
|
| + |
"DELETE FROM mtree WHERE rowid NOT IN (SELECT DISTINCT mtree_id FROM packages);"
|
| |
"END;";
|
| |
|
| |
if (sqlite3_exec(sdb, sql, NULL, NULL, &errmsg) != SQLITE_OK) {
|