You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2025/07/05 12:31:28 UTC
(shardingsphere) branch master updated: Add database type setter on Statement binder (#35897)
This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 bf3fe6538bf Add database type setter on Statement binder (#35897)
bf3fe6538bf is described below
commit bf3fe6538bf180d115980d269c59ceab3ea72069
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat Jul 5 20:31:22 2025 +0800
Add database type setter on Statement binder (#35897)
---
.../infra/binder/engine/statement/dal/ExplainStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/AlterIndexStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/AlterTableStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/AlterViewStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/CreateIndexStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/CreateTableStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/CreateViewStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/CursorStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/DropIndexStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/DropTableStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/DropViewStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/RenameTableStatementBinder.java | 1 +
.../infra/binder/engine/statement/ddl/TruncateStatementBinder.java | 1 +
.../infra/binder/engine/statement/dml/DeleteStatementBinder.java | 1 +
.../infra/binder/engine/statement/dml/InsertStatementBinder.java | 1 +
.../infra/binder/engine/statement/dml/SelectStatementBinder.java | 1 +
.../infra/binder/engine/statement/dml/UpdateStatementBinder.java | 1 +
.../infra/binder/mysql/bind/type/MySQLLoadDataStatementBinder.java | 1 +
.../infra/binder/mysql/bind/type/MySQLLoadXMLStatementBinder.java | 1 +
.../infra/binder/mysql/bind/type/MySQLOptimizeTableStatementBinder.java | 1 +
.../infra/binder/mysql/bind/type/MySQLShowColumnsStatementBinder.java | 1 +
.../binder/mysql/bind/type/MySQLShowCreateTableStatementBinder.java | 1 +
.../infra/binder/mysql/bind/type/MySQLShowIndexStatementBinder.java | 1 +
.../infra/binder/postgresql/bind/type/PostgreSQLCopyStatementBinder.java | 1 +
.../binder/sqlserver/bind/type/SQLServerDenyUserStatementBinder.java | 1 +
25 files changed, 25 insertions(+)
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dal/ExplainStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dal/ExplainStatementBinder.java
index a7bbff20f28..942051ec8fb 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dal/ExplainStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dal/ExplainStatementBinder.java
@@ -41,6 +41,7 @@ public final class ExplainStatementBinder implements SQLStatementBinder<ExplainS
private ExplainStatement copy(final ExplainStatement sqlStatement, final SQLStatement boundSQLStatement) {
ExplainStatement result = new ExplainStatement(boundSQLStatement);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterIndexStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterIndexStatementBinder.java
index a59b5c81679..63325369638 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterIndexStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterIndexStatementBinder.java
@@ -45,6 +45,7 @@ public final class AlterIndexStatementBinder implements SQLStatementBinder<Alter
sqlStatement.getRenameIndex().ifPresent(result::setRenameIndex);
result.setSimpleTable(boundTable);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterTableStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterTableStatementBinder.java
index 5f79aa38ce1..f6419f3cbc4 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterTableStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterTableStatementBinder.java
@@ -60,6 +60,7 @@ public final class AlterTableStatementBinder implements SQLStatementBinder<Alter
result.getRenameIndexDefinitions().addAll(sqlStatement.getRenameIndexDefinitions());
sqlStatement.getModifyCollectionRetrieval().ifPresent(result::setModifyCollectionRetrieval);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterViewStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterViewStatementBinder.java
index 4859b568c39..4281ab1f2b4 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterViewStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterViewStatementBinder.java
@@ -52,6 +52,7 @@ public final class AlterViewStatementBinder implements SQLStatementBinder<AlterV
sqlStatement.getViewDefinition().ifPresent(result::setViewDefinition);
sqlStatement.getConstraintDefinition().ifPresent(result::setConstraintDefinition);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateIndexStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateIndexStatementBinder.java
index 1c9b4596189..1eff4640fd3 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateIndexStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateIndexStatementBinder.java
@@ -58,6 +58,7 @@ public final class CreateIndexStatementBinder implements SQLStatementBinder<Crea
sqlStatement.getAlgorithmType().ifPresent(result::setAlgorithmType);
sqlStatement.getLockTable().ifPresent(result::setLockTable);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateTableStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateTableStatementBinder.java
index ff76a5023be..1b45d6d6585 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateTableStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateTableStatementBinder.java
@@ -63,6 +63,7 @@ public final class CreateTableStatementBinder implements SQLStatementBinder<Crea
sqlStatement.getLikeTable().ifPresent(result::setLikeTable);
sqlStatement.getCreateTableOption().ifPresent(result::setCreateTableOption);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateViewStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateViewStatementBinder.java
index 5719ab6c082..795d7168221 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateViewStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CreateViewStatementBinder.java
@@ -46,6 +46,7 @@ public final class CreateViewStatementBinder implements SQLStatementBinder<Creat
result.setReplaceView(sqlStatement.isReplaceView());
result.setViewDefinition(sqlStatement.getViewDefinition());
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CursorStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CursorStatementBinder.java
index 008d93e164d..07471077718 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CursorStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/CursorStatementBinder.java
@@ -37,6 +37,7 @@ public final class CursorStatementBinder implements SQLStatementBinder<CursorSta
private CursorStatement copy(final CursorStatement sqlStatement, final SelectStatement boundSelectStatement) {
CursorStatement result = new CursorStatement(sqlStatement.getCursorName(), boundSelectStatement);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropIndexStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropIndexStatementBinder.java
index d1ff3e1b847..6f560b8662d 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropIndexStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropIndexStatementBinder.java
@@ -46,6 +46,7 @@ public final class DropIndexStatementBinder implements SQLStatementBinder<DropIn
sqlStatement.getLockTable().ifPresent(result::setLockTable);
result.setIfExists(sqlStatement.isIfExists());
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropTableStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropTableStatementBinder.java
index d60f3f5e5a0..500c9278058 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropTableStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropTableStatementBinder.java
@@ -46,6 +46,7 @@ public final class DropTableStatementBinder implements SQLStatementBinder<DropTa
result.setIfExists(sqlStatement.isIfExists());
result.setContainsCascade(sqlStatement.isContainsCascade());
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropViewStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropViewStatementBinder.java
index b100cf8c1a7..aa166236098 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropViewStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropViewStatementBinder.java
@@ -44,6 +44,7 @@ public final class DropViewStatementBinder implements SQLStatementBinder<DropVie
DropViewStatement result = new DropViewStatement();
result.getViews().addAll(boundViews);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/RenameTableStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/RenameTableStatementBinder.java
index 7201da33a51..d1154810ff6 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/RenameTableStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/RenameTableStatementBinder.java
@@ -43,6 +43,7 @@ public final class RenameTableStatementBinder implements SQLStatementBinder<Rena
private static RenameTableStatement copy(final RenameTableStatement sqlStatement, final Collection<RenameTableDefinitionSegment> boundRenameTables) {
RenameTableStatement result = new RenameTableStatement(boundRenameTables);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/TruncateStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/TruncateStatementBinder.java
index e35cc9e0850..18aaaf3aff5 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/TruncateStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/TruncateStatementBinder.java
@@ -43,6 +43,7 @@ public final class TruncateStatementBinder implements SQLStatementBinder<Truncat
private TruncateStatement copy(final TruncateStatement sqlStatement, final Collection<SimpleTableSegment> boundTables) {
TruncateStatement result = new TruncateStatement(boundTables);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/DeleteStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/DeleteStatementBinder.java
index 6ac647661a7..fc29546f667 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/DeleteStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/DeleteStatementBinder.java
@@ -59,6 +59,7 @@ public final class DeleteStatementBinder implements SQLStatementBinder<DeleteSta
sqlStatement.getLimit().ifPresent(result::setLimit);
sqlStatement.getOutput().ifPresent(result::setOutput);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/InsertStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/InsertStatementBinder.java
index 86536c9982f..e1ba22d7fae 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/InsertStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/InsertStatementBinder.java
@@ -81,6 +81,7 @@ public final class InsertStatementBinder implements SQLStatementBinder<InsertSta
sqlStatement.getMultiTableConditionalInto().ifPresent(result::setMultiTableConditionalInto);
sqlStatement.getReturning().ifPresent(result::setReturning);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/SelectStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/SelectStatementBinder.java
index 08fb36e5ef4..d5ed88de212 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/SelectStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/SelectStatementBinder.java
@@ -110,6 +110,7 @@ public final class SelectStatementBinder implements SQLStatementBinder<SelectSta
sqlStatement.getModel().ifPresent(result::setModel);
sqlStatement.getSubqueryType().ifPresent(result::setSubqueryType);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/UpdateStatementBinder.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/UpdateStatementBinder.java
index 0886da13b68..c68703b1169 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/UpdateStatementBinder.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dml/UpdateStatementBinder.java
@@ -66,6 +66,7 @@ public final class UpdateStatementBinder implements SQLStatementBinder<UpdateSta
result.setOrderBy(boundOrderBy);
sqlStatement.getLimit().ifPresent(result::setLimit);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLLoadDataStatementBinder.java b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLLoadDataStatementBinder.java
index ec31e5e213b..6a10c7a0311 100644
--- a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLLoadDataStatementBinder.java
+++ b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLLoadDataStatementBinder.java
@@ -42,6 +42,7 @@ public final class MySQLLoadDataStatementBinder implements SQLStatementBinder<My
private MySQLLoadDataStatement copy(final MySQLLoadDataStatement sqlStatement, final SimpleTableSegment boundTableSegment) {
MySQLLoadDataStatement result = new MySQLLoadDataStatement(boundTableSegment);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLLoadXMLStatementBinder.java b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLLoadXMLStatementBinder.java
index e6080ade381..ff501013bfd 100644
--- a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLLoadXMLStatementBinder.java
+++ b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLLoadXMLStatementBinder.java
@@ -42,6 +42,7 @@ public final class MySQLLoadXMLStatementBinder implements SQLStatementBinder<MyS
private MySQLLoadXMLStatement copy(final MySQLLoadXMLStatement sqlStatement, final SimpleTableSegment boundTableSegment) {
MySQLLoadXMLStatement result = new MySQLLoadXMLStatement(boundTableSegment);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLOptimizeTableStatementBinder.java b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLOptimizeTableStatementBinder.java
index 44e2aa8ac82..e5c743a9e29 100644
--- a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLOptimizeTableStatementBinder.java
+++ b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLOptimizeTableStatementBinder.java
@@ -43,6 +43,7 @@ public final class MySQLOptimizeTableStatementBinder implements SQLStatementBind
private MySQLOptimizeTableStatement copy(final MySQLOptimizeTableStatement sqlStatement, final Collection<SimpleTableSegment> boundTables) {
MySQLOptimizeTableStatement result = new MySQLOptimizeTableStatement(boundTables);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowColumnsStatementBinder.java b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowColumnsStatementBinder.java
index 9fdd6bea1c0..8f8e496add7 100644
--- a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowColumnsStatementBinder.java
+++ b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowColumnsStatementBinder.java
@@ -48,6 +48,7 @@ public final class MySQLShowColumnsStatementBinder implements SQLStatementBinder
private MySQLShowColumnsStatement copy(final MySQLShowColumnsStatement sqlStatement, final SimpleTableSegment boundTable, final ShowFilterSegment boundFilter) {
MySQLShowColumnsStatement result = new MySQLShowColumnsStatement(boundTable, sqlStatement.getFromDatabase().orElse(null), boundFilter);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowCreateTableStatementBinder.java b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowCreateTableStatementBinder.java
index 8bdb290a75d..b2bc79be16f 100644
--- a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowCreateTableStatementBinder.java
+++ b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowCreateTableStatementBinder.java
@@ -38,6 +38,7 @@ public final class MySQLShowCreateTableStatementBinder implements SQLStatementBi
private MySQLShowCreateTableStatement copy(final MySQLShowCreateTableStatement sqlStatement, final SimpleTableSegment boundTable) {
MySQLShowCreateTableStatement result = new MySQLShowCreateTableStatement(boundTable);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowIndexStatementBinder.java b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowIndexStatementBinder.java
index ca5e228cca1..a71edd6d8cd 100644
--- a/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowIndexStatementBinder.java
+++ b/infra/binder/dialect/mysql/src/main/java/org/apache/shardingsphere/infra/binder/mysql/bind/type/MySQLShowIndexStatementBinder.java
@@ -38,6 +38,7 @@ public final class MySQLShowIndexStatementBinder implements SQLStatementBinder<M
private MySQLShowIndexStatement copy(final MySQLShowIndexStatement sqlStatement, final SimpleTableSegment boundTable) {
MySQLShowIndexStatement result = new MySQLShowIndexStatement(boundTable, sqlStatement.getFromDatabase().orElse(null));
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/dialect/postgresql/src/main/java/org/apache/shardingsphere/infra/binder/postgresql/bind/type/PostgreSQLCopyStatementBinder.java b/infra/binder/dialect/postgresql/src/main/java/org/apache/shardingsphere/infra/binder/postgresql/bind/type/PostgreSQLCopyStatementBinder.java
index 2307ad0e50b..98dd452e08f 100644
--- a/infra/binder/dialect/postgresql/src/main/java/org/apache/shardingsphere/infra/binder/postgresql/bind/type/PostgreSQLCopyStatementBinder.java
+++ b/infra/binder/dialect/postgresql/src/main/java/org/apache/shardingsphere/infra/binder/postgresql/bind/type/PostgreSQLCopyStatementBinder.java
@@ -56,6 +56,7 @@ public final class PostgreSQLCopyStatementBinder implements SQLStatementBinder<P
final SimpleTableSegment boundTable, final Collection<ColumnSegment> boundColumns, final PrepareStatementQuerySegment boundPrepareStatementQuery) {
PostgreSQLCopyStatement result = new PostgreSQLCopyStatement(boundTable, boundColumns, boundPrepareStatementQuery);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}
diff --git a/infra/binder/dialect/sqlserver/src/main/java/org/apache/shardingsphere/infra/binder/sqlserver/bind/type/SQLServerDenyUserStatementBinder.java b/infra/binder/dialect/sqlserver/src/main/java/org/apache/shardingsphere/infra/binder/sqlserver/bind/type/SQLServerDenyUserStatementBinder.java
index 35b21ac6c63..84990fdfed8 100644
--- a/infra/binder/dialect/sqlserver/src/main/java/org/apache/shardingsphere/infra/binder/sqlserver/bind/type/SQLServerDenyUserStatementBinder.java
+++ b/infra/binder/dialect/sqlserver/src/main/java/org/apache/shardingsphere/infra/binder/sqlserver/bind/type/SQLServerDenyUserStatementBinder.java
@@ -53,6 +53,7 @@ public final class SQLServerDenyUserStatementBinder implements SQLStatementBinde
result.setTable(boundTable);
sqlStatement.getColumns().addAll(boundColumns);
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
+ result.setDatabaseType(sqlStatement.getDatabaseType());
return result;
}
}