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