You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/11/26 09:12:58 UTC
[shardingsphere] branch master updated: Add CaseTypedSQLBuilder (#22437)
This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 6f9d1dcfaf2 Add CaseTypedSQLBuilder (#22437)
6f9d1dcfaf2 is described below
commit 6f9d1dcfaf214e2789b266d0c2d76903f898ddbc
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat Nov 26 17:12:51 2022 +0800
Add CaseTypedSQLBuilder (#22437)
---
.../InternalMySQLParserParameterizedIT.java | 2 +-
...ernalUnsupportedMySQLParserParameterizedIT.java | 2 +-
.../InternalOpenGaussParserParameterizedIT.java | 2 +-
...lUnsupportedOpenGaussParserParameterizedIT.java | 2 +-
.../InternalOracleParserParameterizedIT.java | 2 +-
...rnalUnsupportedOracleParserParameterizedIT.java | 2 +-
.../InternalPostgreSQLParserParameterizedIT.java | 2 +-
...UnsupportedPostgreSQLParserParameterizedIT.java | 2 +-
.../sql92/InternalSQL92ParserParameterizedIT.java | 2 +-
...ernalUnsupportedSQL92ParserParameterizedIT.java | 2 +-
.../InternalSQLServerParserParameterizedIT.java | 2 +-
...lUnsupportedSQLServerParserParameterizedIT.java | 2 +-
.../SQLNodeConverterEngineParameterizedTest.java | 2 +-
.../internal/asserts/SQLCaseAssertContext.java | 2 +-
.../internal/asserts/segment/SQLSegmentAssert.java | 2 +-
.../segment/expression/ExpressionAssert.java | 2 +-
.../asserts/segment/limit/LimitClauseAssert.java | 2 +-
.../segment/parameter/ParameterMarkerAssert.java | 2 +-
.../segment/projection/ProjectionAssert.java | 2 +-
.../sql/parser/internal/cases/sql/SQLCases.java | 58 ++++------------------
.../parser/internal/cases/sql/jaxb/SQLCase.java | 3 ++
.../CaseTypedSQLBuilder.java} | 17 +++++--
.../sql/type/CaseTypedSQLBuilderFactory.java} | 33 ++++++------
.../internal/cases/sql/{ => type}/SQLCaseType.java | 4 +-
.../impl/LiteralSQLBuilder.java} | 34 ++++++-------
.../impl/PlaceholderSQLBuilder.java} | 15 ++++--
.../engine/InternalSQLParserParameterizedIT.java | 2 +-
...nternalUnsupportedSQLParserParameterizedIT.java | 2 +-
.../sql/supported/ddl/create-function.xml | 6 +--
.../main/resources/sql/supported/dml/select.xml | 2 +-
.../InternalDistSQLParserParameterizedIT.java | 2 +-
31 files changed, 96 insertions(+), 120 deletions(-)
diff --git a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalMySQLParserParameterizedIT.java b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalMySQLParserParameterizedIT.java
index 7f68169426c..3c2e6279789 100644
--- a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalMySQLParserParameterizedIT.java
+++ b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalMySQLParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.mysql.internal;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalUnsupportedMySQLParserParameterizedIT.java b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalUnsupportedMySQLParserParameterizedIT.java
index bc9f7f1ff50..5468372bd5e 100644
--- a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalUnsupportedMySQLParserParameterizedIT.java
+++ b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalUnsupportedMySQLParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.mysql.internal;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalOpenGaussParserParameterizedIT.java b/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalOpenGaussParserParameterizedIT.java
index 9014e0a048f..180eb1276ee 100644
--- a/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalOpenGaussParserParameterizedIT.java
+++ b/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalOpenGaussParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.opengauss;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalUnsupportedOpenGaussParserParameterizedIT.java b/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalUnsupportedOpenGaussParserParameterizedIT.java
index c05bf746fcd..5072ad45712 100644
--- a/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalUnsupportedOpenGaussParserParameterizedIT.java
+++ b/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalUnsupportedOpenGaussParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.opengauss;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalOracleParserParameterizedIT.java b/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalOracleParserParameterizedIT.java
index 4d855f983b3..17724f462c5 100644
--- a/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalOracleParserParameterizedIT.java
+++ b/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalOracleParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.oracle;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalUnsupportedOracleParserParameterizedIT.java b/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalUnsupportedOracleParserParameterizedIT.java
index 5ff19f6dc13..8e06777be69 100644
--- a/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalUnsupportedOracleParserParameterizedIT.java
+++ b/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalUnsupportedOracleParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.oracle;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalPostgreSQLParserParameterizedIT.java b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalPostgreSQLParserParameterizedIT.java
index 4762128d40c..88ba4a4065f 100644
--- a/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalPostgreSQLParserParameterizedIT.java
+++ b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalPostgreSQLParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.postgresql.internal;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalUnsupportedPostgreSQLParserParameterizedIT.java b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalUnsupportedPostgreSQLParserParameterizedIT.java
index f038f52c407..53a5314d4de 100644
--- a/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalUnsupportedPostgreSQLParserParameterizedIT.java
+++ b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalUnsupportedPostgreSQLParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.postgresql.internal;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalSQL92ParserParameterizedIT.java b/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalSQL92ParserParameterizedIT.java
index df805098b99..4427da0b185 100644
--- a/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalSQL92ParserParameterizedIT.java
+++ b/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalSQL92ParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.sql92;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalUnsupportedSQL92ParserParameterizedIT.java b/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalUnsupportedSQL92ParserParameterizedIT.java
index bf0ca735a1e..ef95f6f3833 100644
--- a/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalUnsupportedSQL92ParserParameterizedIT.java
+++ b/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalUnsupportedSQL92ParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.sql92;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalSQLServerParserParameterizedIT.java b/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalSQLServerParserParameterizedIT.java
index 771677c6079..53cb9befece 100644
--- a/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalSQLServerParserParameterizedIT.java
+++ b/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalSQLServerParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.sqlserver;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalUnsupportedSQLServerParserParameterizedIT.java b/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalUnsupportedSQLServerParserParameterizedIT.java
index 78de1f4cd57..81160cd1a38 100644
--- a/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalUnsupportedSQLServerParserParameterizedIT.java
+++ b/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalUnsupportedSQLServerParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.sqlserver;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/test/optimize/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConverterEngineParameterizedTest.java b/test/optimize/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConverterEngineParameterizedTest.java
index 455a7d12efd..dbafd517c34 100644
--- a/test/optimize/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConverterEngineParameterizedTest.java
+++ b/test/optimize/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConverterEngineParameterizedTest.java
@@ -39,7 +39,7 @@ import org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.
import org.apache.shardingsphere.sqlfederation.optimizer.converter.SQLNodeConverterEngine;
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.SQLParserTestCases;
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.registry.SQLParserTestCasesRegistry;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCases;
import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.registry.SQLCasesRegistry;
import org.junit.Test;
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/SQLCaseAssertContext.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/SQLCaseAssertContext.java
index ddc8712a4e9..d6583986877 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/SQLCaseAssertContext.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/SQLCaseAssertContext.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.sql.parser.internal.asserts;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import java.util.List;
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/SQLSegmentAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/SQLSegmentAssert.java
index fde378fddf9..4df290835e2 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/SQLSegmentAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/SQLSegmentAssert.java
@@ -22,7 +22,7 @@ import lombok.NoArgsConstructor;
import org.apache.shardingsphere.sql.parser.sql.common.segment.SQLSegment;
import org.apache.shardingsphere.test.sql.parser.internal.asserts.SQLCaseAssertContext;
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.jaxb.segment.ExpectedSQLSegment;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java
index e06e8c3f14a..b29f88d9828 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java
@@ -46,7 +46,7 @@ import org.apache.shardingsphere.test.sql.parser.internal.asserts.segment.generi
import org.apache.shardingsphere.test.sql.parser.internal.asserts.segment.owner.OwnerAssert;
import org.apache.shardingsphere.test.sql.parser.internal.asserts.segment.projection.ProjectionAssert;
import org.apache.shardingsphere.test.sql.parser.internal.asserts.statement.dml.impl.SelectStatementAssert;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedBetweenExpression;
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedBinaryOperationExpression;
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedCaseWhenExpression;
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/limit/LimitClauseAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/limit/LimitClauseAssert.java
index b709d982ff3..f344df29002 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/limit/LimitClauseAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/limit/LimitClauseAssert.java
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.pagination.Pa
import org.apache.shardingsphere.test.sql.parser.internal.asserts.SQLCaseAssertContext;
import org.apache.shardingsphere.test.sql.parser.internal.asserts.segment.SQLSegmentAssert;
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.jaxb.segment.impl.limit.ExpectedPaginationValue;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertNull;
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/parameter/ParameterMarkerAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/parameter/ParameterMarkerAssert.java
index 0573db2b621..39e73ee8968 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/parameter/ParameterMarkerAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/parameter/ParameterMarkerAssert.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.test.sql.parser.internal.asserts.segment.param
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.test.sql.parser.internal.asserts.SQLCaseAssertContext;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/projection/ProjectionAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/projection/ProjectionAssert.java
index 032137a4a8f..83feab75f69 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/projection/ProjectionAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/projection/ProjectionAssert.java
@@ -45,7 +45,7 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.jaxb.segm
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.jaxb.segment.impl.projection.impl.shorthand.ExpectedShorthandProjection;
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.jaxb.segment.impl.projection.impl.subquery.ExpectedSubqueryProjection;
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.jaxb.segment.impl.projection.impl.top.ExpectedTopProjection;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import java.util.List;
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCases.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCases.java
index 35473141e06..f39775214f0 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCases.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCases.java
@@ -19,18 +19,16 @@ package org.apache.shardingsphere.test.sql.parser.internal.cases.sql;
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
-import com.google.common.base.Strings;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.sql.common.enums.ParameterMarkerType;
import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.jaxb.SQLCase;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.CaseTypedSQLBuilderFactory;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import java.util.Arrays;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
/**
* SQL cases.
@@ -38,8 +36,6 @@ import java.util.regex.Pattern;
@RequiredArgsConstructor
public final class SQLCases {
- private static final Pattern PARAMETER_MARKER = Pattern.compile("\\?|\\$[0-9]+");
-
private final Map<String, SQLCase> cases;
/**
@@ -67,7 +63,7 @@ public final class SQLCases {
private Collection<Object[]> generateTestParameters(final Collection<String> databaseTypes, final SQLCase sqlCase, final SQLCaseType caseType) {
Collection<Object[]> result = new LinkedList<>();
for (String each : getDatabaseTypes(sqlCase.getDatabaseTypes())) {
- if (databaseTypes.contains(each)) {
+ if (databaseTypes.contains(each) && containsSQLCaseType(sqlCase, caseType)) {
Object[] params = new Object[3];
params[0] = sqlCase.getId();
params[1] = each;
@@ -79,13 +75,17 @@ public final class SQLCases {
}
private Collection<String> getDatabaseTypes(final String databaseTypes) {
- return Strings.isNullOrEmpty(databaseTypes) ? getAllDatabaseTypes() : Splitter.on(',').trimResults().splitToList(databaseTypes);
+ return null == databaseTypes ? getAllDatabaseTypes() : Splitter.on(',').trimResults().splitToList(databaseTypes);
}
private Collection<String> getAllDatabaseTypes() {
return Arrays.asList("H2", "MySQL", "PostgreSQL", "Oracle", "SQLServer", "SQL92", "openGauss");
}
+ private boolean containsSQLCaseType(final SQLCase sqlCase, final SQLCaseType caseType) {
+ return null == sqlCase.getCaseTypes() || Splitter.on(',').trimResults().splitToList(sqlCase.getCaseTypes()).contains(caseType.name());
+ }
+
/**
* Get SQL.
*
@@ -95,45 +95,7 @@ public final class SQLCases {
* @return got SQL
*/
public String getSQL(final String caseId, final SQLCaseType caseType, final List<?> params) {
- Preconditions.checkState(cases.containsKey(caseId), "Can not find SQL of ID: %s", caseId);
- String sql = cases.get(caseId).getValue();
- switch (caseType) {
- case Placeholder:
- return getPlaceholderSQL(sql);
- case Literal:
- return getLiteralSQL(sql, params);
- default:
- throw new UnsupportedOperationException(caseType.name());
- }
- }
-
- private String getPlaceholderSQL(final String sql) {
- return sql;
- }
-
- private String getLiteralSQL(final String sql, final List<?> params) {
- return params.isEmpty() ? sql : replace(sql, params);
- }
-
- private String replace(final String sql, final List<?> params) {
- Matcher matcher = PARAMETER_MARKER.matcher(sql);
- int found = 0;
- StringBuffer result = new StringBuffer();
- while (matcher.find()) {
- String group = matcher.group();
- if (ParameterMarkerType.QUESTION.getMarker().equals(group)) {
- appendReplacement(++found, params, matcher, result);
- } else {
- int dollarMarker = Integer.parseInt(group.replace(ParameterMarkerType.DOLLAR.getMarker(), ""));
- appendReplacement(dollarMarker, params, matcher, result);
- }
- }
- matcher.appendTail(result);
- return result.toString();
- }
-
- private void appendReplacement(final int markerIndex, final List<?> params, final Matcher matcher, final StringBuffer buffer) {
- Preconditions.checkArgument(markerIndex <= params.size(), "Missing replacement for `%s` at index `%s`.", PARAMETER_MARKER.pattern(), markerIndex);
- matcher.appendReplacement(buffer, Matcher.quoteReplacement(params.get(markerIndex - 1).toString()));
+ Preconditions.checkState(cases.containsKey(caseId), "Can not find SQL of ID: %s.", caseId);
+ return CaseTypedSQLBuilderFactory.newInstance(caseType).build(cases.get(caseId).getValue(), params);
}
}
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/jaxb/SQLCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/jaxb/SQLCase.java
index 54eb337b9d7..883974e1d4e 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/jaxb/SQLCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/jaxb/SQLCase.java
@@ -40,4 +40,7 @@ public final class SQLCase {
@XmlAttribute(name = "db-types")
private String databaseTypes;
+
+ @XmlAttribute(name = "case-types")
+ private String caseTypes;
}
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCaseType.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/CaseTypedSQLBuilder.java
similarity index 75%
copy from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCaseType.java
copy to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/CaseTypedSQLBuilder.java
index 1ea5b5c2a21..a7b53cf043d 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCaseType.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/CaseTypedSQLBuilder.java
@@ -15,12 +15,21 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.sql.parser.internal.cases.sql;
+package org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type;
+
+import java.util.List;
/**
- * SQL case type.
+ * Case typed SQL builder.
*/
-public enum SQLCaseType {
+public interface CaseTypedSQLBuilder {
- Placeholder, Literal
+ /**
+ * Build SQL.
+ *
+ * @param sql to be built SQL
+ * @param params SQL parameters
+ * @return built SQL
+ */
+ String build(String sql, List<?> params);
}
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/parameter/ParameterMarkerAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/CaseTypedSQLBuilderFactory.java
similarity index 51%
copy from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/parameter/ParameterMarkerAssert.java
copy to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/CaseTypedSQLBuilderFactory.java
index 0573db2b621..7fb92f7757e 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/parameter/ParameterMarkerAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/CaseTypedSQLBuilderFactory.java
@@ -15,34 +15,33 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.sql.parser.internal.asserts.segment.parameter;
+package org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.test.sql.parser.internal.asserts.SQLCaseAssertContext;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.impl.LiteralSQLBuilder;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.impl.PlaceholderSQLBuilder;
/**
- * Parameter marker assert.
+ * Case typed SQL builder factory.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class ParameterMarkerAssert {
+public final class CaseTypedSQLBuilderFactory {
/**
- * Assert parameter markers count.
+ * Create new instance of case typed SQL builder.
*
- * @param assertContext assert context
- * @param actual actual parameter markers count
- * @param expected expected parameter markers count
+ * @param caseType SQL case type
+ * @return created instance
*/
- public static void assertCount(final SQLCaseAssertContext assertContext, final int actual, final int expected) {
- if (SQLCaseType.Placeholder == assertContext.getCaseType()) {
- assertThat(assertContext.getText("Parameter markers count assertion error: "), actual, is(expected));
- } else {
- assertThat(assertContext.getText("Parameter markers count assertion error: "), actual, is(0));
+ public static CaseTypedSQLBuilder newInstance(final SQLCaseType caseType) {
+ switch (caseType) {
+ case Literal:
+ return new LiteralSQLBuilder();
+ case Placeholder:
+ return new PlaceholderSQLBuilder();
+ default:
+ throw new UnsupportedOperationException(caseType.name());
}
}
}
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCaseType.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/SQLCaseType.java
similarity index 96%
copy from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCaseType.java
copy to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/SQLCaseType.java
index 1ea5b5c2a21..ca234f9cb30 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCaseType.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/SQLCaseType.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.sql.parser.internal.cases.sql;
+package org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type;
/**
* SQL case type.
*/
public enum SQLCaseType {
- Placeholder, Literal
+ Literal, Placeholder
}
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/jaxb/SQLCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/impl/LiteralSQLBuilder.java
similarity index 58%
copy from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/jaxb/SQLCase.java
copy to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/impl/LiteralSQLBuilder.java
index 54eb337b9d7..7b32c1133b7 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/jaxb/SQLCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/impl/LiteralSQLBuilder.java
@@ -15,29 +15,25 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.sql.parser.internal.cases.sql.jaxb;
+package org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.impl;
-import lombok.Getter;
-import lombok.Setter;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.CaseTypedSQLBuilder;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
+import java.util.List;
/**
- * SQL test case for xml tag.
+ * Literal SQL builder.
*/
-@XmlAccessorType(XmlAccessType.FIELD)
-@Getter
-@Setter
-public final class SQLCase {
+public final class LiteralSQLBuilder implements CaseTypedSQLBuilder {
- @XmlAttribute
- private String id;
-
- @XmlAttribute
- private String value;
-
- @XmlAttribute(name = "db-types")
- private String databaseTypes;
+ @Override
+ public String build(final String sql, final List<?> params) {
+ StringBuilder result = new StringBuilder(sql);
+ int currentCharIndex = 0;
+ for (Object each : params) {
+ currentCharIndex = result.indexOf("?", currentCharIndex);
+ result.replace(currentCharIndex, ++currentCharIndex, each.toString());
+ }
+ return result.toString();
+ }
}
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCaseType.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/impl/PlaceholderSQLBuilder.java
similarity index 72%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCaseType.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/impl/PlaceholderSQLBuilder.java
index 1ea5b5c2a21..bb2119ad631 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCaseType.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/type/impl/PlaceholderSQLBuilder.java
@@ -15,12 +15,19 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.sql.parser.internal.cases.sql;
+package org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.impl;
+
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.CaseTypedSQLBuilder;
+
+import java.util.List;
/**
- * SQL case type.
+ * Placeholder SQL builder.
*/
-public enum SQLCaseType {
+public final class PlaceholderSQLBuilder implements CaseTypedSQLBuilder {
- Placeholder, Literal
+ @Override
+ public String build(final String sql, final List<?> params) {
+ return sql;
+ }
}
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java
index 2060670725f..bda62560b57 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.test.sql.parser.internal.asserts.statement.SQLS
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.SQLParserTestCases;
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.jaxb.SQLParserTestCase;
import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.registry.SQLParserTestCasesRegistry;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCases;
import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.registry.SQLCasesRegistry;
import org.junit.Test;
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalUnsupportedSQLParserParameterizedIT.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalUnsupportedSQLParserParameterizedIT.java
index 4fdf0111b9c..9c25ba1f5b5 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalUnsupportedSQLParserParameterizedIT.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalUnsupportedSQLParserParameterizedIT.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.registry.UnsupportedSQLCasesRegistry;
import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCases;
import org.junit.Test;
diff --git a/test/parser/src/main/resources/sql/supported/ddl/create-function.xml b/test/parser/src/main/resources/sql/supported/ddl/create-function.xml
index 6868f5ed0d4..610d762b42d 100644
--- a/test/parser/src/main/resources/sql/supported/ddl/create-function.xml
+++ b/test/parser/src/main/resources/sql/supported/ddl/create-function.xml
@@ -21,7 +21,7 @@
AS 'select $1 + $2;'
LANGUAGE SQL
IMMUTABLE
- RETURNS NULL ON NULL INPUT" db-types="PostgreSQL,openGauss" />
+ RETURNS NULL ON NULL INPUT" db-types="PostgreSQL,openGauss" case-types="Placeholder" />
<!-- TODO Fix me. -->
<!-- <sql-case id="create_function_with_argname" value="CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS-->
<!-- $$-->
@@ -31,10 +31,10 @@
<!-- $$ LANGUAGE plpgsql" db-types="PostgreSQL,openGauss" />-->
<!-- <sql-case id="create_function_with_multiple_output_parameters" value="CREATE FUNCTION dup(in int, out f1 int, out f2 text)-->
<!-- AS $$ SELECT $1, CAST($1 AS text) || ' is text' $$-->
-<!-- LANGUAGE SQL" db-types="PostgreSQL,openGauss" />-->
+<!-- LANGUAGE SQL" db-types="PostgreSQL,openGauss" case-types="Placeholder" />-->
<!-- <sql-case id="create_function_return_table" value="CREATE FUNCTION dup(int) RETURNS TABLE(f1 int, f2 text)-->
<!-- AS $$ SELECT $1, CAST($1 AS text) || ' is text' $$-->
-<!-- LANGUAGE SQL" db-types="PostgreSQL,openGauss" />-->
+<!-- LANGUAGE SQL" db-types="PostgreSQL,openGauss" case-types="Placeholder" />-->
<sql-case id="create_function_with_execute" value="CREATE FUNCTION dbo.ISOweek (@DATE datetime)
RETURNS int WITH EXECUTE AS CALLER AS
BEGIN
diff --git a/test/parser/src/main/resources/sql/supported/dml/select.xml b/test/parser/src/main/resources/sql/supported/dml/select.xml
index 8335fcafc03..d8c25246558 100644
--- a/test/parser/src/main/resources/sql/supported/dml/select.xml
+++ b/test/parser/src/main/resources/sql/supported/dml/select.xml
@@ -114,7 +114,7 @@
<sql-case id="select_with_model_with_multi_column_for_loop" value="SELECT country, product, year, s FROM sales_view MODEL DIMENSION BY (country, product, year) MEASURES (sales s) IGNORE NAV RULES UPSERT (s[FOR (country, product, year) IN (SELECT DISTINCT 'new_country', product, year FROM sales_view WHERE country = 'Poland')] = s['Poland',CV(),CV()]) ORDER BY country, year, product" db-types="Oracle" />
<sql-case id="select_with_comments" value="-- begin comments
SELECT * FROM # middle comments
 t_order; -- end comments" db-types="MySQL" />
<sql-case id="select_with_model_in" value="SELECT order_id_value,order_item_id_value FROM (select 1001 as order_id_value, 100001 as order_item_id_value from dual) MODEL RETURN UPDATED ROWS DIMENSION BY(order_item_id_value) MEASURES(order_id_value) RULES(order_id_value[1] = 10001)" db-types="Oracle" />
- <sql-case id="select_with_dollar_parameter_for_postgresql" value="SELECT order_id FROM t_order WHERE user_id = $2 AND order_id = $1 OR user_id = $2" db-types="PostgreSQL,openGauss" />
+ <sql-case id="select_with_dollar_parameter_for_postgresql" value="SELECT order_id FROM t_order WHERE user_id = $2 AND order_id = $1 OR user_id = $2" db-types="PostgreSQL,openGauss" case-types="Placeholder" />
<sql-case id="select_with_binary_keyword" value="select position(binary 'll' in 'hello'),position('a' in binary 'hello')" db-types="MySQL" />
<sql-case id="select_with_schema_name_in_shorthand_projection" value="SELECT sharding_db.t_order.* FROM t_order WHERE user_id = ? AND order_id = ?" db-types="MySQL" />
<sql-case id="select_with_schema_name_in_column_projection" value="SELECT sharding_db.t_order.order_id FROM t_order WHERE user_id = ? AND order_id = ?" db-types="MySQL" />
diff --git a/test/parser/src/test/java/org/apache/shardingsphere/test/sql/parser/internal/InternalDistSQLParserParameterizedIT.java b/test/parser/src/test/java/org/apache/shardingsphere/test/sql/parser/internal/InternalDistSQLParserParameterizedIT.java
index 609dceac7ba..8dee5a01f25 100644
--- a/test/parser/src/test/java/org/apache/shardingsphere/test/sql/parser/internal/InternalDistSQLParserParameterizedIT.java
+++ b/test/parser/src/test/java/org/apache/shardingsphere/test/sql/parser/internal/InternalDistSQLParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.sql.parser.internal;
import org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;