From: Greg Sabino Mullane Date: Fri, 27 Jul 2007 12:23:58 +0000 (+0000) Subject: Various updates to Postgres schema and updater. X-Git-Tag: 1.31.0-rc.0~51963 X-Git-Url: https://git.cyclocoop.org/%242?a=commitdiff_plain;h=114c92d5cb6ed85d7ba274bdbbaa213ce678cd51;p=lhc%2Fweb%2Fwiklou.git Various updates to Postgres schema and updater. --- diff --git a/maintenance/postgres/archives/patch-rev_text_id_idx.sql b/maintenance/postgres/archives/patch-rev_text_id_idx.sql deleted file mode 100644 index 036c0be3a1..0000000000 --- a/maintenance/postgres/archives/patch-rev_text_id_idx.sql +++ /dev/null @@ -1 +0,0 @@ -CREATE INDEX rev_text_id_idx ON revision (rev_text_id); diff --git a/maintenance/postgres/tables.sql b/maintenance/postgres/tables.sql index 6ca5fbe926..fbcc135692 100644 --- a/maintenance/postgres/tables.sql +++ b/maintenance/postgres/tables.sql @@ -141,6 +141,7 @@ CREATE TABLE archive ( ar_len INTEGER NULL ); CREATE INDEX archive_name_title_timestamp ON archive (ar_namespace,ar_title,ar_timestamp); +CREATE INDEX archive_user_text ON archive (ar_user_text); CREATE TABLE redirect ( @@ -250,10 +251,12 @@ CREATE TABLE image ( img_description TEXT NOT NULL, img_user INTEGER NULL REFERENCES mwuser(user_id) ON DELETE SET NULL, img_user_text TEXT NOT NULL, - img_timestamp TIMESTAMPTZ + img_timestamp TIMESTAMPTZ, + img_sha1 TEXT NOT NULL DEFAULT '' ); CREATE INDEX img_size_idx ON image (img_size); CREATE INDEX img_timestamp_idx ON image (img_timestamp); +CREATE INDEX img_sha1 ON image (img_sha1); CREATE TABLE oldimage ( oi_name TEXT NOT NULL REFERENCES image(img_name), @@ -266,14 +269,16 @@ CREATE TABLE oldimage ( oi_user INTEGER NULL REFERENCES mwuser(user_id) ON DELETE SET NULL, oi_user_text TEXT NOT NULL, oi_timestamp TIMESTAMPTZ NOT NULL, - oi_metadata BYTEA NOT NULL, + oi_metadata BYTEA NOT NULL DEFAULT '', oi_media_type TEXT NULL, oi_major_mime TEXT NOT NULL DEFAULT 'unknown', oi_minor_mime TEXT NOT NULL DEFAULT 'unknown', - oi_deleted CHAR NOT NULL DEFAULT '0' + oi_deleted CHAR NOT NULL DEFAULT '0', + oi_sha1 TEXT NOT NULL DEFAULT '' ); -CREATE INDEX oi_name_timestamp ON oldimage (oi_name,oi_timestamp); +CREATE INDEX oi_name_timestamp ON oldimage (oi_name,oi_timestamp); CREATE INDEX oi_name_archive_name ON oldimage (oi_name,oi_archive_name); +CREATE INDEX oi_sha1 ON oldimage (oi_sha1); CREATE TABLE filearchive ( diff --git a/maintenance/updaters.inc b/maintenance/updaters.inc index 6dd6ef56dd..2b04740e65 100644 --- a/maintenance/updaters.inc +++ b/maintenance/updaters.inc @@ -1325,6 +1325,7 @@ function do_postgres_updates() { $newcols = array( array("archive", "ar_len", "INTEGER"), array("archive", "ar_page", "INTEGER"), + array("image", "img_sha1", "TEXT NOT NULL DEFAULT ''"), array("ipblocks", "ipb_anon_only", "CHAR NOT NULL DEFAULT '0'"), array("ipblocks", "ipb_block_email", "CHAR NOT NULL DEFAULT '0'"), array("ipblocks", "ipb_create_account", "CHAR NOT NULL DEFAULT '1'"), @@ -1336,11 +1337,12 @@ function do_postgres_updates() { array("logging", "log_params", "TEXT"), array("mwuser", "user_editcount", "INTEGER"), array("mwuser", "user_newpass_time", "TIMESTAMPTZ"), - array("oldimage", "oi_metadata", "BYTEA NOT NULL"), - array("oldimage", "oi_media_type", "TEXT NOT NULL"), + array("oldimage", "oi_deleted", "CHAR NOT NULL DEFAULT '0'"), + array("oldimage", "oi_metadata", "BYTEA NOT NULL DEFAULT ''"), + array("oldimage", "oi_media_type", "TEXT"), array("oldimage", "oi_major_mime", "TEXT NOT NULL DEFAULT 'unknown'"), array("oldimage", "oi_minor_mime", "TEXT NOT NULL DEFAULT 'unknown'"), - array("oldimage", "oi_deleted", "CHAR NOT NULL DEFAULT '0'"), + array("oldimage", "oi_sha1", "TEXT NOT NULL DEFAULT ''"), array("page_restrictions", "pr_id", "INTEGER NOT NULL UNIQUE DEFAULT nextval('pr_id_val')"), array("recentchanges", "rc_deleted", "INTEGER NOT NULL DEFAULT 0"), array("recentchanges", "rc_log_action", "TEXT"), @@ -1369,8 +1371,10 @@ function do_postgres_updates() { ); $newindexes = array( - array("revision", "rev_text_id_idx", "patch-rev_text_id_idx.sql"), - array("archive", "usertext_timestamp", "patch-archive-user-index.sql"), + array("archive", "archive_user_text", "(ar_user_text)"), + array("image", "img_sha1", "(img_sha1)"), + array("oldimage", "oi_sha1", "(oi_sha1)"), + array("revision", "rev_text_id_idx", "(rev_text_id)"), ); $newrules = array( @@ -1448,7 +1452,8 @@ function do_postgres_updates() { echo "... index $ni[1] on $ni[0] already exists\n"; continue; } - dbsource(archive($ni[2])); + $wgDatabase->query("CREATE INDEX $ni[1] ON $ni[0] $ni[2]"); + echo "create index $ni[1]\n"; } foreach ($newrules as $nr) {