Merge "Include Postgres tables and maintenance scripts for Change I23c47c2c"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sat, 2 Feb 2013 11:07:57 +0000 (11:07 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sat, 2 Feb 2013 11:07:57 +0000 (11:07 +0000)
1  2 
includes/installer/PostgresUpdater.php
maintenance/postgres/tables.sql

@@@ -90,6 -90,7 +90,7 @@@ class PostgresUpdater extends DatabaseU
                        array( 'addTable', 'uploadstash',       'patch-uploadstash.sql' ),
                        array( 'addTable', 'user_former_groups','patch-user_former_groups.sql' ),
                        array( 'addTable', 'external_user',     'patch-external_user.sql' ),
+                       array( 'addTable', 'sites',             'patch-sites.sql' ),
  
                        # Needed before new field
                        array( 'convertArchive2' ),
                        array( 'addPgField', 'uploadstash',   'us_chunk_inx',         "INTEGER NULL" ),
                        array( 'addPgField', 'job',           'job_timestamp',        "TIMESTAMPTZ" ),
                        array( 'addPgField', 'job',           'job_random',           "INTEGER NOT NULL DEFAULT 0" ),
 +                      array( 'addPgField', 'job',           'job_attempts',         "INTEGER NOT NULL DEFAULT 0" ),
                        array( 'addPgField', 'job',           'job_token',            "TEXT NOT NULL DEFAULT ''" ),
                        array( 'addPgField', 'job',           'job_token_timestamp',  "TIMESTAMPTZ" ),
                        array( 'addPgField', 'job',           'job_sha1',             "TEXT NOT NULL DEFAULT ''" ),
                        array( 'addPgIndex', 'job',           'job_timestamp_idx',      '(job_timestamp)' ),
                        array( 'addPgIndex', 'job',           'job_sha1',               '(job_sha1)' ),
                        array( 'addPgIndex', 'job',           'job_cmd_token',          '(job_cmd, job_token, job_random)' ),
 +                      array( 'addPgIndex', 'job',           'job_cmd_token_id',       '(job_cmd, job_token, job_id)' ),
                        array( 'addPgIndex', 'filearchive',   'fa_sha1',                '(fa_sha1)' ),
  
                        array( 'checkIndex', 'pagelink_unique', array(
@@@ -530,14 -530,12 +530,14 @@@ CREATE TABLE job 
    job_timestamp       TIMESTAMPTZ,
    job_params          TEXT      NOT NULL,
    job_random          INTEGER   NOT NULL DEFAULT 0,
 +  job_attempts        INTEGER   NOT NULL DEFAULT 0,
    job_token           TEXT      NOT NULL DEFAULT '',
    job_token_timestamp TIMESTAMPTZ,
    job_sha1            TEXT NOT NULL DEFAULT ''
  );
  CREATE INDEX job_sha1 ON job (job_sha1);
  CREATE INDEX job_cmd_token ON job (job_cmd, job_token, job_random);
 +CREATE INDEX job_cmd_token_id ON job (job_cmd, job_token, job_id);
  CREATE INDEX job_cmd_namespace_title ON job (job_cmd, job_namespace, job_title);
  CREATE INDEX job_timestamp_idx ON job (job_timestamp);
  
@@@ -699,3 -697,35 +699,35 @@@ CREATE TABLE module_deps 
    md_deps    TEXT  NOT NULL
  );
  CREATE UNIQUE INDEX md_module_skin ON module_deps (md_module, md_skin);
+ CREATE SEQUENCE sites_site_id_seq;
+ CREATE TABLE sites (
+   site_id           INTEGER     NOT NULL    PRIMARY KEY DEFAULT nextval('sites_site_id_seq'),
+   site_global_key   TEXT        NOT NULL,
+   site_type         TEXT        NOT NULL,
+   site_group        TEXT        NOT NULL,
+   site_source       TEXT        NOT NULL,
+   site_language     TEXT        NOT NULL,
+   site_protocol     TEXT        NOT NULL,
+   site_domain       TEXT        NOT NULL,
+   site_data         TEXT        NOT NULL,
+   site_forward      SMALLINT    NOT NULL,
+   site_config       TEXT        NOT NULL
+ );
+ CREATE UNIQUE INDEX site_global_key ON sites (site_global_key);
+ CREATE INDEX site_type ON sites (site_type);
+ CREATE INDEX site_group ON sites (site_group);
+ CREATE INDEX site_source ON sites (site_source);
+ CREATE INDEX site_language ON sites (site_language);
+ CREATE INDEX site_protocol ON sites (site_protocol);
+ CREATE INDEX site_domain ON sites (site_domain);
+ CREATE INDEX site_forward ON sites (site_forward);
+ CREATE TABLE site_identifiers (
+   si_site   INTEGER NOT NULL,
+   si_type   TEXT    NOT NULL,
+   si_key    TEXT    NOT NULL
+ );
+ CREATE UNIQUE INDEX si_type_key ON site_identifiers (si_type, si_key);
+ CREATE INDEX si_site ON site_identifiers (si_site);
+ CREATE INDEX si_key ON site_identifiers (si_key);