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 2023/06/25 00:52:45 UTC
[shardingsphere] branch master updated: Fix sql federation NPE (#26411)
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 7bbde757a60 Fix sql federation NPE (#26411)
7bbde757a60 is described below
commit 7bbde757a60e732070bdfe0eed0b0349d393a5e3
Author: ZhangCheng <ch...@apache.org>
AuthorDate: Sun Jun 25 08:52:38 2023 +0800
Fix sql federation NPE (#26411)
---
.../shardingsphere/sqlfederation/engine/SQLFederationEngine.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/engine/SQLFederationEngine.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/engine/SQLFederationEngine.java
index c614cc699ad..555c38451ad 100644
--- a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/engine/SQLFederationEngine.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/engine/SQLFederationEngine.java
@@ -197,7 +197,8 @@ public final class SQLFederationEngine implements AutoCloseable {
TableScanExecutorContext executorContext = new TableScanExecutorContext(databaseName, schemaName, metaData.getProps(), federationContext);
EnumerablePushDownTableScanExecutor pushDownTableScanExecutor =
new EnumerablePushDownTableScanExecutor(prepareEngine, jdbcExecutor, callback, optimizerContext, metaData.getGlobalRuleMetaData(), executorContext, statistics);
- for (String each : federationContext.getQueryContext().getSqlStatementContext().getTablesContext().getTableNames()) {
+ // TODO register only the required tables
+ for (String each : metaData.getDatabase(databaseName).getSchema(schemaName).getAllTableNames()) {
Table table = sqlFederationSchema.getTable(each);
if (table instanceof SQLFederationTable) {
((SQLFederationTable) table).setPushDownTableScanExecutor(pushDownTableScanExecutor);