aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorva-kuznecov <va-kuznecov@ydb.tech>2022-12-22 17:39:37 +0300
committerva-kuznecov <va-kuznecov@ydb.tech>2022-12-22 17:39:37 +0300
commit3c8ee53569860626532fd1c34cbe8585e73e6703 (patch)
tree3347d9ed6ed63f01a8e260c6fa90d649391d31b6
parentc385d5ce48538d6c06b1bf63106e035f4fc250fc (diff)
downloadydb-3c8ee53569860626532fd1c34cbe8585e73e6703.tar.gz
Enable pattern cache in TKqpScanComputeActor
-rw-r--r--ydb/core/kqp/compute_actor/kqp_scan_compute_actor.cpp2
-rw-r--r--ydb/library/yql/minikql/computation/mkql_computation_node_graph.cpp7
2 files changed, 8 insertions, 1 deletions
diff --git a/ydb/core/kqp/compute_actor/kqp_scan_compute_actor.cpp b/ydb/core/kqp/compute_actor/kqp_scan_compute_actor.cpp
index 651f69e60ca..8ff5c5502e1 100644
--- a/ydb/core/kqp/compute_actor/kqp_scan_compute_actor.cpp
+++ b/ydb/core/kqp/compute_actor/kqp_scan_compute_actor.cpp
@@ -6,6 +6,7 @@
#include <ydb/core/actorlib_impl/long_timer.h>
#include <ydb/core/base/tablet_pipecache.h>
#include <ydb/core/base/wilson.h>
+#include <ydb/core/kqp/rm_service/kqp_rm_service.h>
#include <ydb/core/kqp/runtime/kqp_channel_storage.h>
#include <ydb/core/kqp/runtime/kqp_tasks_runner.h>
#include <ydb/core/kqp/common/kqp_resolve.h>
@@ -150,6 +151,7 @@ public:
execCtx.ApplyCtx = nullptr;
execCtx.Alloc = nullptr;
execCtx.TypeEnv = nullptr;
+ execCtx.PatternCache = GetKqpResourceManager()->GetPatternCache();
const TActorSystem* actorSystem = TlsActivationContext->ActorSystem();
diff --git a/ydb/library/yql/minikql/computation/mkql_computation_node_graph.cpp b/ydb/library/yql/minikql/computation/mkql_computation_node_graph.cpp
index f699a688337..f82797d3ca8 100644
--- a/ydb/library/yql/minikql/computation/mkql_computation_node_graph.cpp
+++ b/ydb/library/yql/minikql/computation/mkql_computation_node_graph.cpp
@@ -450,7 +450,12 @@ private:
std::bind(&TComputationGraphBuildingVisitor::PushBackNode, this, std::placeholders::_1));
const auto computationNode = Factory(node, ctx);
const auto& name = node.GetType()->GetName();
- if (name == "Switch") { // KIKIMR-16457
+ if (name == "Switch" || // KIKIMR-16457
+ name == "KqpWideReadTable" ||
+ name == "KqpWideReadTableRanges" ||
+ name == "KqpLookupTable" ||
+ name == "KqpReadTable"
+ ) {
PatternNodes->SuitableForCache = false;
}