From f69736418d9e36516b38032d701737e56ea7c9f8 Mon Sep 17 00:00:00 2001 From: Toshihiro Nakamura Date: Sun, 1 Sep 2024 00:36:46 +0900 Subject: [PATCH 1/5] Update H2 Database Engine to v2.3.232 --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 1e2aa817d..68ef7c8ee 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -206,7 +206,7 @@ configure(integrationTestProjects) { dependencies { testImplementation(platform("org.testcontainers:testcontainers-bom:1.20.1")) - testRuntimeOnly("com.h2database:h2:1.4.200") + testRuntimeOnly("com.h2database:h2:2.3.232") testRuntimeOnly("mysql:mysql-connector-java:8.0.33") testRuntimeOnly("com.oracle.database.jdbc:ojdbc8-production:18.15.0.0") testRuntimeOnly("org.postgresql:postgresql:42.7.4") From 5c4a35be25988566ee9091f42e57a12a71a28c62 Mon Sep 17 00:00:00 2001 From: Toshihiro Nakamura Date: Sun, 1 Sep 2024 00:36:58 +0900 Subject: [PATCH 2/5] Stop generating a LIMIT clause, as specifying `-1` is no longer allowed --- .../doma/internal/jdbc/dialect/H2PagingTransformer.java | 4 +--- .../doma/internal/jdbc/dialect/H2PagingTransformerTest.java | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/doma-core/src/main/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformer.java b/doma-core/src/main/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformer.java index e1ec8ffa0..0edf838ce 100644 --- a/doma-core/src/main/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformer.java +++ b/doma-core/src/main/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformer.java @@ -28,11 +28,9 @@ public SqlNode visitSelectStatementNode(SelectStatementNode node, Void p) { } else { orderBy = new OrderByClauseNode(""); } - orderBy.appendNode(new FragmentNode(" limit ")); if (limit > 0) { + orderBy.appendNode(new FragmentNode(" limit ")); orderBy.appendNode(new FragmentNode(String.valueOf(limit))); - } else { - orderBy.appendNode(new FragmentNode("-1")); } if (offset >= 0) { orderBy.appendNode(new FragmentNode(" offset ")); diff --git a/doma-core/src/test/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformerTest.java b/doma-core/src/test/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformerTest.java index 664e96d84..3b4eedef2 100644 --- a/doma-core/src/test/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformerTest.java +++ b/doma-core/src/test/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformerTest.java @@ -63,7 +63,7 @@ public void testOffsetLimit_forUpdate_semicolon() { @Test public void testOffsetOnly() { - String expected = "select * from emp order by emp.id limit -1 offset 5"; + String expected = "select * from emp order by emp.id offset 5"; H2PagingTransformer transformer = new H2PagingTransformer(5, -1); SqlParser parser = new SqlParser("select * from emp order by emp.id"); SqlNode sqlNode = transformer.transform(parser.parse()); From 53e84d29bde63b8ce1e21c2ba37764f99f2be490 Mon Sep 17 00:00:00 2001 From: Toshihiro Nakamura Date: Sun, 1 Sep 2024 00:38:24 +0900 Subject: [PATCH 3/5] Make adjustments to align with changes related to ARRAY handling --- .../org/seasar/doma/it/dao/ScriptDao/create-h2.script | 1 + .../src/main/java/org/seasar/doma/it/dao/RoomDao.java | 5 +++++ .../java/org/seasar/doma/it/domain/StringArrayConverter.java | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script index 80a745074..19e6c8713 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script @@ -19,6 +19,7 @@ CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEG CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); CREATE TABLE PATTERN (VALUE VARCHAR(10)); CREATE TABLE ROOM (ID INTEGER NOT NULL PRIMARY KEY, COLORS ARRAY); +CREATE TABLE ROOM (ID INTEGER NOT NULL PRIMARY KEY, COLORS varchar(10) array); CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/dao/RoomDao.java b/integration-test-java/src/main/java/org/seasar/doma/it/dao/RoomDao.java index ad51cf963..cd18aa2f1 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/dao/RoomDao.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/dao/RoomDao.java @@ -1,5 +1,7 @@ package org.seasar.doma.it.dao; +import java.sql.Array; +import org.seasar.doma.ArrayFactory; import org.seasar.doma.Dao; import org.seasar.doma.Insert; import org.seasar.doma.Select; @@ -16,4 +18,7 @@ public interface RoomDao { @Insert int insert(Room room); + + @ArrayFactory(typeName = "VARCHAR") + Array createArray(String[] elements); } diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/domain/StringArrayConverter.java b/integration-test-java/src/main/java/org/seasar/doma/it/domain/StringArrayConverter.java index 3267163ce..511f7fd4f 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/domain/StringArrayConverter.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/domain/StringArrayConverter.java @@ -2,6 +2,7 @@ import java.sql.Array; import java.sql.SQLException; +import java.util.Arrays; import org.seasar.doma.ExternalDomain; import org.seasar.doma.jdbc.domain.DomainConverter; @@ -22,7 +23,8 @@ public String[] fromValueToDomain(Object value) { if (value instanceof Array) { Array a = (Array) value; try { - return (String[]) a.getArray(); + Object[] objects = (Object[]) a.getArray(); + return Arrays.stream(objects).map(Object::toString).toArray(String[]::new); } catch (SQLException e) { return null; } From 5c3996958d86c55cde1e6cc3feb159d4f1c6f33a Mon Sep 17 00:00:00 2001 From: Toshihiro Nakamura Date: Sun, 1 Sep 2024 00:40:55 +0900 Subject: [PATCH 4/5] Enclose `VALUE` in quotes or renamed it due to it becoming a reserved word --- .../doma/it/dao/ScriptDao/create-db2.script | 2 +- .../doma/it/dao/ScriptDao/create-h2.script | 19 +++++++++---------- .../it/dao/ScriptDao/create-hsqldb.script | 2 +- .../doma/it/dao/ScriptDao/create-mssql.script | 2 +- .../it/dao/ScriptDao/create-mssql2008.script | 2 +- .../doma/it/dao/ScriptDao/create-mysql.script | 2 +- .../it/dao/ScriptDao/create-oracle.script | 2 +- .../it/dao/ScriptDao/create-postgres.script | 2 +- .../it/dao/ScriptDao/create-sqlite.script | 2 +- .../doma/it/criteria/IdentityTable.java | 2 ++ .../doma/it/entity/IdentityStrategy.java | 2 ++ .../doma/it/entity/IdentityStrategy2.java | 2 ++ .../it/entity/PrimitiveIdentityStrategy.java | 2 ++ .../doma/it/entity/SequenceStrategy.java | 2 ++ .../seasar/doma/it/entity/TableStrategy.java | 4 +++- 15 files changed, 30 insertions(+), 19 deletions(-) diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script index f91741f2f..ce17df234 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script @@ -19,7 +19,7 @@ CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEG CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER NOT NULL PRIMARY KEY, UNIQUE_KEY INTEGER NOT NULL UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); CREATE TABLE PATTERN (VALUE VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY, VALUE VARCHAR(10)); CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY, VALUE VARCHAR(10)); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script index 19e6c8713..fdfeb1213 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script @@ -17,19 +17,18 @@ CREATE TABLE AUTHORITY (ID INTEGER NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); -CREATE TABLE ROOM (ID INTEGER NOT NULL PRIMARY KEY, COLORS ARRAY); +CREATE TABLE PATTERN ("VALUE" VARCHAR(10)); CREATE TABLE ROOM (ID INTEGER NOT NULL PRIMARY KEY, COLORS varchar(10) array); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY2(ID INTEGER NOT NULL IDENTITY PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL generated by default as identity PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL generated by default as identity PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY2(ID INTEGER NOT NULL generated by default as identity PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script index a8e19a39b..097285975 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script @@ -24,7 +24,7 @@ CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY IN ALTER TABLE CONSTRAINT_CHECKING ADD UNIQUE (UNIQUE_KEY); CREATE TABLE PATTERN (VALUE VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); CREATE TABLE AUTO_STRATEGY(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); CREATE TABLE IDENTITY_STRATEGY(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script index d95f57c7c..8ce26d89e 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script @@ -16,7 +16,7 @@ CREATE TABLE OWNER_OF_NO_ID (ID INT NOT NULL PRIMARY KEY, NO_ID_VALUE1 INT); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INT PRIMARY KEY, UNIQUE_KEY INT UNIQUE, FOREIGN_KEY INT, CHECK_CONSTRAINT INT, NOT_NULL INT NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); CREATE TABLE PATTERN (VALUE VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); CREATE TABLE AUTO_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); CREATE TABLE IDENTITY_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script index 0526e68bd..fa3327122 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script @@ -16,7 +16,7 @@ CREATE TABLE OWNER_OF_NO_ID (ID INT NOT NULL PRIMARY KEY, NO_ID_VALUE1 INT); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INT PRIMARY KEY, UNIQUE_KEY INT UNIQUE, FOREIGN_KEY INT, CHECK_CONSTRAINT INT, NOT_NULL INT NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); CREATE TABLE PATTERN (VALUE VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); CREATE TABLE AUTO_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); CREATE TABLE IDENTITY_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script index 4294b3203..ee73e0a7a 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script @@ -16,7 +16,7 @@ CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEG CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); CREATE TABLE PATTERN (VALUE VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); CREATE TABLE AUTO_STRATEGY(ID INTEGER AUTO_INCREMENT PRIMARY KEY, VALUE VARCHAR(10)); CREATE TABLE IDENTITY_STRATEGY(ID INTEGER AUTO_INCREMENT PRIMARY KEY, VALUE VARCHAR(10)); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script index a7b43f7cd..2115d67b7 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script @@ -20,7 +20,7 @@ CREATE TABLE OWNER_OF_NO_ID (ID NUMERIC NOT NULL PRIMARY KEY, NO_ID_VALUE1 NUMER CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY NUMERIC PRIMARY KEY, UNIQUE_KEY NUMERIC UNIQUE, FOREIGN_KEY NUMERIC, CHECK_CONSTRAINT NUMERIC, NOT_NULL NUMERIC NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); CREATE TABLE PATTERN (VALUE VARCHAR2(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR2(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR2(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR2(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); CREATE TABLE AUTO_STRATEGY(ID NUMERIC(8) PRIMARY KEY, VALUE VARCHAR2(10)); CREATE TABLE IDENTITY_STRATEGY(ID NUMERIC(8) GENERATED ALWAYS AS IDENTITY, VALUE VARCHAR2(10), PRIMARY KEY (ID)); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script index 79dc46f68..5d3e0f7bf 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script @@ -21,7 +21,7 @@ CREATE TABLE PATTERN (VALUE VARCHAR(10)); CREATE TABLE SAL_EMP (NAME TEXT PRIMARY KEY, PAY_BY_QUARTER INTEGER[], SCHEDULE TEXT[][]); CREATE TABLE BOOK(ID UUID NOT NULL PRIMARY KEY, TITLE VARCHAR(100)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); CREATE TABLE AUTO_STRATEGY(ID SERIAL PRIMARY KEY, VALUE VARCHAR(10)); CREATE TABLE IDENTITY_STRATEGY(ID SERIAL PRIMARY KEY, VALUE VARCHAR(10)); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script index 5c28c7f12..3ae1b6586 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script @@ -16,7 +16,7 @@ CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEG CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); CREATE TABLE PATTERN (VALUE VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/criteria/IdentityTable.java b/integration-test-java/src/main/java/org/seasar/doma/it/criteria/IdentityTable.java index 2cb4be0e2..fde2e0664 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/criteria/IdentityTable.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/criteria/IdentityTable.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.criteria; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -16,6 +17,7 @@ public class IdentityTable { String uniqueValue; + @Column(quote = true) String value; public Integer getId() { diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy.java b/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy.java index 31365ab2b..91131eaf4 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.entity; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -15,6 +16,7 @@ public class IdentityStrategy { @GeneratedValue(strategy = GenerationType.IDENTITY) Integer id; + @Column(quote = true) Integer value; @OriginalStates IdentityStrategy originalStates; diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy2.java b/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy2.java index 36a15a89c..e7216ff3f 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy2.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy2.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.entity; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -16,6 +17,7 @@ public class IdentityStrategy2 { String uniqueValue; + @Column(quote = true) String value; public Integer getId() { diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/entity/PrimitiveIdentityStrategy.java b/integration-test-java/src/main/java/org/seasar/doma/it/entity/PrimitiveIdentityStrategy.java index 36291b290..9f5ce3a60 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/entity/PrimitiveIdentityStrategy.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/entity/PrimitiveIdentityStrategy.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.entity; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -15,6 +16,7 @@ public class PrimitiveIdentityStrategy { @GeneratedValue(strategy = GenerationType.IDENTITY) int id = -1; + @Column(quote = true) Integer value; @OriginalStates PrimitiveIdentityStrategy originalStates; diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/entity/SequenceStrategy.java b/integration-test-java/src/main/java/org/seasar/doma/it/entity/SequenceStrategy.java index b1b3fd1f4..20bc7c2f6 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/entity/SequenceStrategy.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/entity/SequenceStrategy.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.entity; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -17,6 +18,7 @@ public class SequenceStrategy { @SequenceGenerator(sequence = "SEQUENCE_STRATEGY_ID", allocationSize = 50) Integer id; + @Column(quote = true) String value; @OriginalStates SequenceStrategy originalStates; diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/entity/TableStrategy.java b/integration-test-java/src/main/java/org/seasar/doma/it/entity/TableStrategy.java index c98f7f8e0..ff230d5e2 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/entity/TableStrategy.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/entity/TableStrategy.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.entity; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -14,9 +15,10 @@ public class TableStrategy { @Id @GeneratedValue(strategy = GenerationType.TABLE) - @TableGenerator(pkColumnValue = "TABLE_STRATEGY_ID", allocationSize = 50) + @TableGenerator(pkColumnValue = "TABLE_STRATEGY_ID", valueColumnName = "VAL", allocationSize = 50) Integer id; + @Column(quote = true) String value; @OriginalStates TableStrategy originalStates; From 7c821dc0f94b9c6ecb475e645aab97512177c745 Mon Sep 17 00:00:00 2001 From: Toshihiro Nakamura Date: Sun, 1 Sep 2024 06:05:56 +0900 Subject: [PATCH 5/5] Enclose `VALUE` in quotes according to the DBMS dialects --- .../doma/it/dao/ScriptDao/create-db2.script | 14 +++++++------- .../doma/it/dao/ScriptDao/create-hsqldb.script | 14 +++++++------- .../doma/it/dao/ScriptDao/create-mssql.script | 18 +++++++++--------- .../it/dao/ScriptDao/create-mssql2008.script | 16 ++++++++-------- .../doma/it/dao/ScriptDao/create-mysql.script | 16 ++++++++-------- .../doma/it/dao/ScriptDao/create-oracle.script | 16 ++++++++-------- .../it/dao/ScriptDao/create-postgres.script | 16 ++++++++-------- .../doma/it/dao/ScriptDao/create-sqlite.script | 14 +++++++------- 8 files changed, 62 insertions(+), 62 deletions(-) diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script index ce17df234..f14345ead 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script @@ -17,16 +17,16 @@ CREATE TABLE AUTHORITY (ID INTEGER NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER NOT NULL PRIMARY KEY, UNIQUE_KEY INTEGER NOT NULL UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ("VALUE" VARCHAR(10)); CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script index 097285975..94a4389db 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script @@ -22,16 +22,16 @@ CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); ALTER TABLE CONSTRAINT_CHECKING ADD UNIQUE (UNIQUE_KEY); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ("VALUE" VARCHAR(10)); CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script index 8ce26d89e..be4453f89 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script @@ -14,18 +14,18 @@ CREATE TABLE AUTHORITY (ID INT NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER); CREATE TABLE NO_ID (VALUE1 INT, VALUE2 INT); CREATE TABLE OWNER_OF_NO_ID (ID INT NOT NULL PRIMARY KEY, NO_ID_VALUE1 INT); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INT PRIMARY KEY, UNIQUE_KEY INT UNIQUE, FOREIGN_KEY INT, CHECK_CONSTRAINT INT, NOT_NULL INT NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ([VALUE] VARCHAR(10)); CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY2(ID INT IDENTITY PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY5(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INT IDENTITY PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INT IDENTITY PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY2(ID INT IDENTITY PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, [VALUE] VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY5(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); CREATE TABLE TEAM(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INT); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script index fa3327122..bfa9981f4 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script @@ -14,17 +14,17 @@ CREATE TABLE AUTHORITY (ID INT NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER); CREATE TABLE NO_ID (VALUE1 INT, VALUE2 INT); CREATE TABLE OWNER_OF_NO_ID (ID INT NOT NULL PRIMARY KEY, NO_ID_VALUE1 INT); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INT PRIMARY KEY, UNIQUE_KEY INT UNIQUE, FOREIGN_KEY INT, CHECK_CONSTRAINT INT, NOT_NULL INT NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ([VALUE] VARCHAR(10)); CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY5(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INT IDENTITY PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INT IDENTITY PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY5(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); CREATE TABLE TEAM(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INT); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script index ee73e0a7a..d7b454939 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script @@ -14,17 +14,17 @@ CREATE TABLE AUTHORITY (ID INTEGER NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN (`VALUE` VARCHAR(10)); CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INTEGER AUTO_INCREMENT PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INTEGER AUTO_INCREMENT PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY2(ID INTEGER AUTO_INCREMENT PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INTEGER AUTO_INCREMENT PRIMARY KEY, `VALUE` VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INTEGER AUTO_INCREMENT PRIMARY KEY, `VALUE` VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY2(ID INTEGER AUTO_INCREMENT PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, `VALUE` VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, `VALUE` VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, `VALUE` VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, `VALUE` VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, `VALUE` VARCHAR(10)); CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script index 2115d67b7..dcd7a9ba2 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script @@ -18,17 +18,17 @@ CREATE TABLE AUTHORITY (ID NUMERIC NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 NUMERIC, VALUE2 NUMERIC); CREATE TABLE OWNER_OF_NO_ID (ID NUMERIC NOT NULL PRIMARY KEY, NO_ID_VALUE1 NUMERIC); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY NUMERIC PRIMARY KEY, UNIQUE_KEY NUMERIC UNIQUE, FOREIGN_KEY NUMERIC, CHECK_CONSTRAINT NUMERIC, NOT_NULL NUMERIC NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR2(10)); +CREATE TABLE PATTERN ("VALUE" VARCHAR2(10)); CREATE TABLE ID_GENERATOR(PK VARCHAR2(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR2(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID NUMERIC(8) PRIMARY KEY, VALUE VARCHAR2(10)); -CREATE TABLE IDENTITY_STRATEGY(ID NUMERIC(8) GENERATED ALWAYS AS IDENTITY, VALUE VARCHAR2(10), PRIMARY KEY (ID)); -CREATE TABLE IDENTITY_STRATEGY2(ID NUMERIC(8) GENERATED ALWAYS AS IDENTITY, UNIQUE_VALUE VARCHAR2(10) UNIQUE, VALUE VARCHAR2(10), PRIMARY KEY (ID)); -CREATE TABLE SEQUENCE_STRATEGY(ID NUMERIC(8) NOT NULL PRIMARY KEY, VALUE VARCHAR2(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID NUMERIC(8) NOT NULL PRIMARY KEY, VALUE VARCHAR2(10)); -CREATE TABLE TABLE_STRATEGY(ID NUMERIC(8) NOT NULL PRIMARY KEY, VALUE VARCHAR2(10)); -CREATE TABLE TABLE_STRATEGY2(ID NUMERIC(8) NOT NULL PRIMARY KEY, VALUE VARCHAR2(10)); +CREATE TABLE AUTO_STRATEGY(ID NUMERIC(8) PRIMARY KEY, "VALUE" VARCHAR2(10)); +CREATE TABLE IDENTITY_STRATEGY(ID NUMERIC(8) GENERATED ALWAYS AS IDENTITY, "VALUE" VARCHAR2(10), PRIMARY KEY (ID)); +CREATE TABLE IDENTITY_STRATEGY2(ID NUMERIC(8) GENERATED ALWAYS AS IDENTITY, UNIQUE_VALUE VARCHAR2(10) UNIQUE, "VALUE" VARCHAR2(10), PRIMARY KEY (ID)); +CREATE TABLE SEQUENCE_STRATEGY(ID NUMERIC(8) NOT NULL PRIMARY KEY, "VALUE" VARCHAR2(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID NUMERIC(8) NOT NULL PRIMARY KEY, "VALUE" VARCHAR2(10)); +CREATE TABLE TABLE_STRATEGY(ID NUMERIC(8) NOT NULL PRIMARY KEY, "VALUE" VARCHAR2(10)); +CREATE TABLE TABLE_STRATEGY2(ID NUMERIC(8) NOT NULL PRIMARY KEY, "VALUE" VARCHAR2(10)); CREATE TABLE TEAM(ID NUMERIC(8) NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID NUMERIC(8) NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID NUMERIC(8)); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script index 5d3e0f7bf..eec79b79f 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script @@ -17,19 +17,19 @@ CREATE TABLE AUTHORITY (ID INTEGER NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ("VALUE" VARCHAR(10)); CREATE TABLE SAL_EMP (NAME TEXT PRIMARY KEY, PAY_BY_QUARTER INTEGER[], SCHEDULE TEXT[][]); CREATE TABLE BOOK(ID UUID NOT NULL PRIMARY KEY, TITLE VARCHAR(100)); CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID SERIAL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID SERIAL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY2(ID SERIAL PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID SERIAL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID SERIAL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY2(ID SERIAL PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); CREATE TABLE PRODUCT(ID INTEGER NOT NULL PRIMARY KEY, VALUE XML); CREATE TABLE VERY_LONG_CHARACTERS_NAMED_TABLE(VERY_LONG_CHARACTERS_NAMED_TABLE_ID SERIAL PRIMARY KEY, VALUE VARCHAR(10)); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script index 3ae1b6586..8d7608c1a 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script @@ -14,16 +14,16 @@ CREATE TABLE AUTHORITY (ID INTEGER NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ("VALUE" VARCHAR(10)); CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER);