Files
secondo/Javagui/JDBC/LocalTest/newChecker.java

227 lines
9.2 KiB
Java
Raw Permalink Normal View History

2026-01-23 17:03:45 +08:00
package LocalTest;
/**
*
* <b> Task of this class </b> <br/>
* provides a general test with common queries
*/
public class newChecker {
final private int NoCreate = 9;
final private int NoSelect = 30;
final private int NoInsert = 4;
final private int NoUpdate = 2;
final private int NoDelete = 1;
final private int NoDrop = 3 ;
final private int NoAlter = 2;
final private int NoUnsupported = 26;
private String[] TeCreate;
private String[] TeSelect;
private String[] TeInsert;
private String[] TeUpdate;
private String[] TeDelete;
private String[] TeDrop;
private String[] TeAlter;
private String[] TeUnsupported;
private int CounterOutput;
public newChecker() {
TeCreate = new String[NoCreate];
TeSelect = new String[NoSelect];
TeInsert = new String[NoInsert];
TeUpdate = new String[NoUpdate];
TeDelete = new String[NoDelete];
TeDrop = new String[NoDrop];
TeAlter = new String[NoAlter];
TeUnsupported = new String[NoUnsupported];
this.createTest();
this.CounterOutput = 0;
}
private void createTest() {
TeCreate[0] = "CREATE TABLE typetest2 (tstring CHARACTER(50), treal REAL, tint DEC(10))";
TeCreate[1] = "CREATE TABLE typetest3 (tstring CHARACTER(50), tint DEC(10))";
TeCreate[2] = "CREATE TABLE typetest4 (tstring CHARACTER(50))";
TeCreate[3] = "CREATE TABLE typetest5 (tint DEC(10))";
TeCreate[4] = "CREATE TABLE typetest6 (treal REAL, tint DEC(10))";
TeCreate[5] = "CREATE INDEX myindex ON typetest2 (treal)";
TeCreate[6] = "CREATE INDEX myindex USING btree ON typetest2 (treal)";
TeCreate[7] = "CREATE TABLE typetest (tstring CHARACTER(50), treal REAL, tint DEC(10), tbool BIT(1))";
TeCreate[8] = "CREATE TABLE typetest (tstring CHARACTER(50), treal REAL, tint DEC(10), tbool BOOLEAN)";
TeSelect[0] = "SELECT 5.232E-2*no FROM tentest";
TeSelect[1] = "SELECT 5.323E-3 FROM tentest";
TeSelect[2] = "SELECT no, 5+5 FROM tentest";
TeSelect[3] = "SELECT 5*5 as myatt5 FROM tentest";
TeSelect[4] = "SELECT DISTINCT no FROM tentest";
TeSelect[5] = "SELECT ALL no FROM tentest";
TeSelect[6] = "SELECT count(*) FROM tentest";
TeSelect[7] = "SELECT min(distinct no) FROM tentest";
TeSelect[8] = "SELECT min(no) FROM tentest";
TeSelect[9] = "SELECT min(all no) FROM tentest";
TeSelect[10] = "SELECT no FROM tentest myTable";
TeSelect[11] = "SELECT no FROM tentest as mytable";
TeSelect[12] = "SELECT no FROM tentest WHERE 5>tentest.no";
TeSelect[13] = "SELECT no FROM tentest WHERE no<8";
TeSelect[14] = "SELECT no FROM tentest WHERE exists (select no from twentytest where tentest.no = twentytest.no)";
TeSelect[15] = "SELECT no FROM tentest WHERE exists (select no from twentytest where twentytest.no = tentest.no)";
TeSelect[16] = "SELECT no FROM tentest WHERE no >3 and no <5";
TeSelect[17] = "SELECT no FROM tentest WHERE no<5 or no >8";
TeSelect[18] = "SELECT no FROM tentest WHERE 5*no in (SELECT tint FROM typetest)";
TeSelect[19] = "SELECT no FROM tentest WHERE no<5 or no >8 and no>6";
TeSelect[20] = "SELECT no FROM tentest WHERE no<5 and no >8 or no>6";
TeSelect[21] = "SELECT no FROM tentest WHERE tstring = 'Hallo'";
TeSelect[22] = "SELECT min(treal) as minreal FROM typetest GROUP BY tint";
TeSelect[23] = "SELECT min(treal), tint FROM typetest as ty GROUP BY tint";
TeSelect[24] = "SELECT * FROM typetest ORDER BY tint asc, treal desc";
TeSelect[25] = "SELECT * FROM typetest where tint<9 ORDER BY tint";
TeSelect[26] = "SELECT no FROM tentest myTable, twentest as myTable2";
TeSelect[27] = "SELECT no FROM tentest as mytable, twentest";
TeSelect[28] = "SELECT Employees.First_Name, Employees.Last_Name, Cars.Make, Cars.Model, Cars.Year FROM Employees, Cars WHERE Employees.Car_Number = Cars.Car_Number";
TeSelect[29] = "SELECT * FROM typetest where typetest.tint<9 ORDER BY tint";
TeInsert[0] = "INSERT INTO typetest2 VALUES ('Sieben', 7.777, 7)";
TeInsert[1] = "INSERT INTO tentest VALUES (11)";
TeInsert[2] = "INSERT INTO typetest2 SELECT Tstring, treal, tint FROM typetest WHERE tint = 2";
TeInsert[3] = "INSERT INTO typetest VALUES ('Sieben', 7.777, 7, false)";
TeUpdate[0] = "UPDATE typetest2 SET tint=6, treal=6.666, tstring='6. String'";
TeUpdate[1] = "UPDATE tentest SET no=5 WHERE no >3 and no <5";
TeDelete[0] = "DELETE FROM typetest2 WHERE tint<2 OR tint>9 AND tstring = 'Michael'";
TeDrop[0] = "DROP TABLE supplier2";
TeDrop[1] = "DROP INDEX typetest2_treal_btree ON typetest2";
TeDrop[2] = "DROP INDEX ON typetest treal";
//TeDrop[3] = "DROP INDEX ON typetest treal indextype rtree";
TeAlter[0] = "ALTER TABLE typetest ADD COLUMN Vorname CHAR(20)";
TeAlter[1] = "ALTER TABLE typetest DROP vorname";
TeUnsupported[0] = "CREATE TABLE myTable (Name CHARACTER(50) PRIMARY KEY)";
TeUnsupported[1] = "CREATE TABLE myTable (Name CHARACTER(50) CONSTRAINT myrule UNIQUE)";
TeUnsupported[2] = "CREATE TABLE myTable (Name CHARACTER(50) CONSTRAINT myrule UNIQUE REFERENCES mytabel(Sp1, Sp2))";
TeUnsupported[3] = "CREATE TABLE myTable (CONSTRAINT myTableRule FOREIGN KEY (Sp3, Sp4) REFERENCES mytable2(Sp8, Sp9), Name CHARACTER(50) CONSTRAINT myrule UNIQUE REFERENCES mytabel(Sp1, Sp2), Alter DECIMAL(10))";
TeUnsupported[4] = "CREATE TABLE myTable (CONSTRAINT myTableRule FOREIGN KEY (Sp3, Sp4) REFERENCES mytable2(Sp8, Sp9), Name CHARACTER(50), Alter DECIMAL(10))";
TeUnsupported[5] = "CREATE TABLE myTable (CONSTRAINT myTableRule FOREIGN KEY (Sp3, Sp4) REFERENCES mytable2(Sp8, Sp9), Name CHARACTER(50))";
TeUnsupported[6] = "CREATE TABLE myTable (Name CHARACTER(50) CONSTRAINT myrule UNIQUE REFERENCES mytabel(Sp1, Sp2), Alter DECIMAL(10))";
TeUnsupported[7] = "CREATE TABLE myTable (Name CHARACTER(50) UNIQUE REFERENCES mytabel(Sp1, Sp2))";
TeUnsupported[8] = "CREATE TABLE myTable (Name CHAR(50) REFERENCES myothertable(Sp1, Sp2))";
TeUnsupported[9] = "CREATE TABLE myTable (Name CHAR(50) PRIMARY KEY, Alter DECIMAL(10))";
TeUnsupported[10] = "CREATE GLOBAL TEMPORARY TABLE myTable (Name CHARACTER(50), Alter DECIMAL(10))";
TeUnsupported[11] = "CREATE LOCAL TEMPORARY TABLE myTable (Name CHARACTER(50), Alter DECIMAL(10))";
TeUnsupported[12] = "SELECT no FROM tentest cross join twentest union twentest";
TeUnsupported[13] = "SELECT no FROM tentest cross join twentest except twentest";
TeUnsupported[14] = "SELECT no FROM tentest cross join twentest except twentest corresponding by no";
TeUnsupported[15] = "SELECT no FROM tentest cross join twentest except values (1), (5)";
TeUnsupported[16] = "SELECT nullif(no,5) FROM tentest";
TeUnsupported[17] = "SELECT coalesce(5, no, null) FROM tentest";
TeUnsupported[18] = "SELECT case no when 5 then 8+no when 3 then 5+no else 5.34 FROM tentest";
TeUnsupported[19] = "SELECT cast (einstring as int) +5 FROM tentest";
TeUnsupported[20] = "DROP TABLE typetest6 RESTRICT";
TeUnsupported[21] = "INSERT INTO typetest values ('eins', 1.1, 1 , date '2012-04-02')";
TeUnsupported[22] = "SELECT * FROM typetest where typetest.tint<9 ORDER BY tint";
TeUnsupported[23] = "CREATE INDEX myindex USING btree ON typetest2 (treal, tint)";
TeUnsupported[24] = "CREATE FULLTEXT INDEX myindex ON typetest2 (treal)";
TeUnsupported[25] = "CREATE UNIQUE INDEX myindex ON typetest2 (treal)";
}
public String Output(String OT) {
String Answer = "|ENDE|";
Character OutputType;
if (OT.equalsIgnoreCase("drop"))
OutputType = 'r';
else if (OT.equalsIgnoreCase("unsupported"))
OutputType = 'n';
else
OutputType = OT.charAt(0);
switch (OutputType) {
case 'c':
if (CounterOutput < this.NoCreate)
Answer = this.TeCreate[CounterOutput];
else {
Answer = "|ENDE|";
this.CounterOutput = -1;
}
CounterOutput++;
break;
case 's':
if (CounterOutput < this.NoSelect)
Answer = this.TeSelect[CounterOutput];
else {
Answer = "|ENDE|";
this.CounterOutput = -1;
}
CounterOutput++;
break;
case 'i':
if (CounterOutput < this.NoInsert)
Answer = this.TeInsert[CounterOutput];
else {
Answer = "|ENDE|";
this.CounterOutput = -1;
}
CounterOutput++;
break;
case 'u':
if (CounterOutput < this.NoUpdate)
Answer = this.TeUpdate[CounterOutput];
else {
Answer = "|ENDE|";
this.CounterOutput = -1;
}
CounterOutput++;
break;
case 'd':
if (CounterOutput < this.NoDelete)
Answer = this.TeDelete[CounterOutput];
else {
Answer = "|ENDE|";
this.CounterOutput = -1;
}
CounterOutput++;
break;
case 'r':
if (CounterOutput < this.NoDrop)
Answer = this.TeDrop[CounterOutput];
else {
Answer = "|ENDE|";
this.CounterOutput = -1;
}
CounterOutput++;
break;
case 'a':
if (CounterOutput < this.NoAlter)
Answer = this.TeAlter[CounterOutput];
else {
Answer = "|ENDE|";
this.CounterOutput = -1;
}
CounterOutput++;
break;
case 'n':
if (CounterOutput < this.NoUnsupported)
Answer = this.TeUnsupported[CounterOutput];
else {
Answer = "|ENDE|";
this.CounterOutput = -1;
}
CounterOutput++;
}
return Answer;
}
}