From 0ed2d18754157ff27f915ab8977c5d78df37405b Mon Sep 17 00:00:00 2001 From: Aidar Samerkhanov Date: Fri, 15 Mar 2024 11:39:37 +0400 Subject: [PATCH] Add RollUpApply operator support to edge type index rewrite. (#1816) --- src/query/plan/rewrite/edge_type_index_lookup.hpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/query/plan/rewrite/edge_type_index_lookup.hpp b/src/query/plan/rewrite/edge_type_index_lookup.hpp index ed8666513..893fef970 100644 --- a/src/query/plan/rewrite/edge_type_index_lookup.hpp +++ b/src/query/plan/rewrite/edge_type_index_lookup.hpp @@ -465,6 +465,18 @@ class EdgeTypeIndexRewriter final : public HierarchicalLogicalOperatorVisitor { return true; } + bool PreVisit(RollUpApply &op) override { + prev_ops_.push_back(&op); + op.input()->Accept(*this); + RewriteBranch(&op.list_collection_branch_); + return false; + } + + bool PostVisit(RollUpApply &) override { + prev_ops_.pop_back(); + return true; + } + std::shared_ptr new_root_; private: