| |
"CREATE INDEX pkg_provides_id ON pkg_provides(package_id);"
|
| |
"CREATE INDEX packages_origin ON packages(origin COLLATE NOCASE);"
|
| |
"CREATE INDEX packages_name ON packages(name COLLATE NOCASE);"
|
| - |
|
| - |
"CREATE VIEW pkg_shlibs AS SELECT * FROM pkg_shlibs_required;"
|
| - |
"CREATE TRIGGER pkg_shlibs_update "
|
| - |
"INSTEAD OF UPDATE ON pkg_shlibs "
|
| - |
"FOR EACH ROW BEGIN "
|
| - |
"UPDATE pkg_shlibs_required "
|
| - |
"SET package_id = new.package_id, "
|
| - |
" shlib_id = new.shlib_id "
|
| - |
"WHERE shlib_id = old.shlib_id "
|
| - |
"AND package_id = old.package_id; "
|
| - |
"END;"
|
| - |
"CREATE TRIGGER pkg_shlibs_insert "
|
| - |
"INSTEAD OF INSERT ON pkg_shlibs "
|
| - |
"FOR EACH ROW BEGIN "
|
| - |
"INSERT INTO pkg_shlibs_required (shlib_id, package_id) "
|
| - |
"VALUES (new.shlib_id, new.package_id); "
|
| - |
"END;"
|
| - |
"CREATE TRIGGER pkg_shlibs_delete "
|
| - |
"INSTEAD OF DELETE ON pkg_shlibs "
|
| - |
"FOR EACH ROW BEGIN "
|
| - |
"DELETE FROM pkg_shlibs_required "
|
| - |
"WHERE shlib_id = old.shlib_id "
|
| - |
"AND package_id = old.package_id; "
|
| - |
"END;"
|
| - |
|
| - |
"CREATE VIEW scripts AS SELECT package_id, script, type"
|
| - |
" FROM pkg_script ps JOIN script s"
|
| - |
" ON (ps.script_id = s.script_id);"
|
| - |
"CREATE TRIGGER scripts_update"
|
| - |
" INSTEAD OF UPDATE ON scripts "
|
| - |
"FOR EACH ROW BEGIN"
|
| - |
" INSERT OR IGNORE INTO script(script)"
|
| - |
" VALUES(new.script);"
|
| - |
" UPDATE pkg_script"
|
| - |
" SET package_id = new.package_id,"
|
| - |
" type = new.type,"
|
| - |
" script_id = ( SELECT script_id"
|
| - |
" FROM script WHERE script = new.script )"
|
| - |
" WHERE package_id = old.package_id"
|
| - |
" AND type = old.type;"
|
| - |
"END;"
|
| - |
"CREATE TRIGGER scripts_insert"
|
| - |
" INSTEAD OF INSERT ON scripts "
|
| - |
"FOR EACH ROW BEGIN"
|
| - |
" INSERT OR IGNORE INTO script(script)"
|
| - |
" VALUES(new.script);"
|
| - |
" INSERT INTO pkg_script(package_id, type, script_id) "
|
| - |
" SELECT new.package_id, new.type, s.script_id"
|
| - |
" FROM script s WHERE new.script = s.script;"
|
| - |
"END;"
|
| - |
"CREATE TRIGGER scripts_delete"
|
| - |
" INSTEAD OF DELETE ON scripts "
|
| - |
"FOR EACH ROW BEGIN"
|
| - |
" DELETE FROM pkg_script"
|
| - |
" WHERE package_id = old.package_id"
|
| - |
" AND type = old.type;"
|
| - |
" DELETE FROM script"
|
| - |
" WHERE script_id NOT IN"
|
| - |
" (SELECT DISTINCT script_id FROM pkg_script);"
|
| - |
"END;"
|
| - |
"CREATE VIEW options AS "
|
| - |
"SELECT package_id, option, value "
|
| - |
"FROM pkg_option JOIN option USING(option_id);"
|
| - |
"CREATE TRIGGER options_update "
|
| - |
"INSTEAD OF UPDATE ON options "
|
| - |
"FOR EACH ROW BEGIN "
|
| - |
"UPDATE pkg_option "
|
| - |
"SET value = new.value "
|
| - |
"WHERE package_id = old.package_id AND "
|
| - |
"option_id = ( SELECT option_id FROM option "
|
| - |
"WHERE option = old.option );"
|
| - |
"END;"
|
| - |
"CREATE TRIGGER options_insert "
|
| - |
"INSTEAD OF INSERT ON options "
|
| - |
"FOR EACH ROW BEGIN "
|
| - |
"INSERT OR IGNORE INTO option(option) "
|
| - |
"VALUES(new.option);"
|
| - |
"INSERT INTO pkg_option(package_id, option_id, value) "
|
| - |
"VALUES (new.package_id, "
|
| - |
"(SELECT option_id FROM option "
|
| - |
"WHERE option = new.option), "
|
| - |
"new.value);"
|
| - |
"END;"
|
| - |
"CREATE TRIGGER options_delete "
|
| - |
"INSTEAD OF DELETE ON options "
|
| - |
"FOR EACH ROW BEGIN "
|
| - |
"DELETE FROM pkg_option "
|
| - |
"WHERE package_id = old.package_id AND "
|
| - |
"option_id = ( SELECT option_id FROM option "
|
| - |
"WHERE option = old.option );"
|
| - |
"DELETE FROM option "
|
| - |
"WHERE option_id NOT IN "
|
| - |
"( SELECT DISTINCT option_id FROM pkg_option );"
|
| - |
"END;"
|
| |
"CREATE TABLE requires("
|
| |
" id INTEGER PRIMARY KEY,"
|
| |
" require TEXT NOT NULL"
|
| |
"type INTEGER,"
|
| |
"UNIQUE(package_id, lua_script_id)"
|
| |
");"
|
| - |
"CREATE VIEW lua_scripts AS "
|
| - |
"SELECT package_id, lua_script, type "
|
| - |
"FROM pkg_lua_script JOIN lua_script USING(lua_script_id);"
|
| - |
"CREATE TRIGGER lua_script_update "
|
| - |
"INSTEAD OF UPDATE ON lua_scripts "
|
| - |
"FOR EACH ROW BEGIN "
|
| - |
"UPDATE pkg_lua_script "
|
| - |
"SET type = new.type "
|
| - |
"WHERE package_id = old.package_id AND "
|
| - |
"lua_script_id = (SELECT lua_script_id FROM lua_script "
|
| - |
"WHERE lua_script = old.lua_script );"
|
| - |
"END;"
|
| - |
"CREATE TRIGGER lua_script_insert "
|
| - |
"INSTEAD OF INSERT ON lua_scripts "
|
| - |
"FOR EACH ROW BEGIN "
|
| - |
"INSERT OR IGNORE INTO lua_script(lua_script) "
|
| - |
"VALUES(new.lua_script);"
|
| - |
"INSERT INTO pkg_lua_script(package_id, lua_script_id, type) "
|
| - |
"VALUES (new.package_id, "
|
| - |
"(SELECT lua_script_id FROM lua_script "
|
| - |
"WHERE lua_script = new.lua_script), "
|
| - |
"new.type);"
|
| - |
"END;"
|
| - |
"CREATE TRIGGER lua_script_delete "
|
| - |
"INSTEAD OF DELETE ON lua_scripts "
|
| - |
"FOR EACH ROW BEGIN "
|
| - |
"DELETE FROM pkg_lua_script "
|
| - |
"WHERE package_id = old.package_id AND "
|
| - |
"lua_script_id = ( SELECT lua_script_id FROM lua_script "
|
| - |
"WHERE lua_script = old.lua_script );"
|
| - |
"DELETE FROM lua_script "
|
| - |
"WHERE lua_script_id NOT IN "
|
| - |
"( SELECT DISTINCT lua_script_id from lua_script );"
|
| - |
"END;"
|
| - |
|
| |
"PRAGMA user_version = %d;"
|
| |
"COMMIT;"
|
| |
;
|