CREATE SEQUENCE user_restrictions_ur_id_seq MINVALUE 0 START WITH 0; CREATE TABLE user_restrictions ( ur_id INTEGER NOT NULL PRIMARY KEY DEFAULT nextval('user_restrictions_ur_id_seq'), -- Restriction type. Block from either editing namespace or page ur_type TEXT NOT NULL, -- Namespace to restrict if ur_type = namespace ur_namespace INTEGER default NULL, -- Page to restrict if ur_type = page ur_page_namespace INTEGER default NULL, ur_page_title TEXT default '', -- User that is restricted ur_user INTEGER NOT NULL, ur_user_text TEXT NOT NULL, -- User who has done this restriction ur_by INTEGER NOT NULL, ur_by_text TEXT NOT NULL default '', -- Reason for this restriction ur_reason TEXT NOT NULL, -- Time when this restriction was made ur_timestamp TEXT NOT NULL default '', -- Expiry or "infinity" ur_expiry TEXT NOT NULL default '' ); CREATE INDEX user_restrictions_ur_user ON user_restrictions (ur_user,ur_user_text); CREATE INDEX user_restrictions_ur_type ON user_restrictions (ur_type,ur_timestamp); CREATE INDEX user_restrictions_ur_namespace ON user_restrictions (ur_namespace,ur_timestamp); CREATE INDEX user_restrictions_ur_page ON user_restrictions (ur_page_namespace,ur_page_title,ur_timestamp); CREATE INDEX user_restrictions_ur_timestamp ON user_restrictions (ur_timestamp); CREATE INDEX user_restrictions_ur_expiry ON user_restrictions (ur_expiry);