Skip to content

Commit 3a0ccb0

Browse files
committed
Add conditional test skips and refactor query preparation
Mark certain tests to skip on unsupported DBMS (MySQL, MySQL8, Oracle) using @run annotation to improve compatibility handling. Adjust query preparation in `AutoMultiInsertQuery` to ensure null checks occur before dialect validation and streamline logic.
1 parent 7a43621 commit 3a0ccb0

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

doma-core/src/main/java/org/seasar/doma/jdbc/query/AutoMultiInsertQuery.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,20 @@ public AutoMultiInsertQuery(EntityType<ENTITY> entityType) {
5959

6060
@Override
6161
public void prepare() {
62+
super.prepare();
63+
assertNotNull(method, entityType, entities);
64+
6265
Dialect dialect = config.getDialect();
6366
if (!dialect.supportsMultiRowInsertStatement()) {
6467
throw new JdbcException(Message.DOMA2236, dialect.getName());
6568
}
6669

67-
super.prepare();
68-
assertNotNull(method, entityType, entities);
6970
if (entities.isEmpty()) {
7071
sqlExecutionSkipCause = SqlExecutionSkipCause.MULTI_INSERT_TARGET_NONEXISTENT;
7172
return;
7273
}
7374
executable = true;
75+
7476
entity = entities.stream().findFirst().orElseThrow(IllegalStateException::new);
7577
preInsert();
7678
prepareSpecialPropertyTypes();

integration-test-java/src/test/java/org/seasar/doma/it/criteria/QueryDslEntityDeleteTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
import java.util.List;
2525
import org.junit.jupiter.api.Test;
2626
import org.junit.jupiter.api.extension.ExtendWith;
27+
import org.seasar.doma.it.Dbms;
2728
import org.seasar.doma.it.IntegrationTestEnvironment;
29+
import org.seasar.doma.it.Run;
2830
import org.seasar.doma.jdbc.Config;
2931
import org.seasar.doma.jdbc.OptimisticLockException;
3032
import org.seasar.doma.jdbc.Result;
@@ -68,6 +70,7 @@ void suppressOptimisticLockException() {
6870
}
6971

7072
@Test
73+
@Run(unless = {Dbms.MYSQL, Dbms.MYSQL8, Dbms.ORACLE})
7174
void returning() {
7275
Employee_ e = new Employee_();
7376

@@ -85,6 +88,7 @@ void returning() {
8588
}
8689

8790
@Test
91+
@Run(unless = {Dbms.MYSQL, Dbms.MYSQL8, Dbms.ORACLE})
8892
void returning_specificProperties() {
8993
Employee_ e = new Employee_();
9094

@@ -105,6 +109,7 @@ void returning_specificProperties() {
105109
}
106110

107111
@Test
112+
@Run(unless = {Dbms.MYSQL, Dbms.MYSQL8, Dbms.ORACLE})
108113
void returning_OptimisticLockException() {
109114
Employee_ e = new Employee_();
110115

@@ -116,6 +121,7 @@ void returning_OptimisticLockException() {
116121
}
117122

118123
@Test
124+
@Run(unless = {Dbms.MYSQL, Dbms.MYSQL8, Dbms.ORACLE})
119125
void returning_suppressOptimisticLockException() {
120126
Employee_ e = new Employee_();
121127

integration-test-java/src/test/java/org/seasar/doma/it/criteria/QueryDslEntityMultiInsertTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,7 @@ void returning_specificProperties() {
378378
}
379379

380380
@Test
381+
@Run(unless = {Dbms.MYSQL, Dbms.MYSQL8, Dbms.ORACLE})
381382
void returning_skip() {
382383
Department_ d = new Department_();
383384

0 commit comments

Comments
 (0)