mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-18 15:40:49 +01:00
290 lines
10 KiB
SQL
290 lines
10 KiB
SQL
-- Database: testsuite
|
|
|
|
-- DROP DATABASE IF EXISTS testsuite;
|
|
|
|
CREATE DATABASE testsuite
|
|
WITH
|
|
OWNER = fpc
|
|
ENCODING = 'UTF8'
|
|
LC_COLLATE = 'en_GB.UTF-8'
|
|
LC_CTYPE = 'en_GB.UTF-8'
|
|
TABLESPACE = pg_default
|
|
template = 'template0'
|
|
CONNECTION LIMIT = -1
|
|
IS_TEMPLATE = False;
|
|
|
|
\c testsuite
|
|
|
|
CREATE SEQUENCE SEQ_TESTCATEGORY as INT start with 1;
|
|
|
|
CREATE TABLE TESTCATEGORY (
|
|
TA_ID INT NOT NULL DEFAULT nextval('SEQ_TESTCATEGORY'),
|
|
TA_NAME VARCHAR(20),
|
|
constraint PK_TESTCATEGORY PRIMARY KEY (TA_ID)
|
|
);
|
|
|
|
CREATE UNIQUE INDEX UDX_TESTCATEGORYNAME ON TESTCATEGORY(TA_NAME);
|
|
|
|
CREATE SEQUENCE SEQ_TESTCPU as INT start with 1;
|
|
|
|
CREATE TABLE TESTCPU (
|
|
TC_ID INT NOT NULL DEFAULT nextval('SEQ_TESTCPU'),
|
|
TC_NAME varchar(20),
|
|
constraint PK_TESTCPU PRIMARY KEY (TC_ID)
|
|
);
|
|
|
|
CREATE UNIQUE INDEX UDX_TESTCPU ON TESTCPU(TC_NAME);
|
|
|
|
CREATE SEQUENCE SEQ_TESTOS as INT start with 1;
|
|
|
|
CREATE TABLE TESTOS (
|
|
TO_ID INT DEFAULT nextval('SEQ_TESTOS'),
|
|
TO_NAME varchar(20),
|
|
constraint PK_TESTOS PRIMARY KEY (TO_ID)
|
|
);
|
|
|
|
CREATE UNIQUE INDEX UDX_TESTOS ON TESTOS(TO_NAME);
|
|
|
|
CREATE SEQUENCE SEQ_TESTVERSION as INT start with 1;
|
|
|
|
CREATE TABLE TESTVERSION (
|
|
TV_ID int NOT NULL default nextval('SEQ_TESTVERSION'),
|
|
TV_VERSION varchar(10),
|
|
TV_RELEASEDATE date DEFAULT CURRENT_TIMESTAMP,
|
|
constraint PK_TESTVERSION PRIMARY KEY (TV_ID)
|
|
);
|
|
|
|
CREATE UNIQUE INDEX UDX_TESTVERSION ON TESTVERSION(TV_VERSION);
|
|
|
|
CREATE SEQUENCE SEQ_TESTS as INT start with 1;
|
|
|
|
CREATE TABLE TESTS (
|
|
T_ID int NOT NULL default nextval('SEQ_TESTS'),
|
|
T_NAME varchar(127),
|
|
T_CPU varchar(127),
|
|
T_OS varchar(127),
|
|
T_VERSION varchar(10),
|
|
T_ADDDATE date NOT NULL,
|
|
T_GRAPH boolean NOT NULL default 'f',
|
|
T_INTERACTIVE boolean NOT NULL default 'f',
|
|
T_RESULT int NOT NULL default '0',
|
|
T_FAIL boolean NOT NULL default 'f',
|
|
T_RECOMPILE boolean NOT NULL default 'f',
|
|
T_NORUN boolean NOT NULL default 'f',
|
|
T_NEEDLIBRARY boolean NOT NULL default 'f',
|
|
T_KNOWNRUNERROR INT NOT NULL default 0,
|
|
T_KNOWN boolean NOT NULL default 'f',
|
|
T_NOTE varchar(255) default NULL,
|
|
T_DESCRIPTION text,
|
|
T_SOURCE text,
|
|
T_OPTS varchar(255) default '',
|
|
T_DELOPTS varchar(255) default '',
|
|
T_SKIPCPU VARCHAR(64) default '',
|
|
T_SKIPEMU VARCHAR(64) default '',
|
|
T_NEEDTARGET VARCHAR(64) default '',
|
|
T_SKIPTARGET VARCHAR(64) default '',
|
|
T_MAXVERSION VARCHAR(16) default '',
|
|
T_KNOWNRUNNOTE VARCHAR(127) default '',
|
|
T_KNOWNCOMPILENOTE VARCHAR(127) default '',
|
|
T_RECOMPILEOPT VARCHAR(127) default '',
|
|
T_KNOWNCOMPILEERROR INT DEFAULT 0,
|
|
T_NEEDEDAFTER boolean default 'f',
|
|
T_ISKNOWNRUNERROR Boolean default 'f',
|
|
T_Timeout INT DEFAULT 0,
|
|
T_CATEGORY VARCHAR(127) default '',
|
|
T_FILES VARCHAR(127) default '',
|
|
T_CONFIGFILESRC VARCHAR(127) default '',
|
|
T_CONFIGFILEDST VARCHAR(127) default '',
|
|
T_WPOPARAS VARCHAR(127) default '',
|
|
T_WPOPASSES INT DEFAULT 0,
|
|
T_DELFILES VARCHAR(127) default '',
|
|
T_EXPECTMSGS VARCHAR(127) default '',
|
|
constraint PK_TESTS PRIMARY KEY (T_ID)
|
|
);
|
|
|
|
CREATE UNIQUE INDEX UDX_TESTS ON TESTS(T_NAME);
|
|
|
|
CREATE SEQUENCE SEQ_TESTPLATFORM as INT start with 1;
|
|
|
|
CREATE TABLE TESTPLATFORM (
|
|
TP_ID INT NOT NULL default nextval('SEQ_TESTPLATFORM'),
|
|
TP_CPU_FK INT NOT NULL,
|
|
TP_OS_FK INT NOT NULL,
|
|
TP_VERSION_FK INT NOT NULL,
|
|
TP_CATEGORY_FK int NOT NULL,
|
|
TP_CONFIG VARCHAR(255) NOT NULL,
|
|
TP_MACHINE VARCHAR(64) NOT NULL,
|
|
constraint PK_TESTPLATFORM PRIMARY KEY (TP_ID)
|
|
);
|
|
|
|
CREATE UNIQUE INDEX UDX_TESTPLATFORM ON TESTPLATFORM(TP_CPU_FK,TP_OS_FK,TP_VERSION_FK,TP_CATEGORY_FK,TP_CONFIG,TP_MACHINE);
|
|
CREATE INDEX IDX_TESTPLATFORMRELATIONS ON TESTPLATFORM(TP_CPU_FK,TP_OS_FK,TP_VERSION_FK,TP_CATEGORY_FK);
|
|
|
|
CREATE SEQUENCE SEQ_TESTRUN as BIGINT start with 1;
|
|
|
|
CREATE TABLE TESTRUN (
|
|
TU_ID bigint NOT NULL default nextval('SEQ_TESTRUN'),
|
|
TU_DATE DATE NOT NULL default CURRENT_DATE,
|
|
TU_PLATFORM_FK int NOT NULL,
|
|
TU_COMPILERDATE VARCHAR(15),
|
|
TU_COMPILERFULLVERSION VARCHAR(50),
|
|
TU_COMPILERREVISION VARCHAR(50),
|
|
TU_TESTSREVISION VARCHAR(50),
|
|
TU_RTLREVISION VARCHAR(50),
|
|
TU_PACKAGESREVISION VARCHAR(50),
|
|
TU_SUBMITTER varchar(128) NOT NULL default '',
|
|
TU_FAILEDTOCOMPILE int NOT NULL default 0,
|
|
TU_SUCCESSFULLYFAILED int NOT NULL default 0,
|
|
TU_FAILEDTOFAIL int NOT NULL default 0,
|
|
TU_SUCCESFULLYCOMPILED int NOT NULL default 0,
|
|
TU_FAILEDTORUN int NOT NULL default 0,
|
|
TU_KNOWNPROBLEM int NOT NULL default 0,
|
|
TU_SUCCESSFULLYRUN int NOT NULL default 0,
|
|
TU_SKIPPEDGRAPHTEST int NOT NULL default 0,
|
|
TU_SKIPPEDINTERACTIVETEST int NOT NULL default 0,
|
|
TU_KNOWNBUG int NOT NULL default 0,
|
|
TU_COMPILERVERIONTOOLOW int NOT NULL default 0,
|
|
TU_COMPILERVERIONTOOHIGH int NOT NULL default 0,
|
|
TU_OTHERCPU int NOT NULL default 0,
|
|
TU_OTHERTARGET int NOT NULL default 0,
|
|
TU_UNIT int NOT NULL default 0,
|
|
TU_SKIPPINGRUNTEST int NOT NULL default 0,
|
|
CONSTRAINT PK_TESTRUN PRIMARY KEY (TU_ID)
|
|
);
|
|
|
|
CREATE UNIQUE INDEX UDX_TESTRUN ON TESTRUN(TU_DATE,TU_PLATFORM_FK);
|
|
CREATE INDEX IDX_TESTRUNPLATFORM ON TESTRUN(TU_PLATFORM_FK,TU_DATE);
|
|
|
|
CREATE SEQUENCE SEQ_TESTRESULTS as BIGINT start with 1;
|
|
|
|
CREATE TABLE TESTRESULTS (
|
|
TR_ID bigint NOT NULL default nextval('SEQ_TESTRESULTS'),
|
|
TR_TESTRUN_FK bigint NOT NULL default 0,
|
|
TR_TEST_FK int not NULL,
|
|
TR_OK Boolean NOT NULL default 'f',
|
|
TR_SKIP boolean NOT NULL default 'f',
|
|
TR_RESULT int NOT NULL default 0,
|
|
TR_LOG text,
|
|
constraint PK_TESTRESULTS PRIMARY KEY (TR_ID)
|
|
);
|
|
|
|
CREATE UNIQUE INDEX UDX_TESTRESULTS ON TESTRESULTS (TR_TESTRUN_FK,TR_TEST_FK);
|
|
|
|
CREATE TABLE TESTLASTRESULTS (
|
|
TL_TEST_FK int not NULL,
|
|
TL_PLATFORM_FK int not NULL,
|
|
TL_TESTRESULTS_FK bigint NOT NULL
|
|
);
|
|
|
|
CREATE UNIQUE INDEX UDX_TESTLASTRESULTS ON TESTLASTRESULTS(TL_PLATFORM_FK,TL_TEST_FK);
|
|
|
|
CREATE TABLE TESTPREVIOUSRESULTS (
|
|
TPR_TEST_FK int not NULL,
|
|
TPR_PLATFORM_FK int not NULL,
|
|
TPR_TESTRESULTS_FK bigint NOT NULL
|
|
);
|
|
|
|
CREATE UNIQUE INDEX UDX_TESTPREVIOUSRESULTS ON TESTPREVIOUSRESULTS(TPR_PLATFORM_FK,TPR_TEST_FK);
|
|
|
|
CREATE TABLE TESTRUNHISTORY (
|
|
TH_ID_FK BIGINT,
|
|
TH_PREVIOUS_FK BIGINT,
|
|
CONSTRAINT PK_TESTRUNHISTORY PRIMARY KEY (TH_ID_FK)
|
|
);
|
|
CREATE INDEX IDX_PREVIOUS ON TESTRUNHISTORY(TH_PREVIOUS_FK);
|
|
|
|
create sequence seqCheckAll;
|
|
|
|
create table CHECKALLRTL (
|
|
CA_ID BIGINT NOT NULL default nextval('seqCheckAll'),
|
|
CA_PLATFORM_FK INT NOT NULL,
|
|
CA_DATE DATE NOT NULL DEFAULT CURRENT_DATE,
|
|
CA_STEP1 BOOLEAN NOT NULL DEFAULT 't',
|
|
CA_STEP2 BOOLEAN NOT NULL DEFAULT 't',
|
|
CA_STEP3 BOOLEAN NOT NULL DEFAULT 't',
|
|
CA_STEP4 BOOLEAN NOT NULL DEFAULT 't',
|
|
CA_STEP5 BOOLEAN NOT NULL DEFAULT 't',
|
|
CA_STEP6 BOOLEAN NOT NULL DEFAULT 't',
|
|
CONSTRAINT PK_CHECKALLRTL PRIMARY KEY (CA_ID)
|
|
);
|
|
|
|
|
|
create sequence seqCheckAllLog;
|
|
|
|
create table CHECKALLRTLLOG (
|
|
CAL_ID BIGINT NOT NULL default nextval('seqCheckAllLog'),
|
|
CAL_CHECKALLRTL_FK BIGINT NOT NULL,
|
|
CAL_STEP SMALLINT NOT NULL,
|
|
CAL_LOG text,
|
|
CONSTRAINT PK_PK_CHECKALLRTLLOG PRIMARY KEY (CAL_ID)
|
|
);
|
|
|
|
|
|
CREATE UNIQUE INDEX UDX_CHECKALLRTLLOG ON CHECKALLRTLLOG(CAL_CHECKALLRTL_FK,CAL_STEP);
|
|
|
|
|
|
-- Create relations
|
|
|
|
ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_os FOREIGN KEY (tp_os_fk) REFERENCES testos (to_id);
|
|
ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_cpu FOREIGN KEY (tp_cpu_fk) REFERENCES testcpu (tc_id);
|
|
ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_version FOREIGN KEY (tp_version_fk) REFERENCES testversion (tv_id);
|
|
ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_category FOREIGN KEY (tp_category_fk) REFERENCES testcategory (ta_id);
|
|
ALTER TABLE testrun ADD CONSTRAINT fk_run_platform FOREIGN KEY (tu_platform_fk) REFERENCES testplatform (tp_id);
|
|
ALTER TABLE testresults ADD CONSTRAINT fk_results_run FOREIGN KEY (tr_testrun_fk) REFERENCES testrun (tu_id);
|
|
ALTER TABLE testresults ADD CONSTRAINT fk_results_test FOREIGN KEY (tr_test_fk) REFERENCES tests (t_id);
|
|
ALTER TABLE CHECKALLRTL ADD CONSTRAINT CHECKALLRTL_PLATFORM_FK FOREIGN KEY (CA_PLATFORM_FK) references testplatform (TP_ID);
|
|
ALTER TABLE CHECKALLRTLLOG ADD CONSTRAINT CHECKALLRTLLOG_CHECKALLRTL_FK FOREIGN KEY (CAL_CHECKALLRTL_FK) REFERENCES CHECKALLRTL (CA_ID);
|
|
|
|
-- Insert default data
|
|
|
|
INSERT INTO TESTCATEGORY VALUES (1, 'Compiler/RTL');
|
|
INSERT INTO TESTCATEGORY VALUES (2, 'DB');
|
|
ALTER SEQUENCE SEQ_TESTCATEGORY RESTART WITH 3;
|
|
|
|
INSERT INTO TESTCPU VALUES (1, 'i386');
|
|
INSERT INTO TESTCPU VALUES (6, 'arm');
|
|
INSERT INTO TESTCPU VALUES (3, 'm68k');
|
|
INSERT INTO TESTCPU VALUES (4, 'sparc');
|
|
INSERT INTO TESTCPU VALUES (5, 'powerpc');
|
|
INSERT INTO TESTCPU VALUES (7, 'x86_64');
|
|
INSERT INTO TESTCPU VALUES (8, 'All');
|
|
INSERT INTO TESTCPU VALUES (9, 'powerpc64');
|
|
INSERT INTO TESTCPU VALUES (10, 'wasm32');
|
|
INSERT INTO TESTCPU VALUES (11, 'longsoon');
|
|
INSERT INTO TESTCPU VALUES (12, 'longsoon64');
|
|
INSERT INTO TESTCPU VALUES (13, 'mips');
|
|
INSERT INTO TESTCPU VALUES (14, 'mips64');
|
|
INSERT INTO TESTCPU VALUES (15, 'avr');
|
|
INSERT INTO TESTCPU VALUES (16, 'xtensa');
|
|
ALTER SEQUENCE SEQ_TESTCPU RESTART WITH 17;
|
|
|
|
INSERT INTO TESTOS VALUES (1, 'linux');
|
|
INSERT INTO TESTOS VALUES (2, 'win32');
|
|
INSERT INTO TESTOS VALUES (3, 'go32v2');
|
|
INSERT INTO TESTOS VALUES (4, 'os2');
|
|
INSERT INTO TESTOS VALUES (5, 'freebsd');
|
|
INSERT INTO TESTOS VALUES (6, 'netbsd');
|
|
INSERT INTO TESTOS VALUES (7, 'openbsd');
|
|
INSERT INTO TESTOS VALUES (8, 'amiga');
|
|
INSERT INTO TESTOS VALUES (9, 'atari');
|
|
INSERT INTO TESTOS VALUES (10, 'qnx');
|
|
INSERT INTO TESTOS VALUES (11, 'beos');
|
|
INSERT INTO TESTOS VALUES (12, 'solaris');
|
|
INSERT INTO TESTOS VALUES (13, 'darwin');
|
|
INSERT INTO TESTOS VALUES (14, 'macos');
|
|
INSERT INTO TESTOS VALUES (15, 'All');
|
|
INSERT INTO TESTOS VALUES (16, 'win64');
|
|
INSERT INTO TESTOS VALUES (17, 'wince');
|
|
INSERT INTO TESTOS VALUES (18, 'wasi');
|
|
ALTER SEQUENCE SEQ_TESTOS RESTART WITH 19;
|
|
|
|
INSERT INTO TESTVERSION VALUES (1, '2.0.4', '2006-08-22 22:38:20');
|
|
INSERT INTO TESTVERSION VALUES (2, '2.0.5', '2006-08-22 22:38:20');
|
|
INSERT INTO TESTVERSION VALUES (3, '2.3.1', '2007-03-04 23:40:07');
|
|
INSERT INTO TESTVERSION VALUES (4, '2.1.2', '2007-03-19 10:49:30');
|
|
INSERT INTO TESTVERSION VALUES (5, '2.1.3', '2007-03-19 10:49:47');
|
|
INSERT INTO TESTVERSION VALUES (6, '2.1.4', '2007-03-19 10:50:03');
|
|
INSERT INTO TESTVERSION VALUES (7, '3.2.2', '2020-04-01 10:50:03');
|
|
INSERT INTO TESTVERSION VALUES (8, '3.3.1', '2020-04-01 10:50:03');
|
|
ALTER SEQUENCE SEQ_TESTVERSION RESTART WITH 9;
|