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 2025/03/12 04:57:32 UTC
(shardingsphere) branch master updated: Fix getting database name from sql statement context (#34960)
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 <ch...@apache.org>
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();
}