From e0b634333f4c19b000925195be8dcaffb2021e8c Mon Sep 17 00:00:00 2001 From: Jure Kajzer Date: Tue, 24 Jan 2012 09:48:26 +0000 Subject: [PATCH] * Oracle schema update to latest (tested with phpunit) * Fixed a message typo in DatabaseUpdater --- includes/installer/DatabaseUpdater.php | 4 ++-- includes/installer/OracleUpdater.php | 3 +++ maintenance/oracle/archives/patch-job_timestamp_field.sql | 4 ++++ maintenance/oracle/archives/patch-job_timestamp_index.sql | 4 ++++ maintenance/oracle/archives/patch-us_chunk_inx_field.sql | 4 ++++ maintenance/oracle/tables.sql | 3 +++ 6 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 maintenance/oracle/archives/patch-job_timestamp_field.sql create mode 100644 maintenance/oracle/archives/patch-job_timestamp_index.sql create mode 100644 maintenance/oracle/archives/patch-us_chunk_inx_field.sql diff --git a/includes/installer/DatabaseUpdater.php b/includes/installer/DatabaseUpdater.php index ef8228d32c..f2e36aec2b 100644 --- a/includes/installer/DatabaseUpdater.php +++ b/includes/installer/DatabaseUpdater.php @@ -465,9 +465,9 @@ abstract class DatabaseUpdater { */ protected function addIndex( $table, $index, $patch, $fullpath = false ) { if ( $this->db->indexExists( $table, $index, __METHOD__ ) ) { - $this->output( "...$index key already set on $table table.\n" ); + $this->output( "...index $index already set on $table table.\n" ); } else { - $this->output( "Adding $index key to table $table... " ); + $this->output( "Adding index $index to table $table... " ); $this->applyPatch( $patch, $fullpath ); $this->output( "done.\n" ); } diff --git a/includes/installer/OracleUpdater.php b/includes/installer/OracleUpdater.php index d94b47b315..366cd44865 100644 --- a/includes/installer/OracleUpdater.php +++ b/includes/installer/OracleUpdater.php @@ -49,6 +49,9 @@ class OracleUpdater extends DatabaseUpdater { array( 'doRemoveNotNullEmptyDefaults2' ), array( 'addIndex', 'page', 'i03', 'patch-page_redirect_namespace_len.sql' ), array( 'modifyField', 'user', 'ug_group', 'patch-ug_group-length-increase.sql' ), + array( 'addField', 'uploadstash', 'us_chunk_inx', 'patch-us_chunk_inx_field.sql' ), + array( 'addField', 'job', 'job_timestamp', 'patch-job_timestamp_field.sql' ), + array( 'addIndex', 'job', 'i02', 'patch-job_timestamp_index.sql' ), // KEEP THIS AT THE BOTTOM!! array( 'doRebuildDuplicateFunction' ), diff --git a/maintenance/oracle/archives/patch-job_timestamp_field.sql b/maintenance/oracle/archives/patch-job_timestamp_field.sql new file mode 100644 index 0000000000..4901c87ce0 --- /dev/null +++ b/maintenance/oracle/archives/patch-job_timestamp_field.sql @@ -0,0 +1,4 @@ +define mw_prefix='{$wgDBprefix}'; + +ALTER TABLE &mw_prefix.job ADD job_timestamp TIMESTAMP(6) WITH TIME ZONE NULL; + diff --git a/maintenance/oracle/archives/patch-job_timestamp_index.sql b/maintenance/oracle/archives/patch-job_timestamp_index.sql new file mode 100644 index 0000000000..6db4304616 --- /dev/null +++ b/maintenance/oracle/archives/patch-job_timestamp_index.sql @@ -0,0 +1,4 @@ +define mw_prefix='{$wgDBprefix}'; + +CREATE INDEX &mw_prefix.job_i02 ON &mw_prefix.job (job_timestamp); + diff --git a/maintenance/oracle/archives/patch-us_chunk_inx_field.sql b/maintenance/oracle/archives/patch-us_chunk_inx_field.sql new file mode 100644 index 0000000000..43ee16ec64 --- /dev/null +++ b/maintenance/oracle/archives/patch-us_chunk_inx_field.sql @@ -0,0 +1,4 @@ +define mw_prefix='{$wgDBprefix}'; + +ALTER TABLE &mw_prefix.uploadstash ADD us_chunk_inx NUMBER; + diff --git a/maintenance/oracle/tables.sql b/maintenance/oracle/tables.sql index cf5bf3cfa3..9f875aed50 100644 --- a/maintenance/oracle/tables.sql +++ b/maintenance/oracle/tables.sql @@ -375,6 +375,7 @@ CREATE TABLE &mw_prefix.uploadstash ( us_source_type VARCHAR2(50), us_timestamp TIMESTAMP(6) WITH TIME ZONE, us_status VARCHAR2(50) NOT NULL, + us_chunk_inx NUMBER, us_size NUMBER NOT NULL, us_sha1 VARCHAR2(32) NOT NULL, us_mime VARCHAR2(255), @@ -518,10 +519,12 @@ CREATE TABLE &mw_prefix.job ( job_cmd VARCHAR2(60) NOT NULL, job_namespace NUMBER DEFAULT 0 NOT NULL, job_title VARCHAR2(255) NOT NULL, + job_timestamp TIMESTAMP(6) WITH TIME ZONE NULL, job_params CLOB NOT NULL ); ALTER TABLE &mw_prefix.job ADD CONSTRAINT &mw_prefix.job_pk PRIMARY KEY (job_id); CREATE INDEX &mw_prefix.job_i01 ON &mw_prefix.job (job_cmd, job_namespace, job_title); +CREATE INDEX &mw_prefix.job_i02 ON &mw_prefix.job (job_timestamp); CREATE TABLE &mw_prefix.querycache_info ( qci_type VARCHAR2(32) NOT NULL, -- 2.20.1