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 <chengzh...@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();
     }
     

Reply via email to