testsuite.sql 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  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(10),
  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(10),
  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 NULL,
  64. constraint PK_TESTS PRIMARY KEY (T_ID)
  65. );
  66. CREATE UNIQUE INDEX UDX_TESTS ON TESTS(T_NAME);
  67. CREATE SEQUENCE SEQ_TESTPLATFORM as INT start with 1;
  68. CREATE TABLE TESTPLATFORM (
  69. TP_ID INT NOT NULL default nextval('SEQ_TESTPLATFORM'),
  70. TP_CPU_FK INT NOT NULL,
  71. TP_OS_FK INT NOT NULL,
  72. TP_VERSION_FK INT NOT NULL,
  73. TP_CATEGORY_FK int NOT NULL,
  74. TP_CONFIG VARCHAR(255) NOT NULL,
  75. constraint PK_TESTPLATFORM PRIMARY KEY (TP_ID)
  76. );
  77. CREATE UNIQUE INDEX UDX_TESTPLATFORM ON TESTPLATFORM(TP_CPU_FK,TP_OS_FK,TP_VERSION_FK,TP_CATEGORY_FK,TP_CONFIG);
  78. CREATE INDEX IDX_TESTPLATFORMRELATIONS ON TESTPLATFORM(TP_CPU_FK,TP_OS_FK,TP_VERSION_FK,TP_CATEGORY_FK);
  79. CREATE SEQUENCE SEQ_TESTRUN as BIGINT start with 1;
  80. CREATE TABLE TESTRUN (
  81. TU_ID bigint NOT NULL default nextval('SEQ_TESTRUN'),
  82. TU_DATE DATE NOT NULL default CURRENT_DATE,
  83. TU_PLATFORM_FK int NOT NULL,
  84. TU_MACHINE VARCHAR(127) NOT NULL,
  85. TU_COMPILERDATE VARCHAR(15),
  86. TU_COMPILERFULLVERSION VARCHAR(50),
  87. TU_COMPILERREVISION VARCHAR(50),
  88. TU_TESTSREVISION VARCHAR(50),
  89. TU_RTLREVISION VARCHAR(50),
  90. TU_PACKAGESREVISION VARCHAR(50),
  91. TU_SUBMITTER varchar(128) NOT NULL default '',
  92. TU_FAILEDTOCOMPILE int NOT NULL default 0,
  93. TU_SUCCESSFULLYFAILED int NOT NULL default 0,
  94. TU_FAILEDTOFAIL int NOT NULL default 0,
  95. TU_SUCCESFULLYCOMPILED int NOT NULL default 0,
  96. TU_FAILEDTORUN int NOT NULL default 0,
  97. TU_KNOWNPROBLEM int NOT NULL default 0,
  98. TU_SUCCESSFULLYRUN int NOT NULL default 0,
  99. TU_SKIPPEDGRAPHTEST int NOT NULL default 0,
  100. TU_SKIPPEDINTERACTIVETEST int NOT NULL default 0,
  101. TU_KNOWNBUG int NOT NULL default 0,
  102. TU_COMPILERVERIONTOOLOW int NOT NULL default 0,
  103. TU_COMPILERVERIONTOOHIGH int NOT NULL default 0,
  104. TU_OTHERCPU int NOT NULL default 0,
  105. TU_OTHERTARGET int NOT NULL default 0,
  106. TU_UNIT int NOT NULL default 0,
  107. TU_SKIPPINGRUNTEST int NOT NULL default 0,
  108. CONSTRAINT PK_TESTRUN PRIMARY KEY (TU_ID)
  109. );
  110. CREATE UNIQUE INDEX UDX_TESTRUN ON TESTRUN(TU_DATE,TU_PLATFORM_FK);
  111. CREATE INDEX IDX_TESTRUNPLATFORM ON TESTRUN(TU_PLATFORM_FK,TU_DATE);
  112. CREATE SEQUENCE SEQ_TESTRESULTS as BIGINT start with 1;
  113. CREATE TABLE TESTRESULTS (
  114. TR_ID bigint NOT NULL default nextval('SEQ_TESTRESULTS'),
  115. TR_TESTRUN_FK bigint NOT NULL default 0,
  116. TR_TEST_FK int not NULL,
  117. TR_OK Boolean NOT NULL default 'f',
  118. TR_SKIP boolean NOT NULL default 'f',
  119. TR_RESULT int NOT NULL default 0,
  120. TR_LOG text,
  121. constraint PK_TESTRESULTS PRIMARY KEY (TR_ID)
  122. );
  123. CREATE UNIQUE INDEX UDX_TESTRESULTS ON TESTRESULTS (TR_TESTRUN_FK,TR_TEST_FK);
  124. CREATE TABLE TESTLASTRESULTS (
  125. TL_TEST_FK int not NULL,
  126. TL_PLATFORM_FK int not NULL,
  127. TL_TESTRESULTS_FK bigint NOT NULL
  128. );
  129. CREATE UNIQUE INDEX UDX_TESTLASTRESULTS ON TESTLASTRESULTS(TL_PLATFORM_FK,TL_TEST_FK);
  130. CREATE TABLE TESTPREVIOUSRESULTS (
  131. TPR_TEST_FK int not NULL,
  132. TPR_PLATFORM_FK int not NULL,
  133. TPR_TESTRESULTS_FK bigint NOT NULL
  134. );
  135. CREATE UNIQUE INDEX UDX_TESTPREVIOUSRESULTS ON TESTPREVIOUSRESULTS(TPR_PLATFORM_FK,TPR_TEST_FK);
  136. -- Create relations
  137. ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_os FOREIGN KEY (tp_os_fk) REFERENCES testos (to_id);
  138. ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_cpu FOREIGN KEY (tp_cpu_fk) REFERENCES testcpu (tc_id);
  139. ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_version FOREIGN KEY (tp_version_fk) REFERENCES testversion (tv_id);
  140. ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_category FOREIGN KEY (tp_category_fk) REFERENCES testcategory (ta_id);
  141. ALTER TABLE testrun ADD CONSTRAINT fk_run_platform FOREIGN KEY (tu_platform_fk) REFERENCES testplatform (tp_id);
  142. ALTER TABLE testresults ADD CONSTRAINT fk_results_run FOREIGN KEY (tr_testrun_fk) REFERENCES testrun (tu_id);
  143. ALTER TABLE testresults ADD CONSTRAINT fk_results_test FOREIGN KEY (tr_test_fk) REFERENCES tests (t_id);
  144. -- Insert default data
  145. INSERT INTO TESTCATEGORY VALUES (1, 'Compiler/RTL');
  146. INSERT INTO TESTCATEGORY VALUES (2, 'DB');
  147. ALTER SEQUENCE SEQ_TESTCATEGORY RESTART WITH 3;
  148. INSERT INTO TESTCPU VALUES (1, 'i386');
  149. INSERT INTO TESTCPU VALUES (6, 'arm');
  150. INSERT INTO TESTCPU VALUES (3, 'm68k');
  151. INSERT INTO TESTCPU VALUES (4, 'sparc');
  152. INSERT INTO TESTCPU VALUES (5, 'powerpc');
  153. INSERT INTO TESTCPU VALUES (7, 'x86_64');
  154. INSERT INTO TESTCPU VALUES (8, 'All');
  155. INSERT INTO TESTCPU VALUES (9, 'powerpc64');
  156. INSERT INTO TESTCPU VALUES (10, 'wasm32');
  157. INSERT INTO TESTCPU VALUES (11, 'longsoon');
  158. INSERT INTO TESTCPU VALUES (12, 'longsoon64');
  159. INSERT INTO TESTCPU VALUES (13, 'mips');
  160. INSERT INTO TESTCPU VALUES (14, 'mips64');
  161. INSERT INTO TESTCPU VALUES (15, 'avr');
  162. INSERT INTO TESTCPU VALUES (16, 'xtensa');
  163. ALTER SEQUENCE SEQ_TESTCPU RESTART WITH 17;
  164. INSERT INTO TESTOS VALUES (1, 'linux');
  165. INSERT INTO TESTOS VALUES (2, 'win32');
  166. INSERT INTO TESTOS VALUES (3, 'go32v2');
  167. INSERT INTO TESTOS VALUES (4, 'os2');
  168. INSERT INTO TESTOS VALUES (5, 'freebsd');
  169. INSERT INTO TESTOS VALUES (6, 'netbsd');
  170. INSERT INTO TESTOS VALUES (7, 'openbsd');
  171. INSERT INTO TESTOS VALUES (8, 'amiga');
  172. INSERT INTO TESTOS VALUES (9, 'atari');
  173. INSERT INTO TESTOS VALUES (10, 'qnx');
  174. INSERT INTO TESTOS VALUES (11, 'beos');
  175. INSERT INTO TESTOS VALUES (12, 'solaris');
  176. INSERT INTO TESTOS VALUES (13, 'darwin');
  177. INSERT INTO TESTOS VALUES (14, 'macos');
  178. INSERT INTO TESTOS VALUES (15, 'All');
  179. INSERT INTO TESTOS VALUES (16, 'win64');
  180. INSERT INTO TESTOS VALUES (17, 'wince');
  181. INSERT INTO TESTOS VALUES (18, 'wasi');
  182. ALTER SEQUENCE SEQ_TESTOS RESTART WITH 19;
  183. INSERT INTO TESTVERSION VALUES (1, '2.0.4', '2006-08-22 22:38:20');
  184. INSERT INTO TESTVERSION VALUES (2, '2.0.5', '2006-08-22 22:38:20');
  185. INSERT INTO TESTVERSION VALUES (3, '2.3.1', '2007-03-04 23:40:07');
  186. INSERT INTO TESTVERSION VALUES (4, '2.1.2', '2007-03-19 10:49:30');
  187. INSERT INTO TESTVERSION VALUES (5, '2.1.3', '2007-03-19 10:49:47');
  188. INSERT INTO TESTVERSION VALUES (6, '2.1.4', '2007-03-19 10:50:03');
  189. INSERT INTO TESTVERSION VALUES (7, '3.2.2', '2020-04-01 10:50:03');
  190. INSERT INTO TESTVERSION VALUES (8, '3.3.1', '2020-04-01 10:50:03');
  191. ALTER SEQUENCE SEQ_TESTVERSION RESTART WITH 9;