From 5dabecef38fd029f6a95ed8dc120e99226b3cef7 Mon Sep 17 00:00:00 2001 From: 924060929 <924060929@qq.com> Date: Fri, 16 Aug 2024 11:10:02 +0800 Subject: [PATCH] [fix](Nereids) fix explain plan with sql cache (#39431) introduced by #38950, explain plan with sql cache will throw an exception ``` errCode = 2, detailMessage = Cannot invoke "org.apache.doris.nereids.trees.plans.Plan.treeString()" because "this.optimizedPlan" is null ``` (cherry picked from commit afa568480632537f8b72ed22a2ca3397b9efda08) --- .../main/java/org/apache/doris/nereids/NereidsPlanner.java | 2 +- regression-test/suites/query_p0/cache/sql_cache.groovy | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java index f607b6cf91e21e..74a54036f9c1a4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java @@ -174,7 +174,7 @@ public Plan planWithLock(LogicalPlan plan, PhysicalProperties requireProperties, if (plan instanceof LogicalSqlCache) { rewrittenPlan = analyzedPlan = plan; LogicalSqlCache logicalSqlCache = (LogicalSqlCache) plan; - physicalPlan = new PhysicalSqlCache( + optimizedPlan = physicalPlan = new PhysicalSqlCache( logicalSqlCache.getQueryId(), logicalSqlCache.getColumnLabels(), logicalSqlCache.getFieldInfos(), logicalSqlCache.getResultExprs(), logicalSqlCache.getResultSetInFe(), diff --git a/regression-test/suites/query_p0/cache/sql_cache.groovy b/regression-test/suites/query_p0/cache/sql_cache.groovy index d4b16cb5438fd2..05ad8f6d81d9ce 100644 --- a/regression-test/suites/query_p0/cache/sql_cache.groovy +++ b/regression-test/suites/query_p0/cache/sql_cache.groovy @@ -212,4 +212,11 @@ suite("sql_cache") { """ sql "ADMIN SET FRONTEND CONFIG ('cache_last_version_interval_second' = '10')" + + // explain plan with sql cache + connect { + sql "set enable_sql_cache=true" + sql "select 100" + sql "explain plan select 100" + } }