Add table page_props to Postgres schema.
authorGreg Sabino Mullane <greg@users.mediawiki.org>
Thu, 21 Feb 2008 20:04:00 +0000 (20:04 +0000)
committerGreg Sabino Mullane <greg@users.mediawiki.org>
Thu, 21 Feb 2008 20:04:00 +0000 (20:04 +0000)
maintenance/postgres/archives/patch-page_props.sql [new file with mode: 0644]
maintenance/postgres/compare_schemas.pl
maintenance/postgres/tables.sql
maintenance/updaters.inc

diff --git a/maintenance/postgres/archives/patch-page_props.sql b/maintenance/postgres/archives/patch-page_props.sql
new file mode 100644 (file)
index 0000000..ab70702
--- /dev/null
@@ -0,0 +1,9 @@
+
+CREATE TABLE page_props (
+  pp_page      INTEGER  NOT NULL  REFERENCES page (page_id) ON DELETE CASCADE,
+  pp_propname  TEXT     NOT NULL,
+  pp_value     TEXT     NOT NULL
+);
+ALTER TABLE page_props ADD CONSTRAINT page_props_pk PRIMARY KEY (pp_page,pp_propname);
+CREATE INDEX page_props_propname ON page_props (pp_propname);
+
index 3842fce..821bdb7 100644 (file)
@@ -314,6 +314,8 @@ oi_minor_mime     varbinary(32)  TEXT
 oi_sha1           varbinary(32)  TEXT
 old_flags         tinyblob       TEXT
 old_text          mediumblob     TEXT
+pp_propname       varbinary(60)  TEXT
+pp_value          blob           TEXT
 page_restrictions tinyblob       TEXT # CSV string
 pf_server         varchar(30)    TEXT
 pr_level          varbinary(60)  TEXT
index 500d663..420b9be 100644 (file)
@@ -123,6 +123,13 @@ CREATE TABLE page_restrictions (
 );
 ALTER TABLE page_restrictions ADD CONSTRAINT page_restrictions_pk PRIMARY KEY (pr_page,pr_type);
 
+CREATE TABLE page_props (
+  pp_page      INTEGER  NOT NULL  REFERENCES page (page_id) ON DELETE CASCADE,
+  pp_propname  TEXT     NOT NULL,
+  pp_value     TEXT     NOT NULL
+);
+ALTER TABLE page_props ADD CONSTRAINT page_props_pk PRIMARY KEY (pp_page,pp_propname);
+CREATE INDEX page_props_propname ON page_props (pp_propname);
 
 CREATE TABLE archive (
   ar_namespace   SMALLINT     NOT NULL,
index ef55e63..86e8701 100644 (file)
@@ -1329,6 +1329,7 @@ function do_postgres_updates() {
                array("mwuser",            "patch-mwuser.sql"),
                array("pagecontent",       "patch-pagecontent.sql"),
                array("querycachetwo",     "patch-querycachetwo.sql"),
+               array("page_props",        "patch-page_props.sql"),
                array("page_restrictions", "patch-page_restrictions.sql"),
                array("profiling",         "patch-profiling.sql"),
                array("protected_titles",  "patch-protected_titles.sql"),