Add the "page" table back in when upgrading from really old MW versions using Postgres
authorGreg Sabino Mullane <greg@users.mediawiki.org>
Mon, 13 Sep 2010 14:26:38 +0000 (14:26 +0000)
committerGreg Sabino Mullane <greg@users.mediawiki.org>
Mon, 13 Sep 2010 14:26:38 +0000 (14:26 +0000)
includes/installer/PostgresUpdater.php
maintenance/postgres/archives/patch-page.sql [new file with mode: 0644]

index ce2dc51..7066cae 100644 (file)
@@ -40,6 +40,7 @@ class PostgresUpdater extends DatabaseUpdater {
                        # new tables
                        array( 'addTable', 'category',          'patch-category.sql' ),
                        array( 'addTable', 'mwuser',            'patch-mwuser.sql' ),
+                       array( 'addTable', 'page',              'patch-page.sql' ),
                        array( 'addTable', 'pagecontent',       'patch-pagecontent.sql' ),
                        array( 'addTable', 'querycachetwo',     'patch-querycachetwo.sql' ),
                        array( 'addTable', 'page_props',        'patch-page_props.sql' ),
diff --git a/maintenance/postgres/archives/patch-page.sql b/maintenance/postgres/archives/patch-page.sql
new file mode 100644 (file)
index 0000000..cceef89
--- /dev/null
@@ -0,0 +1,24 @@
+CREATE SEQUENCE page_page_id_seq;
+CREATE TABLE page (
+  page_id            INTEGER        NOT NULL  PRIMARY KEY DEFAULT nextval('page_page_id_seq'),
+  page_namespace     SMALLINT       NOT NULL,
+  page_title         TEXT           NOT NULL,
+  page_restrictions  TEXT,
+  page_counter       BIGINT         NOT NULL  DEFAULT 0,
+  page_is_redirect   SMALLINT       NOT NULL  DEFAULT 0,
+  page_is_new        SMALLINT       NOT NULL  DEFAULT 0,
+  page_random        NUMERIC(15,14) NOT NULL  DEFAULT RANDOM(),
+  page_touched       TIMESTAMPTZ,
+  page_latest        INTEGER        NOT NULL,
+  page_len           INTEGER        NOT NULL
+);
+CREATE UNIQUE INDEX page_unique_name ON page (page_namespace, page_title);
+CREATE INDEX page_main_title         ON page (page_title) WHERE page_namespace = 0;
+CREATE INDEX page_talk_title         ON page (page_title) WHERE page_namespace = 1;
+CREATE INDEX page_user_title         ON page (page_title) WHERE page_namespace = 2;
+CREATE INDEX page_utalk_title        ON page (page_title) WHERE page_namespace = 3;
+CREATE INDEX page_project_title      ON page (page_title) WHERE page_namespace = 4;
+CREATE INDEX page_mediawiki_title    ON page (page_title) WHERE page_namespace = 8;
+CREATE INDEX page_random_idx         ON page (page_random);
+CREATE INDEX page_len_idx            ON page (page_len);
+