testsuite.sql 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. -- Database: testsuite
  2. -- DROP DATABASE IF EXISTS testsuite;
  3. CREATE DATABASE testsuite
  4. WITH
  5. OWNER = fpc
  6. ENCODING = 'UTF8'
  7. LC_COLLATE = 'en_GB.UTF-8'
  8. LC_CTYPE = 'en_GB.UTF-8'
  9. TABLESPACE = pg_default
  10. template = 'template0'
  11. CONNECTION LIMIT = -1
  12. IS_TEMPLATE = False;
  13. \c testsuite
  14. CREATE SEQUENCE SEQ_TESTCATEGORY as INT start with 1;
  15. CREATE TABLE TESTCATEGORY (
  16. TA_ID INT NOT NULL DEFAULT nextval('SEQ_TESTCATEGORY'),
  17. TA_NAME VARCHAR(20),
  18. constraint PK_TESTCATEGORY PRIMARY KEY (TA_ID)
  19. );
  20. CREATE UNIQUE INDEX UDX_TESTCATEGORYNAME ON TESTCATEGORY(TA_NAME);
  21. CREATE SEQUENCE SEQ_TESTCPU as INT start with 1;
  22. CREATE TABLE TESTCPU (
  23. TC_ID INT NOT NULL DEFAULT nextval('SEQ_TESTCPU'),
  24. TC_NAME varchar(20),
  25. constraint PK_TESTCPU PRIMARY KEY (TC_ID)
  26. );
  27. CREATE UNIQUE INDEX UDX_TESTCPU ON TESTCPU(TC_NAME);
  28. CREATE SEQUENCE SEQ_TESTOS as INT start with 1;
  29. CREATE TABLE TESTOS (
  30. TO_ID INT DEFAULT nextval('SEQ_TESTOS'),
  31. TO_NAME varchar(20),
  32. constraint PK_TESTOS PRIMARY KEY (TO_ID)
  33. );
  34. CREATE UNIQUE INDEX UDX_TESTOS ON TESTOS(TO_NAME);
  35. CREATE SEQUENCE SEQ_TESTVERSION as INT start with 1;
  36. CREATE TABLE TESTVERSION (
  37. TV_ID int NOT NULL default nextval('SEQ_TESTVERSION'),
  38. TV_VERSION varchar(10),
  39. TV_RELEASEDATE date DEFAULT CURRENT_TIMESTAMP,
  40. constraint PK_TESTVERSION PRIMARY KEY (TV_ID)
  41. );
  42. CREATE UNIQUE INDEX UDX_TESTVERSION ON TESTVERSION(TV_VERSION);
  43. CREATE SEQUENCE SEQ_TESTS as INT start with 1;
  44. CREATE TABLE TESTS (
  45. T_ID int NOT NULL default nextval('SEQ_TESTS'),
  46. T_NAME varchar(127),
  47. T_CPU varchar(127),
  48. T_OS varchar(127),
  49. T_VERSION varchar(10),
  50. T_ADDDATE date NOT NULL,
  51. T_GRAPH boolean NOT NULL default 'f',
  52. T_INTERACTIVE boolean NOT NULL default 'f',
  53. T_RESULT int NOT NULL default '0',
  54. T_FAIL boolean NOT NULL default 'f',
  55. T_RECOMPILE boolean NOT NULL default 'f',
  56. T_NORUN boolean NOT NULL default 'f',
  57. T_NEEDLIBRARY boolean NOT NULL default 'f',
  58. T_KNOWNRUNERROR INT NOT NULL default 0,
  59. T_KNOWN boolean NOT NULL default 'f',
  60. T_NOTE varchar(255) default NULL,
  61. T_DESCRIPTION text,
  62. T_SOURCE text,
  63. T_OPTS varchar(255) default '',
  64. T_DELOPTS varchar(255) default '',
  65. T_SKIPCPU VARCHAR(64) default '',
  66. T_SKIPEMU VARCHAR(64) default '',
  67. T_NEEDTARGET VARCHAR(64) default '',
  68. T_SKIPTARGET VARCHAR(64) default '',
  69. T_MAXVERSION VARCHAR(16) default '',
  70. T_KNOWNRUNNOTE VARCHAR(127) default '',
  71. T_KNOWNCOMPILENOTE VARCHAR(127) default '',
  72. T_RECOMPILEOPT VARCHAR(127) default '',
  73. T_KNOWNCOMPILEERROR INT DEFAULT 0,
  74. T_NEEDEDAFTER boolean default 'f',
  75. T_ISKNOWNRUNERROR Boolean default 'f',
  76. T_Timeout INT DEFAULT 0,
  77. T_CATEGORY VARCHAR(127) default '',
  78. T_FILES VARCHAR(127) default '',
  79. T_CONFIGFILESRC VARCHAR(127) default '',
  80. T_CONFIGFILEDST VARCHAR(127) default '',
  81. T_WPOPARAS VARCHAR(127) default '',
  82. T_WPOPASSES INT DEFAULT 0,
  83. T_DELFILES VARCHAR(127) default '',
  84. T_EXPECTMSGS VARCHAR(127) default '',
  85. constraint PK_TESTS PRIMARY KEY (T_ID)
  86. );
  87. CREATE UNIQUE INDEX UDX_TESTS ON TESTS(T_NAME);
  88. CREATE SEQUENCE SEQ_TESTPLATFORM as INT start with 1;
  89. CREATE TABLE TESTPLATFORM (
  90. TP_ID INT NOT NULL default nextval('SEQ_TESTPLATFORM'),
  91. TP_CPU_FK INT NOT NULL,
  92. TP_OS_FK INT NOT NULL,
  93. TP_VERSION_FK INT NOT NULL,
  94. TP_CATEGORY_FK int NOT NULL,
  95. TP_CONFIG VARCHAR(255) NOT NULL,
  96. TP_MACHINE VARCHAR(64) NOT NULL,
  97. constraint PK_TESTPLATFORM PRIMARY KEY (TP_ID)
  98. );
  99. CREATE UNIQUE INDEX UDX_TESTPLATFORM ON TESTPLATFORM(TP_CPU_FK,TP_OS_FK,TP_VERSION_FK,TP_CATEGORY_FK,TP_CONFIG,TP_MACHINE);
  100. CREATE INDEX IDX_TESTPLATFORMRELATIONS ON TESTPLATFORM(TP_CPU_FK,TP_OS_FK,TP_VERSION_FK,TP_CATEGORY_FK);
  101. CREATE SEQUENCE SEQ_TESTRUN as BIGINT start with 1;
  102. CREATE TABLE TESTRUN (
  103. TU_ID bigint NOT NULL default nextval('SEQ_TESTRUN'),
  104. TU_DATE DATE NOT NULL default CURRENT_DATE,
  105. TU_PLATFORM_FK int NOT NULL,
  106. TU_COMPILERDATE VARCHAR(15),
  107. TU_COMPILERFULLVERSION VARCHAR(50),
  108. TU_COMPILERREVISION VARCHAR(50),
  109. TU_TESTSREVISION VARCHAR(50),
  110. TU_RTLREVISION VARCHAR(50),
  111. TU_PACKAGESREVISION VARCHAR(50),
  112. TU_SUBMITTER varchar(128) NOT NULL default '',
  113. TU_FAILEDTOCOMPILE int NOT NULL default 0,
  114. TU_SUCCESSFULLYFAILED int NOT NULL default 0,
  115. TU_FAILEDTOFAIL int NOT NULL default 0,
  116. TU_SUCCESFULLYCOMPILED int NOT NULL default 0,
  117. TU_FAILEDTORUN int NOT NULL default 0,
  118. TU_KNOWNPROBLEM int NOT NULL default 0,
  119. TU_SUCCESSFULLYRUN int NOT NULL default 0,
  120. TU_SKIPPEDGRAPHTEST int NOT NULL default 0,
  121. TU_SKIPPEDINTERACTIVETEST int NOT NULL default 0,
  122. TU_KNOWNBUG int NOT NULL default 0,
  123. TU_COMPILERVERIONTOOLOW int NOT NULL default 0,
  124. TU_COMPILERVERIONTOOHIGH int NOT NULL default 0,
  125. TU_OTHERCPU int NOT NULL default 0,
  126. TU_OTHERTARGET int NOT NULL default 0,
  127. TU_UNIT int NOT NULL default 0,
  128. TU_SKIPPINGRUNTEST int NOT NULL default 0,
  129. CONSTRAINT PK_TESTRUN PRIMARY KEY (TU_ID)
  130. );
  131. CREATE UNIQUE INDEX UDX_TESTRUN ON TESTRUN(TU_DATE,TU_PLATFORM_FK);
  132. CREATE INDEX IDX_TESTRUNPLATFORM ON TESTRUN(TU_PLATFORM_FK,TU_DATE);
  133. CREATE SEQUENCE SEQ_TESTRESULTS as BIGINT start with 1;
  134. CREATE TABLE TESTRESULTS (
  135. TR_ID bigint NOT NULL default nextval('SEQ_TESTRESULTS'),
  136. TR_TESTRUN_FK bigint NOT NULL default 0,
  137. TR_TEST_FK int not NULL,
  138. TR_OK Boolean NOT NULL default 'f',
  139. TR_SKIP boolean NOT NULL default 'f',
  140. TR_RESULT int NOT NULL default 0,
  141. TR_LOG text,
  142. constraint PK_TESTRESULTS PRIMARY KEY (TR_ID)
  143. );
  144. CREATE UNIQUE INDEX UDX_TESTRESULTS ON TESTRESULTS (TR_TESTRUN_FK,TR_TEST_FK);
  145. CREATE TABLE TESTLASTRESULTS (
  146. TL_TEST_FK int not NULL,
  147. TL_PLATFORM_FK int not NULL,
  148. TL_TESTRESULTS_FK bigint NOT NULL
  149. );
  150. CREATE UNIQUE INDEX UDX_TESTLASTRESULTS ON TESTLASTRESULTS(TL_PLATFORM_FK,TL_TEST_FK);
  151. CREATE TABLE TESTPREVIOUSRESULTS (
  152. TPR_TEST_FK int not NULL,
  153. TPR_PLATFORM_FK int not NULL,
  154. TPR_TESTRESULTS_FK bigint NOT NULL
  155. );
  156. CREATE UNIQUE INDEX UDX_TESTPREVIOUSRESULTS ON TESTPREVIOUSRESULTS(TPR_PLATFORM_FK,TPR_TEST_FK);
  157. CREATE TABLE TESTRUNHISTORY (
  158. TH_ID_FK BIGINT,
  159. TH_PREVIOUS_FK BIGINT,
  160. CONSTRAINT PK_TESTRUNHISTORY PRIMARY KEY (TH_ID_FK)
  161. );
  162. CREATE INDEX IDX_PREVIOUS ON TESTRUNHISTORY(TH_PREVIOUS_FK);
  163. create sequence seqCheckAll;
  164. create table CHECKALLRTL (
  165. CA_ID BIGINT NOT NULL default nextval('seqCheckAll'),
  166. CA_PLATFORM_FK INT NOT NULL,
  167. CA_DATE DATE NOT NULL DEFAULT CURRENT_DATE,
  168. CA_STEP1 BOOLEAN NOT NULL DEFAULT 't',
  169. CA_STEP2 BOOLEAN NOT NULL DEFAULT 't',
  170. CA_STEP3 BOOLEAN NOT NULL DEFAULT 't',
  171. CA_STEP4 BOOLEAN NOT NULL DEFAULT 't',
  172. CA_STEP5 BOOLEAN NOT NULL DEFAULT 't',
  173. CA_STEP6 BOOLEAN NOT NULL DEFAULT 't',
  174. CONSTRAINT PK_CHECKALLRTL PRIMARY KEY (CA_ID)
  175. );
  176. create sequence seqCheckAllLog;
  177. create table CHECKALLRTLLOG (
  178. CAL_ID BIGINT NOT NULL default nextval('seqCheckAllLog'),
  179. CAL_CHECKALLRTL_FK BIGINT NOT NULL,
  180. CAL_STEP SMALLINT NOT NULL,
  181. CAL_LOG text,
  182. CONSTRAINT PK_PK_CHECKALLRTLLOG PRIMARY KEY (CAL_ID)
  183. );
  184. CREATE UNIQUE INDEX UDX_CHECKALLRTLLOG ON CHECKALLRTLLOG(CAL_CHECKALLRTL_FK,CAL_STEP);
  185. -- Create relations
  186. ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_os FOREIGN KEY (tp_os_fk) REFERENCES testos (to_id);
  187. ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_cpu FOREIGN KEY (tp_cpu_fk) REFERENCES testcpu (tc_id);
  188. ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_version FOREIGN KEY (tp_version_fk) REFERENCES testversion (tv_id);
  189. ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_category FOREIGN KEY (tp_category_fk) REFERENCES testcategory (ta_id);
  190. ALTER TABLE testrun ADD CONSTRAINT fk_run_platform FOREIGN KEY (tu_platform_fk) REFERENCES testplatform (tp_id);
  191. ALTER TABLE testresults ADD CONSTRAINT fk_results_run FOREIGN KEY (tr_testrun_fk) REFERENCES testrun (tu_id);
  192. ALTER TABLE testresults ADD CONSTRAINT fk_results_test FOREIGN KEY (tr_test_fk) REFERENCES tests (t_id);
  193. ALTER TABLE CHECKALLRTL ADD CONSTRAINT CHECKALLRTL_PLATFORM_FK FOREIGN KEY (CA_PLATFORM_FK) references testplatform (TP_ID);
  194. ALTER TABLE CHECKALLRTLLOG ADD CONSTRAINT CHECKALLRTLLOG_CHECKALLRTL_FK FOREIGN KEY (CAL_CHECKALLRTL_FK) REFERENCES CHECKALLRTL (CA_ID);
  195. -- Insert default data
  196. INSERT INTO TESTCATEGORY VALUES (1, 'Compiler/RTL');
  197. INSERT INTO TESTCATEGORY VALUES (2, 'DB');
  198. ALTER SEQUENCE SEQ_TESTCATEGORY RESTART WITH 3;
  199. INSERT INTO TESTCPU VALUES (1, 'i386');
  200. INSERT INTO TESTCPU VALUES (6, 'arm');
  201. INSERT INTO TESTCPU VALUES (3, 'm68k');
  202. INSERT INTO TESTCPU VALUES (4, 'sparc');
  203. INSERT INTO TESTCPU VALUES (5, 'powerpc');
  204. INSERT INTO TESTCPU VALUES (7, 'x86_64');
  205. INSERT INTO TESTCPU VALUES (8, 'All');
  206. INSERT INTO TESTCPU VALUES (9, 'powerpc64');
  207. INSERT INTO TESTCPU VALUES (10, 'wasm32');
  208. INSERT INTO TESTCPU VALUES (11, 'longsoon');
  209. INSERT INTO TESTCPU VALUES (12, 'longsoon64');
  210. INSERT INTO TESTCPU VALUES (13, 'mips');
  211. INSERT INTO TESTCPU VALUES (14, 'mips64');
  212. INSERT INTO TESTCPU VALUES (15, 'avr');
  213. INSERT INTO TESTCPU VALUES (16, 'xtensa');
  214. ALTER SEQUENCE SEQ_TESTCPU RESTART WITH 17;
  215. INSERT INTO TESTOS VALUES (1, 'linux');
  216. INSERT INTO TESTOS VALUES (2, 'win32');
  217. INSERT INTO TESTOS VALUES (3, 'go32v2');
  218. INSERT INTO TESTOS VALUES (4, 'os2');
  219. INSERT INTO TESTOS VALUES (5, 'freebsd');
  220. INSERT INTO TESTOS VALUES (6, 'netbsd');
  221. INSERT INTO TESTOS VALUES (7, 'openbsd');
  222. INSERT INTO TESTOS VALUES (8, 'amiga');
  223. INSERT INTO TESTOS VALUES (9, 'atari');
  224. INSERT INTO TESTOS VALUES (10, 'qnx');
  225. INSERT INTO TESTOS VALUES (11, 'beos');
  226. INSERT INTO TESTOS VALUES (12, 'solaris');
  227. INSERT INTO TESTOS VALUES (13, 'darwin');
  228. INSERT INTO TESTOS VALUES (14, 'macos');
  229. INSERT INTO TESTOS VALUES (15, 'All');
  230. INSERT INTO TESTOS VALUES (16, 'win64');
  231. INSERT INTO TESTOS VALUES (17, 'wince');
  232. INSERT INTO TESTOS VALUES (18, 'wasi');
  233. ALTER SEQUENCE SEQ_TESTOS RESTART WITH 19;
  234. INSERT INTO TESTVERSION VALUES (1, '2.0.4', '2006-08-22 22:38:20');
  235. INSERT INTO TESTVERSION VALUES (2, '2.0.5', '2006-08-22 22:38:20');
  236. INSERT INTO TESTVERSION VALUES (3, '2.3.1', '2007-03-04 23:40:07');
  237. INSERT INTO TESTVERSION VALUES (4, '2.1.2', '2007-03-19 10:49:30');
  238. INSERT INTO TESTVERSION VALUES (5, '2.1.3', '2007-03-19 10:49:47');
  239. INSERT INTO TESTVERSION VALUES (6, '2.1.4', '2007-03-19 10:50:03');
  240. INSERT INTO TESTVERSION VALUES (7, '3.2.2', '2020-04-01 10:50:03');
  241. INSERT INTO TESTVERSION VALUES (8, '3.3.1', '2020-04-01 10:50:03');
  242. ALTER SEQUENCE SEQ_TESTVERSION RESTART WITH 9;