http://www.mediawiki.org/wiki/Special:Code/MediaWiki/76397

Revision: 76397
Author:   ialex
Date:     2010-11-09 17:41:00 +0000 (Tue, 09 Nov 2010)
Log Message:
-----------
Moved testRunner[|.ora|.postgres].sql to [|oracle/|postgres/]archives/ so that 
they can be called through DatabaseBase::patchPath(), much simplier 

Modified Paths:
--------------
    trunk/phase3/maintenance/tests/testHelpers.inc

Added Paths:
-----------
    trunk/phase3/maintenance/archives/patch-testrun.sql
    trunk/phase3/maintenance/oracle/archives/patch-testrun.sql
    trunk/phase3/maintenance/postgres/archives/patch-testrun.sql

Removed Paths:
-------------
    trunk/phase3/maintenance/testRunner.ora.sql
    trunk/phase3/maintenance/testRunner.postgres.sql
    trunk/phase3/maintenance/testRunner.sql

Copied: trunk/phase3/maintenance/archives/patch-testrun.sql (from rev 76383, 
trunk/phase3/maintenance/testRunner.sql)
===================================================================
--- trunk/phase3/maintenance/archives/patch-testrun.sql                         
(rev 0)
+++ trunk/phase3/maintenance/archives/patch-testrun.sql 2010-11-09 17:41:00 UTC 
(rev 76397)
@@ -0,0 +1,35 @@
+--
+-- Optional tables for parserTests recording mode
+-- With --record option, success data will be saved to these tables,
+-- and comparisons of what's changed from the previous run will be
+-- displayed at the end of each run.
+--
+-- These tables currently require MySQL 5 (or maybe 4.1?) for subselects.
+--
+
+drop table if exists /*$wgDBprefix*/testitem;
+drop table if exists /*$wgDBprefix*/testrun;
+
+create table /*$wgDBprefix*/testrun (
+  tr_id int not null auto_increment,
+  
+  tr_date char(14) binary,
+  tr_mw_version blob,
+  tr_php_version blob,
+  tr_db_version blob,
+  tr_uname blob,
+  
+  primary key (tr_id)
+) engine=InnoDB;
+
+create table /*$wgDBprefix*/testitem (
+  ti_run int not null,
+  ti_name varchar(255),
+  ti_success bool,
+  
+  unique key (ti_run, ti_name),
+  key (ti_run, ti_success),
+  
+  foreign key (ti_run) references /*$wgDBprefix*/testrun(tr_id)
+    on delete cascade
+) engine=InnoDB;

Copied: trunk/phase3/maintenance/oracle/archives/patch-testrun.sql (from rev 
76383, trunk/phase3/maintenance/testRunner.ora.sql)
===================================================================
--- trunk/phase3/maintenance/oracle/archives/patch-testrun.sql                  
        (rev 0)
+++ trunk/phase3/maintenance/oracle/archives/patch-testrun.sql  2010-11-09 
17:41:00 UTC (rev 76397)
@@ -0,0 +1,37 @@
+--
+-- Optional tables for parserTests recording mode
+-- With --record option, success data will be saved to these tables,
+-- and comparisons of what's changed from the previous run will be
+-- displayed at the end of each run.
+--
+-- defines must comply with ^define\s*([^\s=]*)\s*=\s?'\{\$([^\}]*)\}';
+define mw_prefix='{$wgDBprefix}';
+
+DROP TABLE &mw_prefix.testitem CASCADE CONSTRAINTS;
+DROP TABLE &mw_prefix.testrun CASCADE CONSTRAINTS;
+
+CREATE SEQUENCE testrun_tr_id_seq;
+CREATE TABLE &mw_prefix.testrun (
+  tr_id NUMBER NOT NULL,
+  tr_date DATE,
+  tr_mw_version BLOB,
+  tr_php_version BLOB,
+  tr_db_version BLOB,
+  tr_uname BLOB,
+);
+ALTER TABLE &mw_prefix.testrun ADD CONSTRAINT &mw_prefix.testrun_pk PRIMARY 
KEY (tr_id);
+CREATE OR REPLACE TRIGGER &mw_prefix.testrun_bir
+BEFORE UPDATE FOR EACH ROW
+ON &mw_prefix.testrun
+BEGIN
+  SELECT testrun_tr_id_seq.NEXTVAL into :NEW.tr_id FROM dual;
+END; 
+
+CREATE TABLE /*$wgDBprefix*/testitem (
+  ti_run NUMBER NOT NULL REFERENCES &mw_prefix.testrun (tr_id) ON DELETE 
CASCADE,
+  ti_name VARCHAR22(255),
+  ti_success NUMBER(1)
+);
+CREATE UNIQUE INDEX &mw_prefix.testitem_u01 ON &mw_prefix.testitem (ti_run, 
ti_name);
+CREATE UNIQUE INDEX &mw_prefix.testitem_u01 ON &mw_prefix.testitem (ti_run, 
ti_success);
+

Copied: trunk/phase3/maintenance/postgres/archives/patch-testrun.sql (from rev 
76383, trunk/phase3/maintenance/testRunner.postgres.sql)
===================================================================
--- trunk/phase3/maintenance/postgres/archives/patch-testrun.sql                
                (rev 0)
+++ trunk/phase3/maintenance/postgres/archives/patch-testrun.sql        
2010-11-09 17:41:00 UTC (rev 76397)
@@ -0,0 +1,30 @@
+--
+-- Optional tables for parserTests recording mode
+-- With --record option, success data will be saved to these tables,
+-- and comparisons of what's changed from the previous run will be
+-- displayed at the end of each run.
+--
+-- This file is for the Postgres version of the tables
+--
+
+-- Note: "if exists" will not work on older versions of Postgres
+DROP TABLE IF EXISTS testitem;
+DROP TABLE IF EXISTS testrun;
+DROP SEQUENCE IF EXISTS testrun_id_seq;
+
+CREATE SEQUENCE testrun_id_seq;
+CREATE TABLE testrun (
+  tr_id           INTEGER PRIMARY KEY NOT NULL DEFAULT 
nextval('testrun_id_seq'),
+  tr_date         TIMESTAMPTZ,
+  tr_mw_version   TEXT,
+  tr_php_version  TEXT,
+  tr_db_version   TEXT,
+  tr_uname        TEXT
+);
+
+CREATE TABLE testitem (
+  ti_run      INTEGER   NOT NULL REFERENCES testrun(tr_id) ON DELETE CASCADE,
+  ti_name     TEXT      NOT NULL,
+  ti_success  SMALLINT  NOT NULL
+);  
+CREATE UNIQUE INDEX testitem_uniq ON testitem(ti_run, ti_name);

Deleted: trunk/phase3/maintenance/testRunner.ora.sql
===================================================================
--- trunk/phase3/maintenance/testRunner.ora.sql 2010-11-09 17:10:01 UTC (rev 
76396)
+++ trunk/phase3/maintenance/testRunner.ora.sql 2010-11-09 17:41:00 UTC (rev 
76397)
@@ -1,37 +0,0 @@
---
--- Optional tables for parserTests recording mode
--- With --record option, success data will be saved to these tables,
--- and comparisons of what's changed from the previous run will be
--- displayed at the end of each run.
---
--- defines must comply with ^define\s*([^\s=]*)\s*=\s?'\{\$([^\}]*)\}';
-define mw_prefix='{$wgDBprefix}';
-
-DROP TABLE &mw_prefix.testitem CASCADE CONSTRAINTS;
-DROP TABLE &mw_prefix.testrun CASCADE CONSTRAINTS;
-
-CREATE SEQUENCE testrun_tr_id_seq;
-CREATE TABLE &mw_prefix.testrun (
-  tr_id NUMBER NOT NULL,
-  tr_date DATE,
-  tr_mw_version BLOB,
-  tr_php_version BLOB,
-  tr_db_version BLOB,
-  tr_uname BLOB,
-);
-ALTER TABLE &mw_prefix.testrun ADD CONSTRAINT &mw_prefix.testrun_pk PRIMARY 
KEY (tr_id);
-CREATE OR REPLACE TRIGGER &mw_prefix.testrun_bir
-BEFORE UPDATE FOR EACH ROW
-ON &mw_prefix.testrun
-BEGIN
-  SELECT testrun_tr_id_seq.NEXTVAL into :NEW.tr_id FROM dual;
-END; 
-
-CREATE TABLE /*$wgDBprefix*/testitem (
-  ti_run NUMBER NOT NULL REFERENCES &mw_prefix.testrun (tr_id) ON DELETE 
CASCADE,
-  ti_name VARCHAR22(255),
-  ti_success NUMBER(1)
-);
-CREATE UNIQUE INDEX &mw_prefix.testitem_u01 ON &mw_prefix.testitem (ti_run, 
ti_name);
-CREATE UNIQUE INDEX &mw_prefix.testitem_u01 ON &mw_prefix.testitem (ti_run, 
ti_success);
-

Deleted: trunk/phase3/maintenance/testRunner.postgres.sql
===================================================================
--- trunk/phase3/maintenance/testRunner.postgres.sql    2010-11-09 17:10:01 UTC 
(rev 76396)
+++ trunk/phase3/maintenance/testRunner.postgres.sql    2010-11-09 17:41:00 UTC 
(rev 76397)
@@ -1,30 +0,0 @@
---
--- Optional tables for parserTests recording mode
--- With --record option, success data will be saved to these tables,
--- and comparisons of what's changed from the previous run will be
--- displayed at the end of each run.
---
--- This file is for the Postgres version of the tables
---
-
--- Note: "if exists" will not work on older versions of Postgres
-DROP TABLE IF EXISTS testitem;
-DROP TABLE IF EXISTS testrun;
-DROP SEQUENCE IF EXISTS testrun_id_seq;
-
-CREATE SEQUENCE testrun_id_seq;
-CREATE TABLE testrun (
-  tr_id           INTEGER PRIMARY KEY NOT NULL DEFAULT 
nextval('testrun_id_seq'),
-  tr_date         TIMESTAMPTZ,
-  tr_mw_version   TEXT,
-  tr_php_version  TEXT,
-  tr_db_version   TEXT,
-  tr_uname        TEXT
-);
-
-CREATE TABLE testitem (
-  ti_run      INTEGER   NOT NULL REFERENCES testrun(tr_id) ON DELETE CASCADE,
-  ti_name     TEXT      NOT NULL,
-  ti_success  SMALLINT  NOT NULL
-);  
-CREATE UNIQUE INDEX testitem_uniq ON testitem(ti_run, ti_name);

Deleted: trunk/phase3/maintenance/testRunner.sql
===================================================================
--- trunk/phase3/maintenance/testRunner.sql     2010-11-09 17:10:01 UTC (rev 
76396)
+++ trunk/phase3/maintenance/testRunner.sql     2010-11-09 17:41:00 UTC (rev 
76397)
@@ -1,35 +0,0 @@
---
--- Optional tables for parserTests recording mode
--- With --record option, success data will be saved to these tables,
--- and comparisons of what's changed from the previous run will be
--- displayed at the end of each run.
---
--- These tables currently require MySQL 5 (or maybe 4.1?) for subselects.
---
-
-drop table if exists /*$wgDBprefix*/testitem;
-drop table if exists /*$wgDBprefix*/testrun;
-
-create table /*$wgDBprefix*/testrun (
-  tr_id int not null auto_increment,
-  
-  tr_date char(14) binary,
-  tr_mw_version blob,
-  tr_php_version blob,
-  tr_db_version blob,
-  tr_uname blob,
-  
-  primary key (tr_id)
-) engine=InnoDB;
-
-create table /*$wgDBprefix*/testitem (
-  ti_run int not null,
-  ti_name varchar(255),
-  ti_success bool,
-  
-  unique key (ti_run, ti_name),
-  key (ti_run, ti_success),
-  
-  foreign key (ti_run) references /*$wgDBprefix*/testrun(tr_id)
-    on delete cascade
-) engine=InnoDB;

Modified: trunk/phase3/maintenance/tests/testHelpers.inc
===================================================================
--- trunk/phase3/maintenance/tests/testHelpers.inc      2010-11-09 17:10:01 UTC 
(rev 76396)
+++ trunk/phase3/maintenance/tests/testHelpers.inc      2010-11-09 17:41:00 UTC 
(rev 76397)
@@ -309,14 +309,7 @@
                        or ! $this->db->tableExists( 'testitem' ) )
                {
                        print "WARNING> `testrun` table not found in database. 
Trying to create table.\n";
-                       if ( $wgDBtype === 'postgres' ) {
-                               $this->db->sourceFile( dirname( __FILE__ ) . 
'/testRunner.postgres.sql' );
-                       } elseif ( $wgDBtype === 'oracle' ) {
-                               $this->db->sourceFile( dirname( __FILE__ ) . 
'/testRunner.ora.sql' );
-                       } else {
-                               $this->db->sourceFile( dirname( __FILE__ ) . 
'/testRunner.sql' );
-                       }
-
+                       $this->db->sourceFile( $this->db->patchPath( 
'patch-testrun.sql' ) );
                        echo "OK, resuming.\n";
                }
 


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to