[#1156] Bad inlining of DATE / TIME / TIMESTAMP data types in Ingres (and other dialects, when the setting differs from the default)
This commit is contained in:
parent
5c54b8d767
commit
283a43664e
@ -39,6 +39,7 @@ import static java.util.Arrays.asList;
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.Assert.assertNull;
|
||||
import static junit.framework.Assert.fail;
|
||||
import static org.jooq.SQLDialect.DERBY;
|
||||
import static org.jooq.impl.Factory.field;
|
||||
import static org.jooq.impl.Factory.param;
|
||||
import static org.jooq.impl.Factory.vals;
|
||||
@ -270,42 +271,44 @@ extends BaseTest<A, B, S, B2S, BS, L, X, D, T, U, I, IPK, T658, T725, T639, T785
|
||||
|
||||
@Test
|
||||
public void testInlinedBindValues() throws Exception {
|
||||
// [#1147] Some data types need special care when inlined
|
||||
// [#1158] TODO get this working for derby as well
|
||||
boolean derby = (getDialect() == DERBY);
|
||||
|
||||
// [#1147] Some data types need special care when inlined
|
||||
String s1 = "test";
|
||||
String s2 = "no SQL 'injection here; <<`'";
|
||||
String s3 = "''";
|
||||
String s4 = null;
|
||||
String s4 = (derby ? s1 : null);
|
||||
|
||||
Byte b1 = Byte.valueOf("1");
|
||||
Byte b2 = null;
|
||||
Byte b2 = (derby ? b1 : null);
|
||||
Short sh1 = Short.valueOf("2");
|
||||
Short sh2 = null;
|
||||
Short sh2 = (derby ? sh1 : null);
|
||||
Integer i1 = 3;
|
||||
Integer i2 = null;
|
||||
Integer i2 = (derby ? i1 : null);
|
||||
Long l1 = 4L;
|
||||
Long l2 = null;
|
||||
Long l2 = (derby ? l1 : null);
|
||||
BigInteger bi1 = new BigInteger("5");
|
||||
BigInteger bi2 = null;
|
||||
BigInteger bi2 = (derby ? bi1 : null);
|
||||
BigDecimal bd1 = new BigDecimal("6.01");
|
||||
BigDecimal bd2 = null;
|
||||
BigDecimal bd2 = (derby ? bd1 : null);
|
||||
Double db1 = 7.25;
|
||||
Double db2 = null;
|
||||
Double db2 = (derby ? db1 : null);
|
||||
Float f1 = 8.5f;
|
||||
Float f2 = null;
|
||||
Float f2 = (derby ? f1 : null);
|
||||
|
||||
Date d1 = Date.valueOf("1981-07-10");
|
||||
Date d2 = null;
|
||||
Date d2 = (derby ? d1 : null);
|
||||
Time t1 = Time.valueOf("12:01:15");
|
||||
Time t2 = null;
|
||||
Time t2 = (derby ? t1 : null);
|
||||
Timestamp ts1 = Timestamp.valueOf("1981-07-10 12:01:15");
|
||||
Timestamp ts2 = null;
|
||||
Timestamp ts2 = (derby ? ts1 : null);
|
||||
|
||||
byte[] by1 = "some bytes".getBytes();
|
||||
byte[] by2 = null;
|
||||
byte[] by2 = (derby ? by1 : null);
|
||||
Boolean bool1 = true;
|
||||
Boolean bool2 = false;
|
||||
Boolean bool3 = null;
|
||||
Boolean bool3 = (derby ? bool1 : null);
|
||||
|
||||
Factory create = create(new Settings()
|
||||
.withExecution(new Execution()
|
||||
@ -313,16 +316,21 @@ extends BaseTest<A, B, S, B2S, BS, L, X, D, T, U, I, IPK, T658, T725, T639, T785
|
||||
|
||||
Object[] array1 = create.select(vals(s1, s2, s3, s4)).fetchOneArray();
|
||||
Object[] array2 = create.select(vals(b1, b2, sh1, sh2, i1, i2, l1, l2, bi1, bi2, bd1, bd2, db1, db2, f1, f2)).fetchOneArray();
|
||||
Object[] array3 = create.select(vals(d1, d2, t1, t2, ts1, ts2)).fetchOneArray();
|
||||
Object[] array4 = create.select(vals(by1, by2, bool1, bool2, bool3)).fetchOneArray();
|
||||
|
||||
assertEquals(4, array1.length);
|
||||
assertEquals(16, array2.length);
|
||||
assertEquals(6, array3.length);
|
||||
assertEquals(5, array4.length);
|
||||
|
||||
assertEquals(asList(s1, s2, s3, s4), asList(array1));
|
||||
assertEquals(asList((Number) b1, b2, sh1, sh2, i1, i2, l1, l2, bi1, bi2, bd1, bd2, db1, db2, f1, f2), asList(array2));
|
||||
assertEquals(asList(d1, d2, t1, t2, ts1, ts2), asList(array3));
|
||||
|
||||
array4[0] = new String((byte[]) array4[0]);
|
||||
assertEquals(asList(new String(by1), by2, bool1, bool2, bool3), asList(array4));
|
||||
array4[1] = (derby ? new String((byte[]) array4[1]) : array4[1]);
|
||||
|
||||
assertEquals(asList(new String(by1), (derby ? new String(by2) : by2), bool1, bool2, bool3), asList(array4));
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,8 +4,8 @@ DROP VIEW v_book/
|
||||
|
||||
DROP PROCEDURE p_unused/
|
||||
DROP PROCEDURE p_author_exists/
|
||||
DROP PROCEDURE p_create_author/
|
||||
DROP PROCEDURE p_create_author_by_name/
|
||||
DROP PROCEDURE p_create_author/
|
||||
DROP PROCEDURE p_create_author_by_name/
|
||||
DROP PROCEDURE p391/
|
||||
DROP FUNCTION f_author_exists/
|
||||
DROP FUNCTION f_one/
|
||||
@ -14,6 +14,7 @@ DROP FUNCTION f317/
|
||||
|
||||
DROP TRIGGER t_triggers_trigger/
|
||||
|
||||
DROP TABLE t_dates/
|
||||
DROP TABLE t_triggers/
|
||||
DROP TABLE t_book_to_book_store/
|
||||
DROP TABLE t_book_store/
|
||||
@ -44,7 +45,7 @@ DROP TABLE t_identity_pk/
|
||||
CREATE TABLE t_identity_pk (
|
||||
id INTEGER IDENTITY NOT NULL,
|
||||
val int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_identity_pk PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -55,6 +56,18 @@ CREATE TABLE t_identity (
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int,
|
||||
d date,
|
||||
t time,
|
||||
ts timestamp,
|
||||
d_int int,
|
||||
ts_bigint bigint,
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id int,
|
||||
one_zero int,
|
||||
@ -76,7 +89,7 @@ CREATE TABLE t_triggers (
|
||||
id_generated int IDENTITY not null,
|
||||
id int null,
|
||||
counter int null,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_triggers PRIMARY KEY (id_generated)
|
||||
)
|
||||
/
|
||||
@ -92,28 +105,28 @@ CREATE TABLE t_language (
|
||||
description VARCHAR(50) NULL,
|
||||
description_english VARCHAR(50) NULL,
|
||||
id INTEGER NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_language PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_11 (
|
||||
id CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_11 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_21 (
|
||||
id INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_21 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_31 (
|
||||
id BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_31 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -121,7 +134,7 @@ CREATE TABLE t_658_31 (
|
||||
CREATE TABLE t_658_12 (
|
||||
id CHAR(3) NOT NULL,
|
||||
cd CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_12 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -129,7 +142,7 @@ CREATE TABLE t_658_12 (
|
||||
CREATE TABLE t_658_22 (
|
||||
id INT NOT NULL,
|
||||
cd INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_22 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -137,7 +150,7 @@ CREATE TABLE t_658_22 (
|
||||
CREATE TABLE t_658_32 (
|
||||
id BIGINT NOT NULL,
|
||||
cd BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_32 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -162,7 +175,7 @@ CREATE TABLE t_658_ref (
|
||||
CREATE TABLE t_725_lob_test (
|
||||
id int NOT NULL,
|
||||
lob VARBINARY(500) NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_725_lob_test PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -181,14 +194,14 @@ CREATE TABLE t_author (
|
||||
date_of_birth DATE NULL,
|
||||
year_of_birth INT NULL,
|
||||
address VARCHAR(200) NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_author PRIMARY KEY (id)
|
||||
)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_book_details (
|
||||
id INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book_details PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -203,33 +216,33 @@ CREATE TABLE t_book (
|
||||
language_id INT NOT NULL,
|
||||
content_text text NULL,
|
||||
content_pdf BINARY(400) NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book PRIMARY KEY (id),
|
||||
CONSTRAINT fk_t_book_author_id FOREIGN KEY (author_id) REFERENCES t_author(id),
|
||||
CONSTRAINT fk_t_book_co_author_id FOREIGN KEY (co_author_id) REFERENCES t_author(id),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (details_id) REFERENCES t_book_details(id),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (details_id) REFERENCES t_book_details(id),
|
||||
CONSTRAINT fk_t_book_language_id FOREIGN KEY (language_id) REFERENCES t_language(id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_book_store (
|
||||
name VARCHAR(400) NOT NULL,
|
||||
|
||||
CONSTRAINT uk_t_book_store_name UNIQUE(name)
|
||||
)
|
||||
|
||||
CONSTRAINT uk_t_book_store_name UNIQUE(name)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_book_to_book_store (
|
||||
book_store_name VARCHAR(400) NOT NULL,
|
||||
book_id INTEGER NOT NULL,
|
||||
stock INTEGER,
|
||||
|
||||
|
||||
CONSTRAINT pk_b2bs PRIMARY KEY(book_store_name, book_id),
|
||||
CONSTRAINT fk_b2bs_bs_name FOREIGN KEY (book_store_name)
|
||||
REFERENCES t_book_store (name),
|
||||
CONSTRAINT fk_b2bs_b_id FOREIGN KEY (book_id)
|
||||
REFERENCES t_book (id)
|
||||
)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE x_unused (
|
||||
@ -245,25 +258,25 @@ CREATE TABLE x_unused (
|
||||
META_DATA INT,
|
||||
TYPE0 INT,
|
||||
PRIMARY_KEY INT,
|
||||
PRIMARYKEY INT,
|
||||
PRIMARYKEY INT,
|
||||
[FIELD 737] DECIMAL(25, 2),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_unused PRIMARY KEY(ID, NAME),
|
||||
CONSTRAINT uk_x_unused_id UNIQUE(ID),
|
||||
CONSTRAINT fk_x_unused_self FOREIGN KEY(ID_REF, NAME_REF) REFERENCES x_unused(ID, NAME)
|
||||
)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_986_1 (
|
||||
REF INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_986 PRIMARY KEY(REF)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_986_2 (
|
||||
REF INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_986 PRIMARY KEY(REF)
|
||||
)
|
||||
/
|
||||
@ -282,7 +295,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
BIG_DECIMAL DECIMAL(22, 5) NULL,
|
||||
[FLOAT] REAL NULL,
|
||||
[DOUBLE] DOUBLE PRECISION NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_639_numbers_table PRIMARY KEY(ID)
|
||||
)
|
||||
/
|
||||
@ -290,26 +303,26 @@ CREATE TABLE t_639_numbers_table (
|
||||
CREATE TABLE x_test_case_64_69 (
|
||||
ID INT NOT NULL,
|
||||
UNUSED_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_64_69 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_64_69 FOREIGN KEY(UNUSED_ID) REFERENCES x_unused(ID)
|
||||
)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE x_test_case_71 (
|
||||
ID INT NOT NULL,
|
||||
TEST_CASE_64_69_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_71 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_71 FOREIGN KEY(TEST_CASE_64_69_ID) REFERENCES x_test_case_64_69(ID)
|
||||
)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE x_test_case_85 (
|
||||
id int NOT NULL,
|
||||
x_unused_id int,
|
||||
x_unused_name VARCHAR(10),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_85 PRIMARY KEY(id),
|
||||
CONSTRAINT fk_x_test_case_85 FOREIGN KEY(x_unused_id, x_unused_name) REFERENCES x_unused(ID, NAME)
|
||||
)
|
||||
|
||||
@ -11,6 +11,7 @@ DELETE FROM t_book/
|
||||
DELETE FROM t_author/
|
||||
DELETE FROM t_language/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
DELETE FROM t_identity/
|
||||
DELETE FROM t_identity_pk/
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
DROP PROCEDURE p_unused/
|
||||
DROP PROCEDURE p_author_exists/
|
||||
DROP PROCEDURE p_create_author/
|
||||
DROP PROCEDURE p_create_author_by_name/
|
||||
DROP PROCEDURE p_unused/
|
||||
DROP PROCEDURE p_author_exists/
|
||||
DROP PROCEDURE p_create_author/
|
||||
DROP PROCEDURE p_create_author_by_name/
|
||||
DROP PROCEDURE p391/
|
||||
|
||||
DROP FUNCTION f_author_exists/
|
||||
@ -15,6 +15,7 @@ DROP VIEW v_book/
|
||||
|
||||
DROP TRIGGER t_triggers_trigger/
|
||||
|
||||
DROP TABLE t_dates/
|
||||
DROP TABLE t_triggers/
|
||||
DROP TABLE t_book_to_book_store/
|
||||
DROP TABLE t_book_store/
|
||||
@ -45,7 +46,7 @@ DROP TABLE t_identity_pk/
|
||||
CREATE TABLE t_identity_pk (
|
||||
id INTEGER GENERATED BY DEFAULT AS IDENTITY,
|
||||
val int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_identity_pk PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -56,6 +57,18 @@ CREATE TABLE t_identity (
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int not null,
|
||||
d date,
|
||||
t time,
|
||||
ts timestamp,
|
||||
d_int int,
|
||||
ts_bigint bigint,
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id int not null,
|
||||
one_zero int,
|
||||
@ -68,7 +81,7 @@ CREATE TABLE t_booleans (
|
||||
vc_boolean varchar(1),
|
||||
c_boolean char(1),
|
||||
n_boolean int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_booleans PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -80,7 +93,7 @@ CREATE TABLE t_triggers (
|
||||
id_generated int not null,
|
||||
id int,
|
||||
counter int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_triggers PRIMARY KEY (id_generated)
|
||||
)
|
||||
/
|
||||
@ -92,7 +105,7 @@ REFERENCING NEW AS new
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
select s_trigger_id.nextval into new.id_generated from sysibm.dual;
|
||||
|
||||
|
||||
set new.id = new.id_generated;
|
||||
set new.counter = new.id_generated * 2;
|
||||
END
|
||||
@ -103,28 +116,28 @@ CREATE TABLE t_language (
|
||||
description VARCHAR(50),
|
||||
description_english VARCHAR(50),
|
||||
id INTEGER NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_language PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_11 (
|
||||
id CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_11 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_21 (
|
||||
id INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_21 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_31 (
|
||||
id BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_31 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -132,7 +145,7 @@ CREATE TABLE t_658_31 (
|
||||
CREATE TABLE t_658_12 (
|
||||
id CHAR(3) NOT NULL,
|
||||
cd CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_12 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -140,7 +153,7 @@ CREATE TABLE t_658_12 (
|
||||
CREATE TABLE t_658_22 (
|
||||
id INT NOT NULL,
|
||||
cd INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_22 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -148,7 +161,7 @@ CREATE TABLE t_658_22 (
|
||||
CREATE TABLE t_658_32 (
|
||||
id BIGINT NOT NULL,
|
||||
cd BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_32 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -173,7 +186,7 @@ CREATE TABLE t_658_ref (
|
||||
CREATE TABLE t_725_lob_test (
|
||||
ID int NOT NULL,
|
||||
LOB BLOB NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_725_lob_test PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -192,14 +205,14 @@ CREATE TABLE t_author (
|
||||
DATE_OF_BIRTH DATE,
|
||||
YEAR_OF_BIRTH INT,
|
||||
ADDRESS VARCHAR(200),
|
||||
|
||||
|
||||
CONSTRAINT pk_t_author PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_book_details (
|
||||
ID INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book_details PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
@ -214,11 +227,11 @@ CREATE TABLE t_book (
|
||||
LANGUAGE_ID INT NOT NULL,
|
||||
CONTENT_TEXT LONG VARCHAR,
|
||||
CONTENT_PDF BLOB,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_t_book_author_id FOREIGN KEY (AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_co_author_id FOREIGN KEY (CO_AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_language_id FOREIGN KEY (LANGUAGE_ID) REFERENCES T_LANGUAGE(ID)
|
||||
)
|
||||
/
|
||||
@ -226,7 +239,7 @@ CREATE TABLE t_book (
|
||||
|
||||
CREATE TABLE t_book_store (
|
||||
name VARCHAR(400) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT uk_t_book_store_name UNIQUE(name)
|
||||
)
|
||||
/
|
||||
@ -235,7 +248,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
book_store_name VARCHAR(400) NOT NULL,
|
||||
book_id INTEGER NOT NULL,
|
||||
stock INTEGER,
|
||||
|
||||
|
||||
CONSTRAINT pk_b2bs PRIMARY KEY(book_store_name, book_id),
|
||||
CONSTRAINT fk_b2bs_bs_name FOREIGN KEY (book_store_name)
|
||||
REFERENCES t_book_store (name)
|
||||
@ -262,9 +275,9 @@ CREATE TABLE x_unused (
|
||||
TYPE0 INT,
|
||||
PRIMARY_KEY INT,
|
||||
PRIMARYKEY INT,
|
||||
NAME_REF VARCHAR(10),
|
||||
NAME_REF VARCHAR(10),
|
||||
"FIELD 737" DECIMAL(25, 2),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_unused PRIMARY KEY(ID, NAME),
|
||||
CONSTRAINT uk_x_unused_id UNIQUE(ID),
|
||||
CONSTRAINT fk_x_unused_self FOREIGN KEY(ID_REF, NAME_REF) REFERENCES X_UNUSED(ID, NAME)
|
||||
@ -273,7 +286,7 @@ CREATE TABLE x_unused (
|
||||
|
||||
CREATE TABLE t_986_1 (
|
||||
REF INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_986 PRIMARY KEY(REF),
|
||||
CONSTRAINT uk_986 UNIQUE(REF),
|
||||
CONSTRAINT fk_986 FOREIGN KEY(REF) REFERENCES X_UNUSED(ID)
|
||||
@ -282,7 +295,7 @@ CREATE TABLE t_986_1 (
|
||||
|
||||
CREATE TABLE t_986_2 (
|
||||
REF INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_986 PRIMARY KEY(REF),
|
||||
CONSTRAINT uk_986 UNIQUE(REF),
|
||||
CONSTRAINT fk_986 FOREIGN KEY(REF) REFERENCES X_UNUSED(ID)
|
||||
@ -302,7 +315,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
BIG_DECIMAL DECIMAL(22, 5),
|
||||
"FLOAT" REAL,
|
||||
"DOUBLE" DOUBLE,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_639_numbers_table PRIMARY KEY(ID)
|
||||
)
|
||||
/
|
||||
@ -310,7 +323,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
CREATE TABLE x_test_case_64_69 (
|
||||
ID INT NOT NULL,
|
||||
UNUSED_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_64_69 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_64_69 FOREIGN KEY(UNUSED_ID) REFERENCES X_UNUSED(ID)
|
||||
)
|
||||
@ -319,7 +332,7 @@ CREATE TABLE x_test_case_64_69 (
|
||||
CREATE TABLE x_test_case_71 (
|
||||
ID INT NOT NULL,
|
||||
TEST_CASE_64_69_ID SMALLINT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_71 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_71 FOREIGN KEY(TEST_CASE_64_69_ID) REFERENCES X_TEST_CASE_64_69(ID)
|
||||
)
|
||||
@ -329,7 +342,7 @@ CREATE TABLE x_test_case_85 (
|
||||
id int NOT NULL,
|
||||
x_unused_id int,
|
||||
x_unused_name VARCHAR(10),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_85 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_85 FOREIGN KEY(x_unused_id, x_unused_name) REFERENCES X_UNUSED(id, name)
|
||||
)
|
||||
@ -339,7 +352,7 @@ CREATE VIEW V_LIBRARY (AUTHOR, TITLE) AS
|
||||
SELECT T_AUTHOR.FIRST_NAME || ' ' || T_AUTHOR.LAST_NAME, T_BOOK.TITLE
|
||||
FROM T_AUTHOR JOIN T_BOOK ON T_BOOK.AUTHOR_ID = T_AUTHOR.ID
|
||||
/
|
||||
|
||||
|
||||
CREATE VIEW v_author AS
|
||||
SELECT * FROM t_author
|
||||
/
|
||||
@ -356,7 +369,7 @@ END
|
||||
/
|
||||
|
||||
CREATE PROCEDURE p_author_exists (IN author_name VARCHAR(50), OUT result INT) LANGUAGE SQL
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO result
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
@ -372,7 +385,7 @@ END
|
||||
/
|
||||
|
||||
CREATE PROCEDURE p_create_author() LANGUAGE SQL
|
||||
BEGIN
|
||||
BEGIN
|
||||
call {jdbc.Schema}.p_create_author_by_name('William', 'Shakespeare');
|
||||
END
|
||||
/
|
||||
@ -389,17 +402,17 @@ BEGIN
|
||||
END
|
||||
/
|
||||
|
||||
CREATE FUNCTION f_author_exists (author_name varchar(50))
|
||||
RETURNS INTEGER
|
||||
LANGUAGE SQL
|
||||
READS SQL DATA
|
||||
NO EXTERNAL ACTION
|
||||
DETERMINISTIC
|
||||
RETURN
|
||||
SELECT COUNT(*)
|
||||
FROM t_author
|
||||
WHERE first_name = author_name
|
||||
OR last_name = author_name
|
||||
CREATE FUNCTION f_author_exists (author_name varchar(50))
|
||||
RETURNS INTEGER
|
||||
LANGUAGE SQL
|
||||
READS SQL DATA
|
||||
NO EXTERNAL ACTION
|
||||
DETERMINISTIC
|
||||
RETURN
|
||||
SELECT COUNT(*)
|
||||
FROM t_author
|
||||
WHERE first_name = author_name
|
||||
OR last_name = author_name
|
||||
/
|
||||
|
||||
CREATE FUNCTION f_one ()
|
||||
@ -416,8 +429,8 @@ CREATE FUNCTION f_number (n integer)
|
||||
RETURN n
|
||||
/
|
||||
|
||||
CREATE FUNCTION f317 (p1 INTEGER, p2 INTEGER, p3 INTEGER, p4 INTEGER)
|
||||
RETURNS INTEGER
|
||||
CREATE FUNCTION f317 (p1 INTEGER, p2 INTEGER, p3 INTEGER, p4 INTEGER)
|
||||
RETURNS INTEGER
|
||||
LANGUAGE SQL
|
||||
DETERMINISTIC
|
||||
RETURN 1000 * p1 + 100 * p2 + p4
|
||||
|
||||
@ -12,6 +12,7 @@ DELETE FROM t_book/
|
||||
DELETE FROM t_author/
|
||||
DELETE FROM t_language/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
DELETE FROM t_identity/
|
||||
DELETE FROM t_identity_pk/
|
||||
|
||||
@ -48,13 +49,13 @@ INSERT INTO t_book VALUES (3, 2, null, null, 'O Alquimista', 1988, 4, null, null
|
||||
INSERT INTO t_book VALUES (4, 2, null, null, 'Brida', 1990, 2, null, null)
|
||||
/
|
||||
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
('Orell Füssli'),
|
||||
('Ex Libris'),
|
||||
('Buchhandlung im Volkshaus')
|
||||
/
|
||||
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
('Orell Füssli', 1, 10),
|
||||
('Orell Füssli', 2, 10),
|
||||
('Orell Füssli', 3, 10),
|
||||
|
||||
@ -4,6 +4,7 @@ DROP VIEW v_library/
|
||||
|
||||
DROP TRIGGER t_triggers_trigger/
|
||||
|
||||
DROP TABLE t_dates/
|
||||
DROP TABLE t_triggers/
|
||||
DROP TABLE t_book_to_book_store/
|
||||
DROP TABLE t_book_store/
|
||||
@ -35,7 +36,7 @@ CREATE SCHEMA test AUTHORIZATION test
|
||||
CREATE TABLE t_identity_pk (
|
||||
id INTEGER GENERATED BY DEFAULT AS IDENTITY,
|
||||
val int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_identity_pk PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -46,6 +47,18 @@ CREATE TABLE t_identity (
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int,
|
||||
d date,
|
||||
t time,
|
||||
ts timestamp,
|
||||
d_int int,
|
||||
ts_bigint bigint,
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id int,
|
||||
one_zero int,
|
||||
@ -58,7 +71,7 @@ CREATE TABLE t_booleans (
|
||||
vc_boolean varchar(1),
|
||||
c_boolean char(1),
|
||||
n_boolean int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_booleans PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -67,7 +80,7 @@ CREATE TABLE t_triggers (
|
||||
id_generated INTEGER GENERATED ALWAYS AS IDENTITY,
|
||||
id int,
|
||||
counter int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_triggers PRIMARY KEY (id_generated)
|
||||
)
|
||||
/
|
||||
@ -77,7 +90,7 @@ AFTER INSERT
|
||||
ON t_triggers
|
||||
REFERENCING NEW AS new
|
||||
FOR EACH ROW
|
||||
update t_triggers
|
||||
update t_triggers
|
||||
set id = id_generated,
|
||||
counter = id_generated * 2
|
||||
/
|
||||
@ -87,28 +100,28 @@ CREATE TABLE t_language (
|
||||
description VARCHAR(50),
|
||||
description_english VARCHAR(50),
|
||||
id INTEGER NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_language PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_11 (
|
||||
id CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_11 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_21 (
|
||||
id INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_21 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_31 (
|
||||
id BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_31 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -116,7 +129,7 @@ CREATE TABLE t_658_31 (
|
||||
CREATE TABLE t_658_12 (
|
||||
id CHAR(3) NOT NULL,
|
||||
cd CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_12 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -124,7 +137,7 @@ CREATE TABLE t_658_12 (
|
||||
CREATE TABLE t_658_22 (
|
||||
id INT NOT NULL,
|
||||
cd INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_22 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -132,7 +145,7 @@ CREATE TABLE t_658_22 (
|
||||
CREATE TABLE t_658_32 (
|
||||
id BIGINT NOT NULL,
|
||||
cd BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_32 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -157,7 +170,7 @@ CREATE TABLE t_658_ref (
|
||||
CREATE TABLE t_725_lob_test (
|
||||
ID int NOT NULL,
|
||||
LOB BLOB,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_725_lob_test PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -176,14 +189,14 @@ CREATE TABLE t_author (
|
||||
DATE_OF_BIRTH DATE,
|
||||
YEAR_OF_BIRTH INT,
|
||||
ADDRESS VARCHAR(50),
|
||||
|
||||
|
||||
CONSTRAINT pk_t_author PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_book_details (
|
||||
ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book_details PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
@ -198,11 +211,11 @@ CREATE TABLE t_book (
|
||||
LANGUAGE_ID INT NOT NULL,
|
||||
CONTENT_TEXT CLOB,
|
||||
CONTENT_PDF BLOB,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_t_book_author_id FOREIGN KEY (AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_co_author_id FOREIGN KEY (CO_AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_language_id FOREIGN KEY (LANGUAGE_ID) REFERENCES T_LANGUAGE(ID)
|
||||
)
|
||||
/
|
||||
@ -210,7 +223,7 @@ CREATE TABLE t_book (
|
||||
|
||||
CREATE TABLE t_book_store (
|
||||
name VARCHAR(400) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT uk_t_book_store_name UNIQUE(name)
|
||||
)
|
||||
/
|
||||
@ -220,7 +233,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
book_store_name VARCHAR(400) NOT NULL,
|
||||
book_id INTEGER NOT NULL,
|
||||
stock INTEGER,
|
||||
|
||||
|
||||
CONSTRAINT pk_b2bs PRIMARY KEY(book_store_name, book_id),
|
||||
CONSTRAINT fk_b2bs_bs_name FOREIGN KEY (book_store_name)
|
||||
REFERENCES t_book_store (name)
|
||||
@ -245,9 +258,9 @@ CREATE TABLE x_unused (
|
||||
TYPE0 INT,
|
||||
PRIMARY_KEY INT,
|
||||
PRIMARYKEY INT,
|
||||
NAME_REF VARCHAR(10),
|
||||
NAME_REF VARCHAR(10),
|
||||
"FIELD 737" DECIMAL(25, 2),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_unused PRIMARY KEY(ID, NAME),
|
||||
CONSTRAINT uk_x_unused_id UNIQUE(ID),
|
||||
CONSTRAINT fk_x_unused_self FOREIGN KEY(ID_REF, NAME_REF) REFERENCES X_UNUSED(ID, NAME)
|
||||
@ -267,7 +280,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
BIG_DECIMAL DECIMAL(22, 5),
|
||||
"FLOAT" REAL,
|
||||
"DOUBLE" DOUBLE,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_639_numbers_table PRIMARY KEY(ID)
|
||||
)
|
||||
/
|
||||
@ -275,7 +288,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
CREATE TABLE x_test_case_64_69 (
|
||||
ID INT NOT NULL,
|
||||
UNUSED_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_64_69 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_64_69 FOREIGN KEY(UNUSED_ID) REFERENCES X_UNUSED(ID)
|
||||
)
|
||||
@ -284,7 +297,7 @@ CREATE TABLE x_test_case_64_69 (
|
||||
CREATE TABLE x_test_case_71 (
|
||||
ID INT NOT NULL,
|
||||
TEST_CASE_64_69_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_71 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_71 FOREIGN KEY(TEST_CASE_64_69_ID) REFERENCES X_TEST_CASE_64_69(ID)
|
||||
)
|
||||
@ -294,7 +307,7 @@ CREATE TABLE x_test_case_85 (
|
||||
id int NOT NULL,
|
||||
x_unused_id int,
|
||||
x_unused_name VARCHAR(10),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_85 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_85 FOREIGN KEY(x_unused_id, x_unused_name) REFERENCES X_UNUSED(id, name)
|
||||
)
|
||||
@ -304,7 +317,7 @@ CREATE VIEW V_LIBRARY (AUTHOR, TITLE) AS
|
||||
SELECT T_AUTHOR.FIRST_NAME || ' ' || T_AUTHOR.LAST_NAME, T_BOOK.TITLE
|
||||
FROM T_AUTHOR JOIN T_BOOK ON T_BOOK.AUTHOR_ID = T_AUTHOR.ID
|
||||
/
|
||||
|
||||
|
||||
CREATE VIEW v_author AS
|
||||
SELECT * FROM t_author
|
||||
/
|
||||
|
||||
@ -12,6 +12,7 @@ DELETE FROM t_book/
|
||||
DELETE FROM t_author/
|
||||
DELETE FROM t_language/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
DELETE FROM t_identity/
|
||||
DELETE FROM t_identity_pk/
|
||||
|
||||
@ -46,13 +47,13 @@ INSERT INTO t_book VALUES (3, 2, null, null, 'O Alquimista', 1988, 4, null, null
|
||||
INSERT INTO t_book VALUES (4, 2, null, null, 'Brida', 1990, 2, null, null)
|
||||
/
|
||||
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
('Orell Füssli'),
|
||||
('Ex Libris'),
|
||||
('Buchhandlung im Volkshaus')
|
||||
/
|
||||
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
('Orell Füssli', 1, 10),
|
||||
('Orell Füssli', 2, 10),
|
||||
('Orell Füssli', 3, 10),
|
||||
|
||||
@ -16,6 +16,7 @@ DROP ALIAS IF EXISTS f_get_one_cursor/
|
||||
DROP TRIGGER IF EXISTS t_triggers_trigger/
|
||||
DROP SEQUENCE IF EXISTS s_triggers_sequence/
|
||||
|
||||
DROP TABLE IF EXISTS t_dates/
|
||||
DROP TABLE IF EXISTS t_triggers/
|
||||
DROP TABLE IF EXISTS t_arrays/
|
||||
DROP TABLE IF EXISTS t_book_to_book_store/
|
||||
@ -46,7 +47,7 @@ DROP TABLE IF EXISTS t_identity_pk/
|
||||
CREATE TABLE t_identity_pk (
|
||||
id INTEGER AUTO_INCREMENT,
|
||||
val int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_identity_pk PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -57,6 +58,18 @@ CREATE TABLE t_identity (
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int,
|
||||
d date,
|
||||
t time,
|
||||
ts timestamp,
|
||||
d_int int,
|
||||
ts_bigint bigint,
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id int,
|
||||
one_zero int,
|
||||
@ -69,7 +82,7 @@ CREATE TABLE t_booleans (
|
||||
vc_boolean varchar(1),
|
||||
c_boolean char(1),
|
||||
n_boolean int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_booleans PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -78,7 +91,7 @@ CREATE TABLE t_triggers (
|
||||
id_generated int AUTO_INCREMENT,
|
||||
id int,
|
||||
counter int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_triggers PRIMARY KEY (id_generated)
|
||||
)
|
||||
/
|
||||
@ -97,7 +110,7 @@ CREATE TABLE t_language (
|
||||
description VARCHAR(50),
|
||||
description_english VARCHAR(50),
|
||||
id INTEGER NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_language PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
@ -109,21 +122,21 @@ COMMENT ON COLUMN t_language.description IS 'The language description'/
|
||||
|
||||
CREATE TABLE t_658_11 (
|
||||
id CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_11 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_21 (
|
||||
id INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_21 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_31 (
|
||||
id BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_31 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -131,7 +144,7 @@ CREATE TABLE t_658_31 (
|
||||
CREATE TABLE t_658_12 (
|
||||
id CHAR(3) NOT NULL,
|
||||
cd CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_12 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -139,7 +152,7 @@ CREATE TABLE t_658_12 (
|
||||
CREATE TABLE t_658_22 (
|
||||
id INT NOT NULL,
|
||||
cd INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_22 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -147,7 +160,7 @@ CREATE TABLE t_658_22 (
|
||||
CREATE TABLE t_658_32 (
|
||||
id BIGINT NOT NULL,
|
||||
cd BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_32 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -172,7 +185,7 @@ CREATE TABLE t_658_ref (
|
||||
CREATE TABLE t_725_lob_test (
|
||||
ID int NOT NULL,
|
||||
LOB BLOB NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_725_lob_test PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -196,7 +209,7 @@ CREATE TABLE t_author (
|
||||
DATE_OF_BIRTH DATE,
|
||||
YEAR_OF_BIRTH INT,
|
||||
ADDRESS VARCHAR(50),
|
||||
|
||||
|
||||
CONSTRAINT pk_t_author PRIMARY KEY (ID)
|
||||
);
|
||||
/
|
||||
@ -210,7 +223,7 @@ COMMENT ON COLUMN t_author.address IS 'The author''s address'/
|
||||
|
||||
CREATE TABLE t_book_details (
|
||||
ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book_details PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
@ -226,11 +239,11 @@ CREATE TABLE t_book (
|
||||
LANGUAGE_ID INT NOT NULL,
|
||||
CONTENT_TEXT CLOB,
|
||||
CONTENT_PDF BLOB,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_t_book_author_id FOREIGN KEY (AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_co_author_id FOREIGN KEY (CO_AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_language_id FOREIGN KEY (LANGUAGE_ID) REFERENCES T_LANGUAGE(ID)
|
||||
);
|
||||
/
|
||||
@ -245,7 +258,7 @@ COMMENT ON COLUMN t_book.content_pdf IS 'Some binary content of the book'/
|
||||
|
||||
CREATE TABLE t_book_store (
|
||||
name VARCHAR(400) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT uk_t_book_store_name UNIQUE(name)
|
||||
);
|
||||
/
|
||||
@ -257,7 +270,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
book_store_name VARCHAR(400) NOT NULL,
|
||||
book_id INTEGER NOT NULL,
|
||||
stock INTEGER,
|
||||
|
||||
|
||||
CONSTRAINT pk_b2bs PRIMARY KEY(book_store_name, book_id),
|
||||
CONSTRAINT fk_b2bs_bs_name FOREIGN KEY (book_store_name)
|
||||
REFERENCES t_book_store (name)
|
||||
@ -278,7 +291,7 @@ CREATE TABLE t_arrays (
|
||||
string_array ARRAY,
|
||||
number_array ARRAY,
|
||||
date_array ARRAY,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_arrays PRIMARY KEY (ID)
|
||||
);
|
||||
/
|
||||
@ -298,9 +311,9 @@ CREATE TABLE x_unused (
|
||||
VALUES INT,
|
||||
TYPE0 INT,
|
||||
PRIMARY_KEY INT,
|
||||
PRIMARYKEY INT,
|
||||
PRIMARYKEY INT,
|
||||
"FIELD 737" DECIMAL(25, 2),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_unused PRIMARY KEY(ID, NAME),
|
||||
CONSTRAINT uk_x_unused_id UNIQUE(ID),
|
||||
CONSTRAINT fk_x_unused_self FOREIGN KEY(ID_REF, NAME_REF) REFERENCES X_UNUSED(ID, NAME)
|
||||
@ -321,7 +334,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
BIG_DECIMAL DECIMAL(22, 5),
|
||||
FLOAT REAL,
|
||||
DOUBLE DOUBLE,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_639_numbers_table PRIMARY KEY(ID)
|
||||
);
|
||||
/
|
||||
@ -329,7 +342,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
CREATE TABLE x_test_case_64_69 (
|
||||
ID INT NOT NULL,
|
||||
UNUSED_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_64_69 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_64_69 FOREIGN KEY(UNUSED_ID) REFERENCES X_UNUSED(ID)
|
||||
);
|
||||
@ -338,7 +351,7 @@ CREATE TABLE x_test_case_64_69 (
|
||||
CREATE TABLE x_test_case_71 (
|
||||
ID INT NOT NULL,
|
||||
TEST_CASE_64_69_ID SMALLINT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_71 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_71 FOREIGN KEY(TEST_CASE_64_69_ID) REFERENCES X_TEST_CASE_64_69(ID)
|
||||
);
|
||||
@ -348,7 +361,7 @@ CREATE TABLE x_test_case_85 (
|
||||
id int NOT NULL,
|
||||
x_unused_id int,
|
||||
x_unused_name VARCHAR(10),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_85 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_85 FOREIGN KEY(x_unused_id, x_unused_name) REFERENCES X_UNUSED(id, name)
|
||||
);
|
||||
@ -358,7 +371,7 @@ CREATE VIEW V_LIBRARY (AUTHOR, TITLE) AS
|
||||
SELECT CONCAT(T_AUTHOR.FIRST_NAME, ' ', T_AUTHOR.LAST_NAME), T_BOOK.TITLE
|
||||
FROM T_AUTHOR JOIN T_BOOK ON T_BOOK.AUTHOR_ID = T_AUTHOR.ID;
|
||||
/
|
||||
|
||||
|
||||
CREATE VIEW v_author AS
|
||||
SELECT * FROM t_author
|
||||
/
|
||||
|
||||
@ -12,6 +12,7 @@ DELETE FROM t_book/
|
||||
DELETE FROM t_author/
|
||||
DELETE FROM t_language/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
DELETE FROM t_identity/
|
||||
DELETE FROM t_identity_pk/
|
||||
|
||||
@ -46,13 +47,13 @@ INSERT INTO t_book VALUES (3, 2, null, null, 'O Alquimista', 1988, 4, null, null
|
||||
INSERT INTO t_book VALUES (4, 2, null, null, 'Brida', 1990, 2, null, null);
|
||||
/
|
||||
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
('Orell Füssli'),
|
||||
('Ex Libris'),
|
||||
('Buchhandlung im Volkshaus')
|
||||
/
|
||||
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
('Orell Füssli', 1, 10),
|
||||
('Orell Füssli', 2, 10),
|
||||
('Orell Füssli', 3, 10),
|
||||
|
||||
@ -6,7 +6,7 @@ DROP FUNCTION IF EXISTS f_arrays2/
|
||||
DROP FUNCTION IF EXISTS f_arrays3/
|
||||
DROP PROCEDURE IF EXISTS p_author_exists/
|
||||
DROP PROCEDURE IF EXISTS p_unused/
|
||||
DROP PROCEDURE IF EXISTS p_create_author/
|
||||
DROP PROCEDURE IF EXISTS p_create_author/
|
||||
DROP PROCEDURE IF EXISTS p_create_author_by_name/
|
||||
DROP PROCEDURE IF EXISTS p391/
|
||||
DROP FUNCTION IF EXISTS f_author_exists/
|
||||
@ -24,6 +24,7 @@ DROP VIEW IF EXISTS v_library/
|
||||
DROP TRIGGER IF EXISTS t_triggers_trigger/
|
||||
DROP SEQUENCE s_triggers_sequence/
|
||||
|
||||
DROP TABLE IF EXISTS t_dates/
|
||||
DROP TABLE IF EXISTS t_triggers/
|
||||
DROP TABLE IF EXISTS t_arrays/
|
||||
DROP TABLE IF EXISTS t_book_to_book_store/
|
||||
@ -64,7 +65,7 @@ DROP TABLE IF EXISTS t_identity_pk/
|
||||
CREATE TABLE t_identity_pk (
|
||||
id INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1),
|
||||
val int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_identity_pk PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -75,6 +76,18 @@ CREATE TABLE t_identity (
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int,
|
||||
d date,
|
||||
t time,
|
||||
ts timestamp,
|
||||
d_int int,
|
||||
ts_bigint bigint,
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id int,
|
||||
one_zero int,
|
||||
@ -87,7 +100,7 @@ CREATE TABLE t_booleans (
|
||||
vc_boolean varchar(1),
|
||||
c_boolean char(1),
|
||||
n_boolean int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_booleans PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -98,7 +111,7 @@ CREATE TABLE t_triggers (
|
||||
id_generated int not null,
|
||||
id int,
|
||||
counter int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_triggers PRIMARY KEY (id_generated)
|
||||
)
|
||||
/
|
||||
@ -109,10 +122,10 @@ ON t_triggers
|
||||
REFERENCING NEW AS new
|
||||
FOR EACH ROW
|
||||
BEGIN ATOMIC
|
||||
select next value for s_triggers_sequence
|
||||
select next value for s_triggers_sequence
|
||||
into new.id_generated
|
||||
from information_schema.system_users;
|
||||
|
||||
|
||||
set new.id = new.id_generated;
|
||||
set new.counter = new.id_generated * 2;
|
||||
END
|
||||
@ -123,28 +136,28 @@ CREATE TABLE t_language (
|
||||
description VARCHAR(50),
|
||||
description_english VARCHAR(50),
|
||||
id INTEGER NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_language PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_11 (
|
||||
id CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_11 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_21 (
|
||||
id INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_21 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_31 (
|
||||
id BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_31 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -152,7 +165,7 @@ CREATE TABLE t_658_31 (
|
||||
CREATE TABLE t_658_12 (
|
||||
id CHAR(3) NOT NULL,
|
||||
cd CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_12 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -160,7 +173,7 @@ CREATE TABLE t_658_12 (
|
||||
CREATE TABLE t_658_22 (
|
||||
id INT NOT NULL,
|
||||
cd INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_22 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -168,7 +181,7 @@ CREATE TABLE t_658_22 (
|
||||
CREATE TABLE t_658_32 (
|
||||
id BIGINT NOT NULL,
|
||||
cd BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_32 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -193,7 +206,7 @@ CREATE TABLE t_658_ref (
|
||||
CREATE TABLE t_725_lob_test (
|
||||
ID int NOT NULL,
|
||||
LOB LONGVARBINARY NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_725_lob_test PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -207,7 +220,7 @@ CREATE TABLE t_785 (
|
||||
|
||||
CREATE TABLE T_937 (
|
||||
T_937 int,
|
||||
|
||||
|
||||
CONSTRAINT T_937 PRIMARY KEY (T_937)
|
||||
)
|
||||
/
|
||||
@ -219,14 +232,14 @@ CREATE TABLE t_author (
|
||||
DATE_OF_BIRTH DATE,
|
||||
YEAR_OF_BIRTH INT,
|
||||
ADDRESS VARCHAR(50),
|
||||
|
||||
|
||||
CONSTRAINT pk_t_author PRIMARY KEY (ID)
|
||||
);
|
||||
/
|
||||
|
||||
CREATE TABLE t_book_details (
|
||||
ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book_details PRIMARY KEY (ID)
|
||||
);
|
||||
/
|
||||
@ -241,18 +254,18 @@ CREATE TABLE t_book (
|
||||
LANGUAGE_ID INT NOT NULL,
|
||||
CONTENT_TEXT LONGVARCHAR,
|
||||
CONTENT_PDF LONGVARBINARY,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_t_book_author_id FOREIGN KEY (AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_co_author_id FOREIGN KEY (CO_AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_language_id FOREIGN KEY (LANGUAGE_ID) REFERENCES T_LANGUAGE(ID)
|
||||
);
|
||||
/
|
||||
|
||||
CREATE TABLE t_book_store (
|
||||
name VARCHAR(400) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT uk_t_book_store_name UNIQUE(name)
|
||||
);
|
||||
/
|
||||
@ -261,7 +274,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
book_store_name VARCHAR(400) NOT NULL,
|
||||
book_id INTEGER NOT NULL,
|
||||
stock INTEGER,
|
||||
|
||||
|
||||
CONSTRAINT pk_b2bs PRIMARY KEY(book_store_name, book_id),
|
||||
CONSTRAINT fk_b2bs_bs_name FOREIGN KEY (book_store_name)
|
||||
REFERENCES t_book_store (name)
|
||||
@ -278,7 +291,7 @@ CREATE TABLE t_arrays (
|
||||
string_array VARCHAR(20) ARRAY,
|
||||
number_array INTEGER ARRAY,
|
||||
date_array DATE ARRAY,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_arrays PRIMARY KEY (ID)
|
||||
);
|
||||
/
|
||||
@ -295,10 +308,10 @@ CREATE TABLE x_unused (
|
||||
META_DATA INT,
|
||||
TYPE0 INT,
|
||||
PRIMARY_KEY INT,
|
||||
PRIMARYKEY INT,
|
||||
NAME_REF VARCHAR(10),
|
||||
PRIMARYKEY INT,
|
||||
NAME_REF VARCHAR(10),
|
||||
"FIELD 737" DECIMAL(25, 2),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_unused PRIMARY KEY(ID, NAME),
|
||||
CONSTRAINT uk_x_unused_id UNIQUE(ID),
|
||||
CONSTRAINT fk_x_unused_self FOREIGN KEY(ID_REF, NAME_REF) REFERENCES X_UNUSED(ID, NAME)
|
||||
@ -319,7 +332,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
BIG_DECIMAL DECIMAL(22, 5),
|
||||
FLOAT REAL,
|
||||
DOUBLE DOUBLE,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_639_numbers_table PRIMARY KEY(ID)
|
||||
);
|
||||
/
|
||||
@ -327,7 +340,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
CREATE TABLE x_test_case_64_69 (
|
||||
ID INT NOT NULL,
|
||||
UNUSED_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_64_69 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_64_69 FOREIGN KEY(UNUSED_ID) REFERENCES X_UNUSED(ID)
|
||||
);
|
||||
@ -336,7 +349,7 @@ CREATE TABLE x_test_case_64_69 (
|
||||
CREATE TABLE x_test_case_71 (
|
||||
ID INT NOT NULL,
|
||||
TEST_CASE_64_69_ID SMALLINT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_71 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_71 FOREIGN KEY(TEST_CASE_64_69_ID) REFERENCES X_TEST_CASE_64_69(ID)
|
||||
);
|
||||
@ -346,7 +359,7 @@ CREATE TABLE x_test_case_85 (
|
||||
id int NOT NULL,
|
||||
x_unused_id int,
|
||||
x_unused_name VARCHAR(10),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_85 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_85 FOREIGN KEY(x_unused_id, x_unused_name) REFERENCES X_UNUSED(id, name)
|
||||
);
|
||||
@ -364,7 +377,7 @@ CREATE VIEW V_LIBRARY (AUTHOR, TITLE) AS
|
||||
SELECT T_AUTHOR.FIRST_NAME + ' ' + T_AUTHOR.LAST_NAME, T_BOOK.TITLE
|
||||
FROM T_AUTHOR JOIN T_BOOK ON T_BOOK.AUTHOR_ID = T_AUTHOR.ID;
|
||||
/
|
||||
|
||||
|
||||
CREATE VIEW v_author AS
|
||||
SELECT * FROM t_author
|
||||
/
|
||||
@ -374,15 +387,15 @@ SELECT * FROM t_book
|
||||
/
|
||||
|
||||
|
||||
CREATE FUNCTION f_author_exists (author_name varchar(50))
|
||||
RETURNS INTEGER
|
||||
CREATE FUNCTION f_author_exists (author_name varchar(50))
|
||||
RETURNS INTEGER
|
||||
READS SQL DATA
|
||||
RETURN (
|
||||
SELECT COUNT(*)
|
||||
FROM t_author
|
||||
WHERE first_name = author_name
|
||||
RETURN (
|
||||
SELECT COUNT(*)
|
||||
FROM t_author
|
||||
WHERE first_name = author_name
|
||||
OR last_name = author_name
|
||||
)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE FUNCTION f_one ()
|
||||
@ -424,19 +437,19 @@ END
|
||||
|
||||
CREATE PROCEDURE p_arrays1(IN in_array int array, OUT out_array int array)
|
||||
BEGIN ATOMIC
|
||||
SET out_array = in_array;
|
||||
SET out_array = in_array;
|
||||
END
|
||||
/
|
||||
|
||||
CREATE PROCEDURE p_arrays2(IN in_array bigint array, OUT out_array bigint array)
|
||||
BEGIN ATOMIC
|
||||
SET out_array = in_array;
|
||||
SET out_array = in_array;
|
||||
END
|
||||
/
|
||||
|
||||
CREATE PROCEDURE p_arrays3(IN in_array varchar(1000) array, OUT out_array varchar(1000) array)
|
||||
BEGIN ATOMIC
|
||||
SET out_array = in_array;
|
||||
SET out_array = in_array;
|
||||
END
|
||||
/
|
||||
|
||||
@ -455,7 +468,7 @@ RETURNS varchar(1000) array
|
||||
RETURN in_array
|
||||
/
|
||||
|
||||
CREATE PROCEDURE p_author_exists (IN author_name VARCHAR(50), OUT result INT)
|
||||
CREATE PROCEDURE p_author_exists (IN author_name VARCHAR(50), OUT result INT)
|
||||
READS SQL DATA
|
||||
BEGIN ATOMIC
|
||||
SELECT COUNT(*) INTO result
|
||||
|
||||
@ -12,6 +12,7 @@ DELETE FROM t_book/
|
||||
DELETE FROM t_author/
|
||||
DELETE FROM t_language/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
DELETE FROM t_identity/
|
||||
DELETE FROM t_identity_pk/
|
||||
|
||||
@ -40,13 +41,13 @@ INSERT INTO t_book VALUES (2, 1, null, null, 'Animal Farm', 1945, 1, null, null)
|
||||
INSERT INTO t_book VALUES (3, 2, null, null, 'O Alquimista', 1988, 4, null, null)/
|
||||
INSERT INTO t_book VALUES (4, 2, null, null, 'Brida', 1990, 2, null, null)/
|
||||
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
('Orell Füssli'),
|
||||
('Ex Libris'),
|
||||
('Buchhandlung im Volkshaus')
|
||||
/
|
||||
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
('Orell Füssli', 1, 10),
|
||||
('Orell Füssli', 2, 10),
|
||||
('Orell Füssli', 3, 10),
|
||||
|
||||
@ -28,6 +28,7 @@ DROP TABLE IF EXISTS t_658_32/
|
||||
DROP TABLE IF EXISTS t_725_lob_test/
|
||||
DROP TABLE IF EXISTS t_785/
|
||||
DROP TABLE IF EXISTS t_booleans/
|
||||
DROP TABLE IF EXISTS t_dates/
|
||||
DROP TABLE IF EXISTS t_identity/
|
||||
DROP TABLE IF EXISTS t_identity_pk/
|
||||
|
||||
@ -45,6 +46,18 @@ CREATE TABLE t_identity (
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int not null,
|
||||
d date,
|
||||
t time,
|
||||
ts timestamp,
|
||||
d_int int,
|
||||
ts_bigint bigint,
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id int not null,
|
||||
one_zero int,
|
||||
|
||||
@ -11,6 +11,7 @@ DELETE FROM t_book/
|
||||
DELETE FROM t_author/
|
||||
DELETE FROM t_language/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
DELETE FROM t_identity/
|
||||
DELETE FROM t_identity_pk/
|
||||
|
||||
|
||||
@ -109,7 +109,6 @@ import org.junit.Test;
|
||||
import org.postgresql.util.PSQLException;
|
||||
|
||||
import com.microsoft.sqlserver.jdbc.SQLServerException;
|
||||
import com.sybase.jdbc3.jdbc.SybSQLException;
|
||||
|
||||
/**
|
||||
* The abstract test suite uses generic types to model the generated test schema
|
||||
@ -264,7 +263,7 @@ public abstract class jOOQAbstractTest<
|
||||
}
|
||||
|
||||
// There is no DROP FUNCTION IF EXISTS statement in Postgres
|
||||
else if (e instanceof PSQLException) {
|
||||
else if (e.getClass().getName().startsWith("org.postgresql")) {
|
||||
if ("42883".equals(((PSQLException) e).getSQLState())) {
|
||||
continue;
|
||||
}
|
||||
@ -278,7 +277,7 @@ public abstract class jOOQAbstractTest<
|
||||
}
|
||||
|
||||
// There is no DROP ** IF EXISTS statement in SQL Server
|
||||
else if (e instanceof SQLServerException) {
|
||||
else if (e.getClass().getName().startsWith("com.microsoft")) {
|
||||
switch (((SQLServerException)e).getErrorCode()) {
|
||||
case 3701: // Tables
|
||||
case 218: // Types
|
||||
@ -287,7 +286,7 @@ public abstract class jOOQAbstractTest<
|
||||
}
|
||||
|
||||
// There is no DROP SEQUENCE IF EXISTS statement in Sybase
|
||||
else if (e instanceof SybSQLException) {
|
||||
else if (e.getClass().getName().startsWith("com.sybase")) {
|
||||
if (sql.contains("DROP SEQUENCE")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -4,8 +4,8 @@ DROP VIEW IF EXISTS v_book/
|
||||
|
||||
DROP PROCEDURE IF EXISTS p_unused/
|
||||
DROP PROCEDURE IF EXISTS p_author_exists/
|
||||
DROP PROCEDURE IF EXISTS p_create_author/
|
||||
DROP PROCEDURE IF EXISTS p_create_author_by_name/
|
||||
DROP PROCEDURE IF EXISTS p_create_author/
|
||||
DROP PROCEDURE IF EXISTS p_create_author_by_name/
|
||||
DROP PROCEDURE IF EXISTS p391/
|
||||
DROP FUNCTION IF EXISTS f_author_exists/
|
||||
DROP FUNCTION IF EXISTS f_one/
|
||||
@ -14,6 +14,7 @@ DROP FUNCTION IF EXISTS f317/
|
||||
|
||||
DROP TRIGGER IF EXISTS t_triggers_trigger/
|
||||
|
||||
DROP TABLE IF EXISTS t_dates/
|
||||
DROP TABLE IF EXISTS t_triggers/
|
||||
DROP TABLE IF EXISTS t_book_to_book_store/
|
||||
DROP TABLE IF EXISTS t_book_store/
|
||||
@ -43,11 +44,23 @@ DROP TABLE IF EXISTS t_identity_pk/
|
||||
CREATE TABLE t_identity_pk (
|
||||
id INT NOT NULL AUTO_INCREMENT,
|
||||
val int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_identity_pk PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int,
|
||||
d date,
|
||||
t time,
|
||||
ts timestamp,
|
||||
d_int int,
|
||||
ts_bigint bigint,
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id int,
|
||||
one_zero int,
|
||||
@ -60,7 +73,7 @@ CREATE TABLE t_booleans (
|
||||
vc_boolean varchar(1),
|
||||
c_boolean char(1),
|
||||
n_boolean int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_booleans PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -69,10 +82,10 @@ CREATE TABLE t_959 (
|
||||
java_keywords enum('abstract', 'assert', 'boolean', 'break', 'byte', 'case', 'catch',
|
||||
'char', 'class', 'const', 'continue', 'default', 'double', 'do',
|
||||
'else', 'enum', 'extends', 'false', 'final', 'finally', 'float',
|
||||
'for', 'goto', 'if', 'implements', 'import', 'instanceof',
|
||||
'for', 'goto', 'if', 'implements', 'import', 'instanceof',
|
||||
'interface', 'int', 'long', 'native', 'new', 'package', 'private',
|
||||
'protected', 'public', 'return', 'short', 'static', 'strictfp',
|
||||
'super', 'switch', 'synchronized', 'this', 'throw', 'throws',
|
||||
'protected', 'public', 'return', 'short', 'static', 'strictfp',
|
||||
'super', 'switch', 'synchronized', 'this', 'throw', 'throws',
|
||||
'transient', 'true', 'try', 'void', 'volatile', 'while')
|
||||
) ENGINE = InnoDB
|
||||
/
|
||||
@ -89,7 +102,7 @@ CREATE TABLE t_triggers (
|
||||
id_generated int not null AUTO_INCREMENT,
|
||||
id int,
|
||||
counter int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_triggers PRIMARY KEY (id_generated)
|
||||
) ENGINE = InnoDB
|
||||
/
|
||||
@ -100,9 +113,9 @@ ON t_triggers
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DECLARE new_id INT;
|
||||
|
||||
|
||||
SELECT IFNULL(MAX(id_generated), 0) + 1 INTO new_id FROM t_triggers;
|
||||
|
||||
|
||||
SET NEW.id = new_id;
|
||||
SET NEW.counter = new_id * 2;
|
||||
END;
|
||||
@ -113,7 +126,7 @@ CREATE TABLE t_language (
|
||||
DESCRIPTION VARCHAR(50) COMMENT 'The language description',
|
||||
description_english VARCHAR(50),
|
||||
ID INT NOT NULL COMMENT 'The language ID',
|
||||
|
||||
|
||||
CONSTRAINT pk_t_language PRIMARY KEY (ID)
|
||||
) ENGINE = InnoDB
|
||||
COMMENT 'An entity holding language master data'
|
||||
@ -121,21 +134,21 @@ CREATE TABLE t_language (
|
||||
|
||||
CREATE TABLE t_658_11 (
|
||||
id CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_11 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_21 (
|
||||
id INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_21 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_31 (
|
||||
id BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_31 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -143,7 +156,7 @@ CREATE TABLE t_658_31 (
|
||||
CREATE TABLE t_658_12 (
|
||||
id CHAR(3) NOT NULL,
|
||||
cd CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_12 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -151,7 +164,7 @@ CREATE TABLE t_658_12 (
|
||||
CREATE TABLE t_658_22 (
|
||||
id INT NOT NULL,
|
||||
cd INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_22 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -159,7 +172,7 @@ CREATE TABLE t_658_22 (
|
||||
CREATE TABLE t_658_32 (
|
||||
id BIGINT NOT NULL,
|
||||
cd BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_32 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -184,7 +197,7 @@ CREATE TABLE t_658_ref (
|
||||
CREATE TABLE t_725_lob_test (
|
||||
ID int NOT NULL,
|
||||
LOB LONGBLOB NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_725_lob_test PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -203,7 +216,7 @@ CREATE TABLE t_author (
|
||||
DATE_OF_BIRTH DATE COMMENT 'The author''s date of birth',
|
||||
YEAR_OF_BIRTH INT COMMENT 'The author''s year of birth',
|
||||
ADDRESS VARCHAR(200) COMMENT 'The author''s address',
|
||||
|
||||
|
||||
CONSTRAINT pk_t_author PRIMARY KEY (ID)
|
||||
) ENGINE = InnoDB
|
||||
COMMENT = 'An entity holding authors of books';
|
||||
@ -211,7 +224,7 @@ CREATE TABLE t_author (
|
||||
|
||||
CREATE TABLE t_book_details (
|
||||
ID INT NOT NULL COMMENT 'The details ID',
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book_details PRIMARY KEY (ID)
|
||||
) ENGINE = InnoDB
|
||||
COMMENT = 'An unused details table'
|
||||
@ -230,11 +243,11 @@ CREATE TABLE t_book (
|
||||
STATUS enum('SOLD OUT','ORDERED','ON STOCK') COMMENT 'The book''s stock status',
|
||||
INDEX (AUTHOR_ID),
|
||||
INDEX (LANGUAGE_ID),
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_t_book_author_id FOREIGN KEY (AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_co_author_id FOREIGN KEY (CO_AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_language_id FOREIGN KEY (LANGUAGE_ID) REFERENCES T_LANGUAGE(ID)
|
||||
) ENGINE = InnoDB
|
||||
COMMENT = 'An entity holding books';
|
||||
@ -242,7 +255,7 @@ CREATE TABLE t_book (
|
||||
|
||||
CREATE TABLE t_book_store (
|
||||
name VARCHAR(400) NOT NULL COMMENT 'The books store name',
|
||||
|
||||
|
||||
CONSTRAINT uk_t_book_store_name UNIQUE(name)
|
||||
) ENGINE = InnoDB
|
||||
COMMENT = 'A book store'
|
||||
@ -252,7 +265,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
book_store_name VARCHAR(400) NOT NULL COMMENT 'The book store name',
|
||||
book_id INTEGER NOT NULL COMMENT 'The book ID',
|
||||
stock INTEGER COMMENT 'The number of books on stock',
|
||||
|
||||
|
||||
CONSTRAINT pk_b2bs PRIMARY KEY(book_store_name, book_id),
|
||||
CONSTRAINT fk_b2bs_bs_name FOREIGN KEY (book_store_name)
|
||||
REFERENCES t_book_store (name)
|
||||
@ -278,9 +291,9 @@ CREATE TABLE x_unused (
|
||||
META_DATA INT,
|
||||
TYPE0 INT,
|
||||
PRIMARY_KEY INT,
|
||||
PRIMARYKEY INT,
|
||||
PRIMARYKEY INT,
|
||||
`FIELD 737` DECIMAL(25, 2),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_unused PRIMARY KEY(ID, NAME),
|
||||
CONSTRAINT uk_x_unused_id UNIQUE(ID),
|
||||
CONSTRAINT fk_x_unused_self FOREIGN KEY(ID_REF, NAME_REF) REFERENCES X_UNUSED(ID, NAME)
|
||||
@ -309,7 +322,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
CREATE TABLE x_test_case_64_69 (
|
||||
ID INT NOT NULL,
|
||||
UNUSED_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_64_69 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_64_69 FOREIGN KEY(UNUSED_ID) REFERENCES X_UNUSED(ID)
|
||||
) ENGINE = InnoDB
|
||||
@ -319,7 +332,7 @@ CREATE TABLE x_test_case_64_69 (
|
||||
CREATE TABLE x_test_case_71 (
|
||||
ID INT NOT NULL,
|
||||
TEST_CASE_64_69_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_71 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_71 FOREIGN KEY(TEST_CASE_64_69_ID) REFERENCES X_TEST_CASE_64_69(ID)
|
||||
) ENGINE = InnoDB
|
||||
@ -330,7 +343,7 @@ CREATE TABLE x_test_case_85 (
|
||||
id int NOT NULL,
|
||||
x_unused_id int,
|
||||
x_unused_name VARCHAR(10),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_85 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_85 FOREIGN KEY(x_unused_id, x_unused_name) REFERENCES X_UNUSED(id, name)
|
||||
) ENGINE = InnoDB
|
||||
@ -341,7 +354,7 @@ CREATE OR REPLACE VIEW V_LIBRARY (AUTHOR, TITLE) AS
|
||||
SELECT CONCAT(A.FIRST_NAME, ' ', A.LAST_NAME), B.TITLE
|
||||
FROM T_AUTHOR A JOIN T_BOOK B ON B.AUTHOR_ID = A.ID;
|
||||
/
|
||||
|
||||
|
||||
CREATE VIEW v_author AS
|
||||
SELECT * FROM t_author
|
||||
/
|
||||
@ -360,9 +373,9 @@ CREATE PROCEDURE p_create_author_by_name (IN first_name VARCHAR(50), IN last_nam
|
||||
COMMENT 'Create a new author'
|
||||
BEGIN
|
||||
SET @id = 0;
|
||||
|
||||
|
||||
SELECT max(id) + 1 INTO @id FROM t_author;
|
||||
|
||||
|
||||
INSERT INTO T_AUTHOR (ID, FIRST_NAME, LAST_NAME)
|
||||
VALUES (@id, first_name, last_name);
|
||||
END
|
||||
@ -379,8 +392,8 @@ CREATE PROCEDURE p_author_exists (author_name VARCHAR(50), OUT result INT)
|
||||
COMMENT 'Check existence of an author'
|
||||
BEGIN
|
||||
SELECT COUNT(*) > 0 INTO result
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
OR last_name LIKE author_name;
|
||||
END
|
||||
/
|
||||
@ -403,8 +416,8 @@ CREATE FUNCTION f_author_exists (author_name VARCHAR(50))
|
||||
COMMENT 'Check existence of an author'
|
||||
BEGIN
|
||||
RETURN (SELECT COUNT(*) > 0
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
OR last_name LIKE author_name);
|
||||
END
|
||||
/
|
||||
|
||||
@ -11,6 +11,7 @@ DELETE FROM t_book/
|
||||
DELETE FROM t_author/
|
||||
DELETE FROM t_language/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
DELETE FROM t_identity_pk/
|
||||
|
||||
INSERT INTO t_language (id, cd, description, description_english) VALUES (1, 'en', 'English', 'English')/
|
||||
@ -35,12 +36,12 @@ INSERT INTO t_book VALUES (2, 1, null, null, 'Animal Farm', 1945, 1, null, null,
|
||||
INSERT INTO t_book VALUES (3, 2, null, null, 'O Alquimista', 1988, 4, null, null, 'ON STOCK')/
|
||||
INSERT INTO t_book VALUES (4, 2, null, null, 'Brida', 1990, 2, null, null, 'SOLD OUT')/
|
||||
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
('Orell Füssli'),
|
||||
('Ex Libris'),
|
||||
('Buchhandlung im Volkshaus')/
|
||||
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
('Orell Füssli', 1, 10),
|
||||
('Orell Füssli', 2, 10),
|
||||
('Orell Füssli', 3, 10),
|
||||
|
||||
@ -15,6 +15,7 @@ DROP TABLE multi_schema.t_book_sale/
|
||||
DROP TABLE multi_schema.t_book/
|
||||
DROP TABLE multi_schema.t_author/
|
||||
|
||||
DROP TABLE t_dates/
|
||||
DROP TABLE t_triggers/
|
||||
DROP TABLE t_arrays/
|
||||
DROP TABLE t_book_to_book_store/
|
||||
@ -245,6 +246,18 @@ CREATE SEQUENCE s_961_big_integer/
|
||||
CREATE SEQUENCE s_triggers_sequence
|
||||
/
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int,
|
||||
d date,
|
||||
t timestamp,
|
||||
ts timestamp,
|
||||
d_int number(7),
|
||||
ts_bigint number(18),
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id number(7),
|
||||
one_zero number(7),
|
||||
|
||||
@ -16,6 +16,7 @@ DELETE FROM t_language/
|
||||
DELETE FROM t_directory/
|
||||
DELETE FROM t_triggers/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
|
||||
DROP SEQUENCE s_author_id/
|
||||
CREATE SEQUENCE s_author_id MAXVALUE 2000000000/
|
||||
|
||||
@ -12,8 +12,8 @@ DROP FUNCTION p_enhance_address1(address IN u_address_type, no OUT VARCHAR)/
|
||||
DROP FUNCTION p_enhance_address2(address OUT u_address_type)/
|
||||
DROP FUNCTION p_enhance_address3(address IN OUT u_address_type)/
|
||||
DROP FUNCTION p_unused(in1 VARCHAR, out1 OUT INTEGER, out2 IN OUT INTEGER)/
|
||||
DROP FUNCTION p_create_author()/
|
||||
DROP FUNCTION p_create_author_by_name(first_name VARCHAR, last_name VARCHAR)/
|
||||
DROP FUNCTION p_create_author()/
|
||||
DROP FUNCTION p_create_author_by_name(first_name VARCHAR, last_name VARCHAR)/
|
||||
DROP FUNCTION p_author_exists(author_name VARCHAR, result OUT INTEGER)/
|
||||
DROP FUNCTION p391(
|
||||
i1 INTEGER, io1 IN OUT INTEGER, o1 OUT INTEGER,
|
||||
@ -30,28 +30,29 @@ DROP FUNCTION f_get_one_cursor(book_ids IN int[])/
|
||||
DROP TRIGGER IF EXISTS t_triggers_trigger ON t_triggers/
|
||||
DROP FUNCTION p_triggers()/
|
||||
|
||||
DROP TABLE IF EXISTS t_triggers CASCADE/
|
||||
DROP TABLE IF EXISTS t_arrays CASCADE/
|
||||
DROP TABLE IF EXISTS t_book_to_book_store CASCADE/
|
||||
DROP TABLE IF EXISTS t_book_store CASCADE/
|
||||
DROP TABLE IF EXISTS t_book CASCADE/
|
||||
DROP TABLE IF EXISTS t_book_details CASCADE/
|
||||
DROP TABLE IF EXISTS t_author CASCADE/
|
||||
DROP TABLE IF EXISTS t_language CASCADE/
|
||||
DROP TABLE IF EXISTS x_test_case_71 CASCADE/
|
||||
DROP TABLE IF EXISTS x_test_case_64_69 CASCADE/
|
||||
DROP TABLE IF EXISTS x_test_case_85 CASCADE/
|
||||
DROP TABLE IF EXISTS t_986_1 CASCADE/
|
||||
DROP TABLE IF EXISTS t_986_2 CASCADE/
|
||||
DROP TABLE IF EXISTS x_unused CASCADE/
|
||||
DROP TABLE IF EXISTS t_639_numbers_table CASCADE/
|
||||
DROP TABLE IF EXISTS t_658_ref CASCADE/
|
||||
DROP TABLE IF EXISTS t_658_11 CASCADE/
|
||||
DROP TABLE IF EXISTS t_658_21 CASCADE/
|
||||
DROP TABLE IF EXISTS t_658_31 CASCADE/
|
||||
DROP TABLE IF EXISTS t_658_12 CASCADE/
|
||||
DROP TABLE IF EXISTS t_658_22 CASCADE/
|
||||
DROP TABLE IF EXISTS t_658_32 CASCADE/
|
||||
DROP TABLE IF EXISTS t_dates/
|
||||
DROP TABLE IF EXISTS t_triggers/
|
||||
DROP TABLE IF EXISTS t_arrays/
|
||||
DROP TABLE IF EXISTS t_book_to_book_store/
|
||||
DROP TABLE IF EXISTS t_book_store/
|
||||
DROP TABLE IF EXISTS t_book/
|
||||
DROP TABLE IF EXISTS t_book_details/
|
||||
DROP TABLE IF EXISTS t_author/
|
||||
DROP TABLE IF EXISTS t_language/
|
||||
DROP TABLE IF EXISTS x_test_case_71/
|
||||
DROP TABLE IF EXISTS x_test_case_64_69/
|
||||
DROP TABLE IF EXISTS x_test_case_85/
|
||||
DROP TABLE IF EXISTS t_986_1/
|
||||
DROP TABLE IF EXISTS t_986_2/
|
||||
DROP TABLE IF EXISTS x_unused/
|
||||
DROP TABLE IF EXISTS t_639_numbers_table/
|
||||
DROP TABLE IF EXISTS t_658_ref/
|
||||
DROP TABLE IF EXISTS t_658_11/
|
||||
DROP TABLE IF EXISTS t_658_21/
|
||||
DROP TABLE IF EXISTS t_658_31/
|
||||
DROP TABLE IF EXISTS t_658_12/
|
||||
DROP TABLE IF EXISTS t_658_22/
|
||||
DROP TABLE IF EXISTS t_658_32/
|
||||
DROP TABLE IF EXISTS t_725_lob_test/
|
||||
DROP TABLE IF EXISTS t_785/
|
||||
DROP TABLE IF EXISTS t_959/
|
||||
@ -59,19 +60,19 @@ DROP TABLE IF EXISTS t_booleans/
|
||||
DROP TABLE IF EXISTS t_identity/
|
||||
DROP TABLE IF EXISTS t_identity_pk/
|
||||
|
||||
DROP TYPE IF EXISTS u_address_type CASCADE/
|
||||
DROP TYPE IF EXISTS u_street_type CASCADE/
|
||||
DROP TYPE IF EXISTS u_book_status CASCADE/
|
||||
DROP TYPE IF EXISTS u_country CASCADE/
|
||||
DROP TYPE IF EXISTS u_959 CASCADE/
|
||||
DROP TYPE IF EXISTS u_address_type/
|
||||
DROP TYPE IF EXISTS u_street_type/
|
||||
DROP TYPE IF EXISTS u_book_status/
|
||||
DROP TYPE IF EXISTS u_country/
|
||||
DROP TYPE IF EXISTS u_959/
|
||||
|
||||
CREATE TYPE u_959 AS ENUM('abstract', 'assert', 'boolean', 'break', 'byte', 'case', 'catch',
|
||||
'char', 'class', 'const', 'continue', 'default', 'double', 'do',
|
||||
'else', 'enum', 'extends', 'false', 'final', 'finally', 'float',
|
||||
'for', 'goto', 'if', 'implements', 'import', 'instanceof',
|
||||
'for', 'goto', 'if', 'implements', 'import', 'instanceof',
|
||||
'interface', 'int', 'long', 'native', 'new', 'package', 'private',
|
||||
'protected', 'public', 'return', 'short', 'static', 'strictfp',
|
||||
'super', 'switch', 'synchronized', 'this', 'throw', 'throws',
|
||||
'protected', 'public', 'return', 'short', 'static', 'strictfp',
|
||||
'super', 'switch', 'synchronized', 'this', 'throw', 'throws',
|
||||
'transient', 'true', 'try', 'void', 'volatile', 'while')/
|
||||
CREATE TYPE u_book_status AS ENUM ('SOLD OUT', 'ON STOCK', 'ORDERED')/
|
||||
CREATE TYPE u_country AS ENUM ('Brazil', 'England', 'Germany')/
|
||||
@ -96,7 +97,7 @@ CREATE TYPE u_address_type AS (
|
||||
CREATE TABLE t_identity_pk (
|
||||
id serial not null,
|
||||
val int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_identity_pk PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -107,6 +108,18 @@ CREATE TABLE t_identity (
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int,
|
||||
d date,
|
||||
t time,
|
||||
ts timestamp,
|
||||
d_int int,
|
||||
ts_bigint bigint,
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id int,
|
||||
one_zero int,
|
||||
@ -119,7 +132,7 @@ CREATE TABLE t_booleans (
|
||||
vc_boolean varchar(1),
|
||||
c_boolean char(1),
|
||||
n_boolean int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_booleans PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -133,7 +146,7 @@ CREATE TABLE t_triggers (
|
||||
id_generated serial4 not null,
|
||||
id int,
|
||||
counter int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_triggers PRIMARY KEY (id_generated)
|
||||
)
|
||||
/
|
||||
@ -144,9 +157,9 @@ AS $$
|
||||
BEGIN
|
||||
new.id = new.id_generated;
|
||||
new.counter = new.id_generated * 2;
|
||||
|
||||
|
||||
return new;
|
||||
END
|
||||
END
|
||||
$$ LANGUAGE plpgsql;
|
||||
/
|
||||
|
||||
@ -162,7 +175,7 @@ CREATE TABLE t_language (
|
||||
description VARCHAR(50),
|
||||
description_english VARCHAR(50),
|
||||
id INTEGER NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_language PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
@ -177,21 +190,21 @@ COMMENT ON COLUMN t_language.description IS 'The language description'
|
||||
|
||||
CREATE TABLE t_658_11 (
|
||||
id CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_11 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_21 (
|
||||
id INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_21 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_31 (
|
||||
id BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_31 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -199,7 +212,7 @@ CREATE TABLE t_658_31 (
|
||||
CREATE TABLE t_658_12 (
|
||||
id CHAR(3) NOT NULL,
|
||||
cd CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_12 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -207,7 +220,7 @@ CREATE TABLE t_658_12 (
|
||||
CREATE TABLE t_658_22 (
|
||||
id INT NOT NULL,
|
||||
cd INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_22 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -215,7 +228,7 @@ CREATE TABLE t_658_22 (
|
||||
CREATE TABLE t_658_32 (
|
||||
id BIGINT NOT NULL,
|
||||
cd BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_32 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -240,7 +253,7 @@ CREATE TABLE t_658_ref (
|
||||
CREATE TABLE t_725_lob_test (
|
||||
ID int NOT NULL,
|
||||
LOB BYTEA NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_725_lob_test PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -259,7 +272,7 @@ CREATE TABLE t_author (
|
||||
date_of_birth DATE,
|
||||
year_of_birth INTEGER,
|
||||
address u_address_type,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_author PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
@ -280,7 +293,7 @@ COMMENT ON COLUMN t_author.address IS 'The author''s address'
|
||||
|
||||
CREATE TABLE t_book_details (
|
||||
ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book_details PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
@ -298,11 +311,11 @@ CREATE TABLE t_book (
|
||||
content_text TEXT,
|
||||
content_pdf BYTEA,
|
||||
status u_book_status,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_t_book_author_id FOREIGN KEY (AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_co_author_id FOREIGN KEY (CO_AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_language_id FOREIGN KEY (LANGUAGE_ID) REFERENCES T_LANGUAGE(ID)
|
||||
)
|
||||
/
|
||||
@ -328,7 +341,7 @@ COMMENT ON COLUMN t_book.status IS 'The book''s stock status'
|
||||
|
||||
CREATE TABLE t_book_store (
|
||||
name VARCHAR(400) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT uk_t_book_store_name UNIQUE(name)
|
||||
)
|
||||
/
|
||||
@ -342,7 +355,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
book_store_name VARCHAR(400) NOT NULL,
|
||||
book_id INTEGER NOT NULL,
|
||||
stock INTEGER,
|
||||
|
||||
|
||||
CONSTRAINT pk_b2bs PRIMARY KEY(book_store_name, book_id),
|
||||
CONSTRAINT fk_b2bs_bs_name FOREIGN KEY (book_store_name)
|
||||
REFERENCES t_book_store (name)
|
||||
@ -370,7 +383,7 @@ CREATE TABLE t_arrays (
|
||||
udt_array u_street_type[],
|
||||
enum_array u_country[],
|
||||
array_array INTEGER[][],
|
||||
|
||||
|
||||
CONSTRAINT pk_t_arrays PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
@ -388,10 +401,10 @@ CREATE TABLE x_unused (
|
||||
VALUES INT,
|
||||
TYPE0 INT,
|
||||
PRIMARY_KEY INT,
|
||||
PRIMARYKEY INT,
|
||||
name_ref VARCHAR(10),
|
||||
PRIMARYKEY INT,
|
||||
name_ref VARCHAR(10),
|
||||
"FIELD 737" DECIMAL(25, 2),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_unused PRIMARY KEY(ID, NAME),
|
||||
CONSTRAINT uk_x_unused_id UNIQUE(ID),
|
||||
CONSTRAINT fk_x_unused_self FOREIGN KEY(ID_REF, NAME_REF) REFERENCES X_UNUSED(ID, NAME)
|
||||
@ -402,14 +415,14 @@ COMMENT ON TABLE x_unused IS 'An unused table in the same schema.'
|
||||
|
||||
CREATE TABLE t_986_1 (
|
||||
REF INT,
|
||||
|
||||
|
||||
CONSTRAINT fk_986 FOREIGN KEY(REF) REFERENCES X_UNUSED(ID)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_986_2 (
|
||||
REF INT,
|
||||
|
||||
|
||||
CONSTRAINT fk_986 FOREIGN KEY(REF) REFERENCES X_UNUSED(ID)
|
||||
)
|
||||
/
|
||||
@ -427,7 +440,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
BIG_DECIMAL DECIMAL(22, 5),
|
||||
FLOAT REAL,
|
||||
DOUBLE DOUBLE PRECISION,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_639_numbers_table PRIMARY KEY(ID)
|
||||
);
|
||||
/
|
||||
@ -436,7 +449,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
CREATE TABLE x_test_case_64_69 (
|
||||
id INTEGER NOT NULL,
|
||||
unused_id INTEGER,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_64_69 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_64_69 FOREIGN KEY(UNUSED_ID) REFERENCES X_UNUSED(ID)
|
||||
)
|
||||
@ -445,7 +458,7 @@ CREATE TABLE x_test_case_64_69 (
|
||||
CREATE TABLE x_test_case_71 (
|
||||
id INTEGER NOT NULL,
|
||||
test_case_64_69_id SMALLINT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_71 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_71 FOREIGN KEY(TEST_CASE_64_69_ID) REFERENCES X_TEST_CASE_64_69(ID)
|
||||
)
|
||||
@ -455,7 +468,7 @@ CREATE TABLE x_test_case_85 (
|
||||
id INTEGER NOT NULL,
|
||||
x_unused_id INTEGER,
|
||||
x_unused_name VARCHAR(10),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_85 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_85 FOREIGN KEY(x_unused_id, x_unused_name) REFERENCES X_UNUSED(id, name)
|
||||
)
|
||||
@ -466,7 +479,7 @@ CREATE OR REPLACE VIEW v_library (author, title) AS
|
||||
SELECT a.first_name || ' ' || a.last_name, b.title
|
||||
FROM t_author a JOIN t_book b ON b.author_id = a.id
|
||||
/
|
||||
|
||||
|
||||
CREATE VIEW v_author AS
|
||||
SELECT * FROM t_author
|
||||
/
|
||||
@ -496,7 +509,7 @@ CREATE FUNCTION p_enhance_address2 (address OUT u_address_type)
|
||||
AS $$
|
||||
BEGIN
|
||||
address := (
|
||||
SELECT t_author.address
|
||||
SELECT t_author.address
|
||||
FROM t_author
|
||||
WHERE first_name = 'George'
|
||||
);
|
||||
@ -538,10 +551,10 @@ DECLARE
|
||||
BEGIN
|
||||
SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END
|
||||
INTO v_result
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
OR last_name LIKE author_name;
|
||||
|
||||
|
||||
result := v_result;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
@ -620,10 +633,10 @@ DECLARE
|
||||
BEGIN
|
||||
SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END
|
||||
INTO v_result
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
OR last_name LIKE author_name;
|
||||
|
||||
|
||||
return v_result;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
@ -657,7 +670,7 @@ $$ LANGUAGE plpgsql;
|
||||
/
|
||||
|
||||
CREATE FUNCTION p_get_two_cursors (
|
||||
books OUT refcursor,
|
||||
books OUT refcursor,
|
||||
authors OUT refcursor)
|
||||
AS $$
|
||||
BEGIN
|
||||
@ -669,7 +682,7 @@ $$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE FUNCTION p_get_one_cursor (
|
||||
total OUT int,
|
||||
books OUT refcursor,
|
||||
books OUT refcursor,
|
||||
book_ids IN int[])
|
||||
AS $$
|
||||
BEGIN
|
||||
@ -690,7 +703,7 @@ BEGIN
|
||||
ELSE
|
||||
OPEN ref FOR SELECT * FROM t_book WHERE id IN (SELECT * FROM UNNEST(book_ids)) ORDER BY id ASC;
|
||||
END IF;
|
||||
|
||||
|
||||
RETURN ref;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
@ -12,6 +12,7 @@ DELETE FROM t_book/
|
||||
DELETE FROM t_author/
|
||||
DELETE FROM t_language/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
DELETE FROM t_identity/
|
||||
DELETE FROM t_identity_pk/
|
||||
|
||||
@ -46,7 +47,7 @@ INSERT INTO t_book VALUES (3, 2, null, null, 'O Alquimista', 1988, 4, null, null
|
||||
INSERT INTO t_book VALUES (4, 2, null, null, 'Brida', 1990, 2, null, null, 'SOLD OUT')
|
||||
/
|
||||
|
||||
INSERT INTO t_book_store (name)
|
||||
INSERT INTO t_book_store (name)
|
||||
VALUES ('Orell Füssli'),
|
||||
('Ex Libris'),
|
||||
('Buchhandlung im Volkshaus')
|
||||
|
||||
@ -27,6 +27,19 @@ DROP TABLE IF EXISTS t_658_32/
|
||||
DROP TABLE IF EXISTS t_725_lob_test/
|
||||
DROP TABLE IF EXISTS t_785/
|
||||
DROP TABLE IF EXISTS t_booleans/
|
||||
DROP TABLE IF EXISTS t_dates/
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int,
|
||||
d date,
|
||||
t time,
|
||||
ts timestamp,
|
||||
d_int int,
|
||||
ts_bigint bigint,
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id int,
|
||||
@ -40,7 +53,7 @@ CREATE TABLE t_booleans (
|
||||
vc_boolean varchar(1),
|
||||
c_boolean char(1),
|
||||
n_boolean int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_booleans PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -68,28 +81,28 @@ CREATE TABLE t_language (
|
||||
description VARCHAR(50),
|
||||
description_english VARCHAR(50),
|
||||
id INTEGER NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_language PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_11 (
|
||||
id CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_11 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_21 (
|
||||
id INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_21 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_31 (
|
||||
id BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_31 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -97,7 +110,7 @@ CREATE TABLE t_658_31 (
|
||||
CREATE TABLE t_658_12 (
|
||||
id CHAR(3) NOT NULL,
|
||||
cd CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_12 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -105,7 +118,7 @@ CREATE TABLE t_658_12 (
|
||||
CREATE TABLE t_658_22 (
|
||||
id INT NOT NULL,
|
||||
cd INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_22 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -113,7 +126,7 @@ CREATE TABLE t_658_22 (
|
||||
CREATE TABLE t_658_32 (
|
||||
id BIGINT NOT NULL,
|
||||
cd BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_32 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -138,7 +151,7 @@ CREATE TABLE t_658_ref (
|
||||
CREATE TABLE t_725_lob_test (
|
||||
ID int NOT NULL,
|
||||
LOB LONGVARBINARY NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_725_lob_test PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -157,14 +170,14 @@ CREATE TABLE t_author (
|
||||
DATE_OF_BIRTH DATE,
|
||||
YEAR_OF_BIRTH INT,
|
||||
ADDRESS VARCHAR(50),
|
||||
|
||||
|
||||
CONSTRAINT pk_t_author PRIMARY KEY (ID)
|
||||
);
|
||||
/
|
||||
|
||||
CREATE TABLE t_book_details (
|
||||
ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book_details PRIMARY KEY (ID)
|
||||
);
|
||||
/
|
||||
@ -179,18 +192,18 @@ CREATE TABLE t_book (
|
||||
LANGUAGE_ID INT NOT NULL,
|
||||
CONTENT_TEXT LONGVARCHAR,
|
||||
CONTENT_PDF LONGVARBINARY,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_t_book_author_id FOREIGN KEY (AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_co_author_id FOREIGN KEY (CO_AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_language_id FOREIGN KEY (LANGUAGE_ID) REFERENCES T_LANGUAGE(ID)
|
||||
);
|
||||
/
|
||||
|
||||
CREATE TABLE t_book_store (
|
||||
name VARCHAR(400) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT uk_t_book_store_name PRIMARY KEY(name)
|
||||
);
|
||||
/
|
||||
@ -199,7 +212,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
book_store_name VARCHAR(400) NOT NULL,
|
||||
book_id INT NOT NULL,
|
||||
stock INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_b2bs PRIMARY KEY(book_store_name, book_id),
|
||||
CONSTRAINT fk_b2bs_bs_name FOREIGN KEY (book_store_name)
|
||||
REFERENCES t_book_store (name)
|
||||
@ -223,10 +236,10 @@ CREATE TABLE x_unused (
|
||||
META_DATA INT,
|
||||
TYPE0 INT,
|
||||
PRIMARY_KEY INT,
|
||||
PRIMARYKEY INT,
|
||||
NAME_REF VARCHAR(10),
|
||||
PRIMARYKEY INT,
|
||||
NAME_REF VARCHAR(10),
|
||||
"FIELD 737" DECIMAL(25, 2),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_unused PRIMARY KEY(ID, NAME),
|
||||
CONSTRAINT uk_x_unused_id UNIQUE(ID),
|
||||
CONSTRAINT fk_x_unused_self FOREIGN KEY(ID_REF, NAME_REF) REFERENCES X_UNUSED(ID, NAME)
|
||||
@ -235,7 +248,7 @@ CREATE TABLE x_unused (
|
||||
|
||||
CREATE TABLE t_986_1 (
|
||||
REF INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_986 PRIMARY KEY(REF),
|
||||
CONSTRAINT uk_986 UNIQUE(REF),
|
||||
CONSTRAINT fk_986 FOREIGN KEY(REF) REFERENCES X_UNUSED(ID)
|
||||
@ -244,7 +257,7 @@ CREATE TABLE t_986_1 (
|
||||
|
||||
CREATE TABLE t_986_2 (
|
||||
REF INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_986 PRIMARY KEY(REF),
|
||||
CONSTRAINT uk_986 UNIQUE(REF),
|
||||
CONSTRAINT fk_986 FOREIGN KEY(REF) REFERENCES X_UNUSED(ID)
|
||||
@ -265,7 +278,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
BIG_DECIMAL DECIMAL(22, 5),
|
||||
FLOAT REAL,
|
||||
DOUBLE DOUBLE,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_639_numbers_table PRIMARY KEY(ID)
|
||||
);
|
||||
/
|
||||
@ -273,7 +286,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
CREATE TABLE x_test_case_64_69 (
|
||||
ID INT NOT NULL,
|
||||
UNUSED_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_64_69 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_64_69 FOREIGN KEY(UNUSED_ID) REFERENCES X_UNUSED(ID)
|
||||
);
|
||||
@ -282,7 +295,7 @@ CREATE TABLE x_test_case_64_69 (
|
||||
CREATE TABLE x_test_case_71 (
|
||||
ID INT NOT NULL,
|
||||
TEST_CASE_64_69_ID SMALLINT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_71 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_71 FOREIGN KEY(TEST_CASE_64_69_ID) REFERENCES X_TEST_CASE_64_69(ID)
|
||||
);
|
||||
@ -292,7 +305,7 @@ CREATE TABLE x_test_case_85 (
|
||||
id int NOT NULL,
|
||||
x_unused_id int,
|
||||
x_unused_name VARCHAR(10),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_85 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_85 FOREIGN KEY(x_unused_id, x_unused_name) REFERENCES X_UNUSED(id, name)
|
||||
);
|
||||
@ -302,7 +315,7 @@ CREATE VIEW V_LIBRARY AS
|
||||
SELECT T_AUTHOR.FIRST_NAME AUTHOR, T_BOOK.TITLE TITLE
|
||||
FROM T_AUTHOR JOIN T_BOOK ON T_BOOK.AUTHOR_ID = T_AUTHOR.ID;
|
||||
/
|
||||
|
||||
|
||||
CREATE VIEW v_author AS
|
||||
SELECT * FROM t_author
|
||||
/
|
||||
|
||||
@ -11,6 +11,7 @@ DELETE FROM t_book/
|
||||
DELETE FROM t_author/
|
||||
DELETE FROM t_language/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
|
||||
INSERT INTO t_language (id, cd, description, description_english) VALUES (1, 'en', 'English', 'English')/
|
||||
INSERT INTO t_language (id, cd, description, description_english) VALUES (2, 'de', 'Deutsch', 'German')/
|
||||
|
||||
@ -13,8 +13,8 @@ DROP PROCEDURE p_enhance_address1/
|
||||
DROP PROCEDURE p_enhance_address2/
|
||||
DROP PROCEDURE p_enhance_address3/
|
||||
DROP PROCEDURE p_unused/
|
||||
DROP PROCEDURE p_create_author/
|
||||
DROP PROCEDURE p_create_author_by_name/
|
||||
DROP PROCEDURE p_create_author/
|
||||
DROP PROCEDURE p_create_author_by_name/
|
||||
DROP PROCEDURE p_author_exists/
|
||||
DROP PROCEDURE p391/
|
||||
DROP FUNCTION f_many_parameters/
|
||||
@ -26,6 +26,7 @@ DROP FUNCTION f378/
|
||||
|
||||
DROP TRIGGER t_triggers_trigger/
|
||||
|
||||
DROP TABLE t_dates/
|
||||
DROP TABLE t_triggers/
|
||||
DROP TABLE t_arrays/
|
||||
DROP TABLE t_book_to_book_store/
|
||||
@ -56,7 +57,7 @@ DROP TABLE t_identity_pk/
|
||||
CREATE TABLE t_identity_pk (
|
||||
id INTEGER IDENTITY(1,1) NOT NULL,
|
||||
val int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_identity_pk PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -68,6 +69,18 @@ CREATE TABLE t_identity (
|
||||
/
|
||||
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int,
|
||||
d date,
|
||||
t time,
|
||||
ts timestamp,
|
||||
d_int int,
|
||||
ts_bigint bigint,
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id int,
|
||||
one_zero int,
|
||||
@ -80,7 +93,7 @@ CREATE TABLE t_booleans (
|
||||
vc_boolean varchar(1),
|
||||
c_boolean char(1),
|
||||
n_boolean int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_booleans PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -89,7 +102,7 @@ CREATE TABLE t_triggers (
|
||||
id_generated int IDENTITY(1,1) not null,
|
||||
id int,
|
||||
counter int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_triggers PRIMARY KEY (id_generated)
|
||||
)
|
||||
/
|
||||
@ -107,28 +120,28 @@ CREATE TABLE t_language (
|
||||
description VARCHAR(50),
|
||||
description_english VARCHAR(50),
|
||||
id INTEGER NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_language PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_11 (
|
||||
id CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_11 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_21 (
|
||||
id INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_21 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_31 (
|
||||
id BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_31 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -136,7 +149,7 @@ CREATE TABLE t_658_31 (
|
||||
CREATE TABLE t_658_12 (
|
||||
id CHAR(3) NOT NULL,
|
||||
cd CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_12 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -144,7 +157,7 @@ CREATE TABLE t_658_12 (
|
||||
CREATE TABLE t_658_22 (
|
||||
id INT NOT NULL,
|
||||
cd INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_22 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -152,7 +165,7 @@ CREATE TABLE t_658_22 (
|
||||
CREATE TABLE t_658_32 (
|
||||
id BIGINT NOT NULL,
|
||||
cd BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_32 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -177,7 +190,7 @@ CREATE TABLE t_658_ref (
|
||||
CREATE TABLE t_725_lob_test (
|
||||
ID int NOT NULL,
|
||||
LOB varbinary(max) NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_725_lob_test PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -196,14 +209,14 @@ CREATE TABLE t_author (
|
||||
DATE_OF_BIRTH DATE,
|
||||
YEAR_OF_BIRTH int,
|
||||
ADDRESS VARCHAR(50),
|
||||
|
||||
|
||||
CONSTRAINT pk_t_author PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_book_details (
|
||||
ID int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book_details PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
@ -218,11 +231,11 @@ CREATE TABLE t_book (
|
||||
LANGUAGE_ID int NOT NULL,
|
||||
CONTENT_TEXT text,
|
||||
CONTENT_PDF varbinary(max),
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_t_book_author_id FOREIGN KEY (AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_co_author_id FOREIGN KEY (CO_AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_language_id FOREIGN KEY (LANGUAGE_ID) REFERENCES T_LANGUAGE(ID)
|
||||
)
|
||||
/
|
||||
@ -230,7 +243,7 @@ CREATE TABLE t_book (
|
||||
|
||||
CREATE TABLE t_book_store (
|
||||
NAME VARCHAR(400) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT uk_t_book_store_name UNIQUE(name)
|
||||
)
|
||||
/
|
||||
@ -240,7 +253,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
BOOK_STORE_NAME VARCHAR(400) NOT NULL,
|
||||
BOOK_ID INTEGER NOT NULL,
|
||||
STOCK INTEGER,
|
||||
|
||||
|
||||
CONSTRAINT pk_b2bs PRIMARY KEY(book_store_name, book_id),
|
||||
CONSTRAINT fk_b2bs_bs_name FOREIGN KEY (book_store_name)
|
||||
REFERENCES t_book_store (name)
|
||||
@ -264,10 +277,10 @@ CREATE TABLE x_unused (
|
||||
META_DATA int,
|
||||
TYPE0 int,
|
||||
PRIMARY_KEY int,
|
||||
PRIMARYKEY int,
|
||||
name_ref VARCHAR(10),
|
||||
PRIMARYKEY int,
|
||||
name_ref VARCHAR(10),
|
||||
"FIELD 737" DECIMAL(25, 2),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_unused PRIMARY KEY(ID, NAME),
|
||||
CONSTRAINT uk_x_unused_id UNIQUE(ID),
|
||||
CONSTRAINT fk_x_unused_self FOREIGN KEY(ID_REF, NAME_REF) REFERENCES X_UNUSED(ID, NAME)
|
||||
@ -288,7 +301,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
BIG_DECIMAL DECIMAL(22, 5),
|
||||
FLOAT REAL,
|
||||
"DOUBLE" FLOAT,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_639_numbers_table PRIMARY KEY(ID)
|
||||
)
|
||||
/
|
||||
@ -297,7 +310,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
CREATE TABLE x_test_case_64_69 (
|
||||
id int NOT NULL,
|
||||
unused_id int,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_64_69 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_64_69 FOREIGN KEY(UNUSED_ID) REFERENCES X_UNUSED(ID)
|
||||
)
|
||||
@ -306,7 +319,7 @@ CREATE TABLE x_test_case_64_69 (
|
||||
CREATE TABLE x_test_case_71 (
|
||||
id int NOT NULL,
|
||||
test_case_64_69_id int,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_71 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_71 FOREIGN KEY(TEST_CASE_64_69_ID) REFERENCES X_TEST_CASE_64_69(ID)
|
||||
)
|
||||
@ -316,7 +329,7 @@ CREATE TABLE x_test_case_85 (
|
||||
id int NOT NULL,
|
||||
x_unused_id int,
|
||||
x_unused_name VARCHAR(10),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_85 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_85 FOREIGN KEY(x_unused_id, x_unused_name) REFERENCES X_UNUSED(id, name)
|
||||
)
|
||||
@ -327,7 +340,7 @@ CREATE VIEW v_library (author, title) AS
|
||||
SELECT a.first_name + ' ' + a.last_name, b.title
|
||||
FROM t_author a JOIN t_book b ON b.author_id = a.id
|
||||
/
|
||||
|
||||
|
||||
CREATE VIEW v_author AS
|
||||
SELECT * FROM t_author
|
||||
/
|
||||
@ -542,8 +555,8 @@ CREATE PROCEDURE p_author_exists (@author_name VARCHAR(50), @result int OUT)
|
||||
AS
|
||||
BEGIN
|
||||
SELECT @result = CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END
|
||||
FROM t_author
|
||||
WHERE first_name LIKE @author_name
|
||||
FROM t_author
|
||||
WHERE first_name LIKE @author_name
|
||||
OR last_name LIKE @author_name
|
||||
END;
|
||||
/
|
||||
@ -565,12 +578,12 @@ RETURNS int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @result int;
|
||||
|
||||
|
||||
SELECT @result = CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END
|
||||
FROM t_author
|
||||
WHERE first_name LIKE @author_name
|
||||
FROM t_author
|
||||
WHERE first_name LIKE @author_name
|
||||
OR last_name LIKE @author_name;
|
||||
|
||||
|
||||
RETURN @result;
|
||||
END;
|
||||
/
|
||||
|
||||
@ -11,6 +11,7 @@ DELETE FROM t_book/
|
||||
DELETE FROM t_author/
|
||||
DELETE FROM t_language/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
DELETE FROM t_identity/
|
||||
DELETE FROM t_identity_pk/
|
||||
|
||||
@ -28,7 +29,7 @@ INSERT INTO t_658_22 VALUES (1, 1), (2, 2), (3, 3)/
|
||||
INSERT INTO t_658_32 VALUES (1, 1), (2, 2), (3, 3)/
|
||||
INSERT INTO t_658_ref VALUES ('A', 1, 1, 'B', 2, 2)/
|
||||
|
||||
INSERT INTO t_author (id, first_name, last_name, date_of_birth, year_of_birth, address)
|
||||
INSERT INTO t_author (id, first_name, last_name, date_of_birth, year_of_birth, address)
|
||||
VALUES (1, 'George', 'Orwell', '1903-06-25', 1903, null),
|
||||
(2, 'Paulo', 'Coelho', '1947-08-24', 1947, null)
|
||||
/
|
||||
@ -40,7 +41,7 @@ VALUES (1, 1, null, null, '1984', 1948, 1, 'To know and not to know, to
|
||||
(4, 2, null, null, 'Brida', 1990, 2, null, null)
|
||||
/
|
||||
|
||||
INSERT INTO t_book_store (name)
|
||||
INSERT INTO t_book_store (name)
|
||||
VALUES ('Orell Füssli'),
|
||||
('Ex Libris'),
|
||||
('Buchhandlung im Volkshaus')
|
||||
|
||||
@ -4,8 +4,8 @@ DROP VIEW IF EXISTS v_book/
|
||||
|
||||
DROP PROCEDURE IF EXISTS p_unused/
|
||||
DROP PROCEDURE IF EXISTS p_author_exists/
|
||||
DROP PROCEDURE IF EXISTS p_create_author/
|
||||
DROP PROCEDURE IF EXISTS p_create_author_by_name/
|
||||
DROP PROCEDURE IF EXISTS p_create_author/
|
||||
DROP PROCEDURE IF EXISTS p_create_author_by_name/
|
||||
DROP PROCEDURE IF EXISTS p391/
|
||||
DROP FUNCTION IF EXISTS f_author_exists/
|
||||
DROP FUNCTION IF EXISTS f_one/
|
||||
@ -14,6 +14,7 @@ DROP FUNCTION IF EXISTS f317/
|
||||
|
||||
DROP TRIGGER IF EXISTS t_triggers_trigger/
|
||||
|
||||
DROP TABLE IF EXISTS t_dates/
|
||||
DROP TABLE IF EXISTS t_triggers/
|
||||
DROP TABLE IF EXISTS t_book_to_book_store/
|
||||
DROP TABLE IF EXISTS t_book_store/
|
||||
@ -44,7 +45,7 @@ DROP TABLE IF EXISTS t_identity_pk/
|
||||
CREATE TABLE t_identity_pk (
|
||||
id INTEGER NOT NULL IDENTITY,
|
||||
val int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_identity_pk PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -55,6 +56,18 @@ CREATE TABLE t_identity (
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int,
|
||||
d date,
|
||||
t time,
|
||||
ts timestamp,
|
||||
d_int int,
|
||||
ts_bigint bigint,
|
||||
|
||||
CONSTRAINT pk_t_dates PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_booleans (
|
||||
id int,
|
||||
one_zero int,
|
||||
@ -67,7 +80,7 @@ CREATE TABLE t_booleans (
|
||||
vc_boolean varchar(1),
|
||||
c_boolean char(1),
|
||||
n_boolean int,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_booleans PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -76,7 +89,7 @@ CREATE TABLE t_triggers (
|
||||
id_generated int IDENTITY not null,
|
||||
id int null,
|
||||
counter int null,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_triggers PRIMARY KEY (id_generated)
|
||||
)
|
||||
/
|
||||
@ -97,7 +110,7 @@ CREATE TABLE t_language (
|
||||
description VARCHAR(50) NULL,
|
||||
description_english VARCHAR(50) NULL,
|
||||
id INTEGER NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_language PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
@ -111,21 +124,21 @@ COMMENT ON COLUMN t_language.description IS 'The language description'
|
||||
/
|
||||
CREATE TABLE t_658_11 (
|
||||
id CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_11 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_21 (
|
||||
id INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_21 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_658_31 (
|
||||
id BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_31 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -133,7 +146,7 @@ CREATE TABLE t_658_31 (
|
||||
CREATE TABLE t_658_12 (
|
||||
id CHAR(3) NOT NULL,
|
||||
cd CHAR(3) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_12 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -141,7 +154,7 @@ CREATE TABLE t_658_12 (
|
||||
CREATE TABLE t_658_22 (
|
||||
id INT NOT NULL,
|
||||
cd INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_22 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -149,7 +162,7 @@ CREATE TABLE t_658_22 (
|
||||
CREATE TABLE t_658_32 (
|
||||
id BIGINT NOT NULL,
|
||||
cd BIGINT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_658_32 PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -174,7 +187,7 @@ CREATE TABLE t_658_ref (
|
||||
CREATE TABLE t_725_lob_test (
|
||||
ID int NOT NULL,
|
||||
LOB LONG BINARY NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_725_lob_test PRIMARY KEY (id)
|
||||
)
|
||||
/
|
||||
@ -193,9 +206,9 @@ CREATE TABLE t_author (
|
||||
DATE_OF_BIRTH DATE NULL,
|
||||
YEAR_OF_BIRTH INT NULL,
|
||||
ADDRESS VARCHAR(200) NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_author PRIMARY KEY (ID)
|
||||
)
|
||||
)
|
||||
/
|
||||
COMMENT ON TABLE t_author IS 'An entity holding authors of books'
|
||||
/
|
||||
@ -214,7 +227,7 @@ COMMENT ON COLUMN t_author.address IS 'The author''s address'
|
||||
|
||||
CREATE TABLE t_book_details (
|
||||
ID INT NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book_details PRIMARY KEY (ID)
|
||||
)
|
||||
/
|
||||
@ -229,11 +242,11 @@ CREATE TABLE t_book (
|
||||
LANGUAGE_ID INT NOT NULL,
|
||||
CONTENT_TEXT LONG VARCHAR NULL,
|
||||
CONTENT_PDF LONG BINARY NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_book PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_t_book_author_id FOREIGN KEY (AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_co_author_id FOREIGN KEY (CO_AUTHOR_ID) REFERENCES T_AUTHOR(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_details_id FOREIGN KEY (DETAILS_ID) REFERENCES T_BOOK_DETAILS(ID),
|
||||
CONSTRAINT fk_t_book_language_id FOREIGN KEY (LANGUAGE_ID) REFERENCES T_LANGUAGE(ID)
|
||||
)
|
||||
/
|
||||
@ -256,9 +269,9 @@ COMMENT ON COLUMN t_book.content_pdf IS 'Some binary content of the book'
|
||||
|
||||
CREATE TABLE t_book_store (
|
||||
name VARCHAR(400) NOT NULL,
|
||||
|
||||
CONSTRAINT uk_t_book_store_name UNIQUE(name)
|
||||
)
|
||||
|
||||
CONSTRAINT uk_t_book_store_name UNIQUE(name)
|
||||
)
|
||||
/
|
||||
COMMENT ON TABLE t_book_store IS 'A book store'
|
||||
/
|
||||
@ -268,7 +281,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
book_store_name VARCHAR(400) NOT NULL,
|
||||
book_id INTEGER NOT NULL,
|
||||
stock INTEGER,
|
||||
|
||||
|
||||
CONSTRAINT pk_b2bs PRIMARY KEY(book_store_name, book_id),
|
||||
CONSTRAINT fk_b2bs_bs_name FOREIGN KEY (book_store_name)
|
||||
REFERENCES t_book_store (name)
|
||||
@ -276,7 +289,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
CONSTRAINT fk_b2bs_b_id FOREIGN KEY (book_id)
|
||||
REFERENCES t_book (id)
|
||||
ON DELETE CASCADE
|
||||
)
|
||||
)
|
||||
COMMENT ON TABLE t_book_to_book_store IS 'An m:n relation between books and book stores'
|
||||
/
|
||||
COMMENT ON COLUMN t_book_to_book_store.book_store_name IS 'The book store name'
|
||||
@ -298,18 +311,18 @@ CREATE TABLE x_unused (
|
||||
META_DATA INT,
|
||||
TYPE0 INT,
|
||||
PRIMARY_KEY INT,
|
||||
PRIMARYKEY INT,
|
||||
PRIMARYKEY INT,
|
||||
"FIELD 737" DECIMAL(25, 2),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_unused PRIMARY KEY(ID, NAME),
|
||||
CONSTRAINT uk_x_unused_id UNIQUE(ID),
|
||||
CONSTRAINT fk_x_unused_self FOREIGN KEY(ID_REF, NAME_REF) REFERENCES X_UNUSED(ID, NAME)
|
||||
)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE t_986_1 (
|
||||
REF INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_986 PRIMARY KEY(REF),
|
||||
CONSTRAINT uk_986 UNIQUE(REF),
|
||||
CONSTRAINT fk_986 FOREIGN KEY(REF) REFERENCES X_UNUSED(ID)
|
||||
@ -318,7 +331,7 @@ CREATE TABLE t_986_1 (
|
||||
|
||||
CREATE TABLE t_986_2 (
|
||||
REF INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_986 PRIMARY KEY(REF),
|
||||
CONSTRAINT uk_986 UNIQUE(REF),
|
||||
CONSTRAINT fk_986 FOREIGN KEY(REF) REFERENCES X_UNUSED(ID)
|
||||
@ -339,7 +352,7 @@ CREATE TABLE t_639_numbers_table (
|
||||
BIG_DECIMAL DECIMAL(22, 5) NULL,
|
||||
"FLOAT" REAL NULL,
|
||||
"DOUBLE" DOUBLE NULL,
|
||||
|
||||
|
||||
CONSTRAINT pk_t_639_numbers_table PRIMARY KEY(ID)
|
||||
)
|
||||
/
|
||||
@ -347,26 +360,26 @@ CREATE TABLE t_639_numbers_table (
|
||||
CREATE TABLE x_test_case_64_69 (
|
||||
ID INT NOT NULL,
|
||||
UNUSED_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_64_69 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_64_69 FOREIGN KEY(UNUSED_ID) REFERENCES X_UNUSED(ID)
|
||||
)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE x_test_case_71 (
|
||||
ID INT NOT NULL,
|
||||
TEST_CASE_64_69_ID INT,
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_71 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_71 FOREIGN KEY(TEST_CASE_64_69_ID) REFERENCES X_TEST_CASE_64_69(ID)
|
||||
)
|
||||
)
|
||||
/
|
||||
|
||||
CREATE TABLE x_test_case_85 (
|
||||
id int NOT NULL,
|
||||
x_unused_id int,
|
||||
x_unused_name VARCHAR(10),
|
||||
|
||||
|
||||
CONSTRAINT pk_x_test_case_85 PRIMARY KEY(ID),
|
||||
CONSTRAINT fk_x_test_case_85 FOREIGN KEY(x_unused_id, x_unused_name) REFERENCES X_UNUSED(id, name)
|
||||
)
|
||||
@ -407,10 +420,10 @@ CREATE PROCEDURE p_author_exists (IN author_name VARCHAR(50), OUT result INT)
|
||||
BEGIN
|
||||
SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END
|
||||
INTO result
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
OR last_name LIKE author_name
|
||||
END
|
||||
END
|
||||
/
|
||||
|
||||
CREATE PROCEDURE p391 (
|
||||
@ -432,12 +445,12 @@ BEGIN
|
||||
|
||||
SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END
|
||||
INTO @result
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
FROM t_author
|
||||
WHERE first_name LIKE author_name
|
||||
OR last_name LIKE author_name;
|
||||
|
||||
|
||||
return @result;
|
||||
END
|
||||
END
|
||||
/
|
||||
|
||||
CREATE FUNCTION f_one ()
|
||||
|
||||
@ -11,6 +11,7 @@ DELETE FROM t_book/
|
||||
DELETE FROM t_author/
|
||||
DELETE FROM t_language/
|
||||
DELETE FROM t_booleans/
|
||||
DELETE FROM t_dates/
|
||||
DELETE FROM t_identity/
|
||||
DELETE FROM t_identity_pk/
|
||||
|
||||
@ -43,13 +44,13 @@ INSERT INTO t_book VALUES (3, 2, null, null, 'O Alquimista', 1988, 4, null, null
|
||||
/
|
||||
INSERT INTO t_book VALUES (4, 2, null, null, 'Brida', 1990, 2, null, null)
|
||||
/
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
INSERT INTO t_book_store (name) VALUES
|
||||
('Orell Füssli'),
|
||||
('Ex Libris'),
|
||||
('Buchhandlung im Volkshaus')
|
||||
/
|
||||
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
INSERT INTO t_book_to_book_store VALUES
|
||||
('Orell Füssli', 1, 10),
|
||||
('Orell Füssli', 2, 10),
|
||||
('Orell Füssli', 3, 10),
|
||||
|
||||
@ -48,8 +48,12 @@ import static org.jooq.SQLDialect.POSTGRES;
|
||||
import static org.jooq.SQLDialect.SQLITE;
|
||||
import static org.jooq.SQLDialect.SQLSERVER;
|
||||
import static org.jooq.SQLDialect.SYBASE;
|
||||
import static org.jooq.impl.Factory.field;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Date;
|
||||
import java.sql.Time;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@ -309,6 +313,55 @@ class Val<T> extends AbstractField<T> implements Param<T>, BindingProvider {
|
||||
else if (Number.class.isAssignableFrom(type)) {
|
||||
context.sql(val.toString());
|
||||
}
|
||||
|
||||
// [#1156] Date/Time data types should be inlined using JDBC
|
||||
// escape syntax
|
||||
else if (type == Date.class) {
|
||||
|
||||
// Sybase ASE needs explicit casting to DATE
|
||||
if (dialect == ASE) {
|
||||
context.sql(field("{d '" + val + "'}").cast(Date.class));
|
||||
}
|
||||
|
||||
// The SQLite JDBC driver does not implement the escape syntax
|
||||
else if (dialect == SQLITE) {
|
||||
context.sql("'").sql(val.toString()).sql("'");
|
||||
}
|
||||
|
||||
// Normal behaviour: Apply JDBC escape syntax
|
||||
else {
|
||||
context.sql("{d '").sql(val.toString()).sql("'}");
|
||||
}
|
||||
}
|
||||
else if (type == Timestamp.class) {
|
||||
|
||||
// Sybase ASE needs explicit casting to DATETIME
|
||||
if (dialect == ASE) {
|
||||
context.sql(field("{ts '" + val + "'}").cast(Timestamp.class));
|
||||
}
|
||||
|
||||
// The SQLite JDBC driver does not implement the escape syntax
|
||||
else if (dialect == SQLITE) {
|
||||
context.sql("'").sql(val.toString()).sql("'");
|
||||
}
|
||||
|
||||
// Normal behaviour: Apply JDBC escape syntax
|
||||
else {
|
||||
context.sql("{ts '").sql(val.toString()).sql("'}");
|
||||
}
|
||||
}
|
||||
else if (type == Time.class) {
|
||||
|
||||
// The SQLite JDBC driver does not implement the escape syntax
|
||||
if (dialect == SQLITE) {
|
||||
context.sql("'").sql(val.toString()).sql("'");
|
||||
}
|
||||
|
||||
// Normal behaviour: Apply JDBC escape syntax
|
||||
else {
|
||||
context.sql("{t '").sql(val.toString()).sql("'}");
|
||||
}
|
||||
}
|
||||
else if (type.isArray()) {
|
||||
|
||||
// H2 renders arrays as tuples
|
||||
@ -338,7 +391,6 @@ class Val<T> extends AbstractField<T> implements Param<T>, BindingProvider {
|
||||
// Known fall-through types:
|
||||
// - Blob, Clob (both not supported by jOOQ)
|
||||
// - String
|
||||
// - java.util.Date subtypes
|
||||
else {
|
||||
context.sql("'")
|
||||
.sql(val.toString().replace("'", "''"))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user