--- /dev/null
+--
+-- 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;
--- /dev/null
+--
+-- 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);
+
--- /dev/null
+--
+-- 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);
+++ /dev/null
---
--- 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);
-
+++ /dev/null
---
--- 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);
+++ /dev/null
---
--- 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;
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";
}