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 3f79af6f3f9 Fix getting database name from sql statement context
(#34960)
3f79af6f3f9 is described below
commit 3f79af6f3f901fdeb74d28da55246c51c6bce20c
Author: ZhangCheng <[email protected]>
AuthorDate: Wed Mar 12 12:57:25 2025 +0800
Fix getting database name from sql statement context (#34960)
* Fix getting database name from sql statement context
* Fix getting database name from sql statement context
---
RELEASE-NOTES.md | 1 +
.../driver/jdbc/core/statement/ShardingSphereStatement.java | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index d70664219bd..bfc2c27561e 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -35,6 +35,7 @@
1. SQL Parser: Fix set OnDuplicateKeyColumnsSegment on
PostgreSQLInsertStatement -
[#34425](https://github.com/apache/shardingsphere/pull/34425)
1. SQL Parser: Fix mysql sql parser error when sql contains implicit concat
expression - [#34660](https://github.com/apache/shardingsphere/pull/34660)
1. JDBC: Fix wrong jdbc database metadata pass through logic -
[#34959](https://github.com/apache/shardingsphere/pull/34959)
+1. JDBC: Fix getting database name from sql statement context -
[#34960](https://github.com/apache/shardingsphere/pull/34960)
### Change Logs
diff --git
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index 2125b8fc4e9..95cf25c30fe 100644
---
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -264,11 +264,12 @@ public final class ShardingSphereStatement extends
AbstractStatementAdapter {
private void prepareExecute(final QueryContext queryContext) throws
SQLException {
handleAutoCommit(queryContext.getSqlStatementContext().getSqlStatement());
+ sqlStatementContext = queryContext.getSqlStatementContext();
+ ShardingSpherePreconditions.checkNotNull(sqlStatementContext, () ->
new IllegalStateException("Statement context can not be null"));
usedDatabaseName = sqlStatementContext instanceof TableAvailable
? ((TableAvailable)
sqlStatementContext).getTablesContext().getDatabaseName().orElse(connection.getCurrentDatabaseName())
: connection.getCurrentDatabaseName();
connection.getDatabaseConnectionManager().getConnectionContext().setCurrentDatabaseName(connection.getCurrentDatabaseName());
- sqlStatementContext = queryContext.getSqlStatementContext();
clearStatements();
}