blob: e032b3cbbcf1e5149fb1c82a4d6c34764e4f9a48 [file] [log] [blame]
-- IF YOU UPDATE THIS FILE, DON'T FORGET TO INCREMENT THE Schema.VERSION!
-- This is a table for element declarations. Table name
-- is substituted in a runtime.
CREATE TABLE IF NOT EXISTS {0}(
ID INT AUTO_INCREMENT PRIMARY KEY,
FLAGS INT NOT NULL,
OFFSET INT NOT NULL,
LENGTH INT NOT NULL,
NAME_OFFSET INT NOT NULL,
NAME_LENGTH INT NOT NULL,
NAME VARCHAR_IGNORECASE NOT NULL,
CC_NAME VARCHAR_IGNORECASE,
METADATA VARCHAR,
DOC VARCHAR,
QUALIFIER VARCHAR,
PARENT VARCHAR,
FILE_ID INT NOT NULL,
FOREIGN KEY(FILE_ID) REFERENCES FILES(ID) ON UPDATE CASCADE ON DELETE CASCADE,
);
CREATE INDEX IF NOT EXISTS IDX_CC_NAME_{0} ON {0}(CC_NAME);
CREATE INDEX IF NOT EXISTS IDX_PARENT_{0} ON {0}(PARENT);
CREATE INDEX IF NOT EXISTS IDX_QUALIFIER_{0} ON {0}(QUALIFIER);
CREATE INDEX IF NOT EXISTS IDX_FILE_ID_{0} ON {0}(FILE_ID);
CREATE INDEX IF NOT EXISTS IDX_FLAGS_{0} ON {0}(FLAGS);
CREATE INDEX IF NOT EXISTS IDX_FULL_NAME_{0} ON {0}(NAME, QUALIFIER);
CREATE OR REPLACE VIEW {0}_TO_CONTAINER AS SELECT T.*, F.CONTAINER_ID FROM {0} AS T INNER JOIN FILES AS F ON (T.FILE_ID = F.ID);