aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorudovichenko-r <rvu@ydb.tech>2022-12-08 15:46:16 +0300
committerudovichenko-r <rvu@ydb.tech>2022-12-08 15:46:16 +0300
commitab991e63d2e15259b7f604d0b67986ae5408d113 (patch)
tree28d823f6b85d38d5e37dbf11d301d2265a1dc1f2
parenta1bcd6e68340cf429eae3fb49d91bb0e1036f79b (diff)
downloadydb-ab991e63d2e15259b7f604d0b67986ae5408d113.tar.gz
[yql] Add missing Rewind()s (first part)
-rw-r--r--ydb/library/yql/core/type_ann/type_ann_expr.cpp11
-rw-r--r--ydb/library/yql/core/yql_opt_proposed_by_data.cpp5
2 files changed, 16 insertions, 0 deletions
diff --git a/ydb/library/yql/core/type_ann/type_ann_expr.cpp b/ydb/library/yql/core/type_ann/type_ann_expr.cpp
index 38760e8290f..9fd10cd5ba1 100644
--- a/ydb/library/yql/core/type_ann/type_ann_expr.cpp
+++ b/ydb/library/yql/core/type_ann/type_ann_expr.cpp
@@ -99,6 +99,17 @@ public:
return combinedStatus;
}
+ void Rewind() {
+ CallableTransformer->Rewind();
+ CallableInputs.clear();
+ Processed.clear();
+ HasRenames = false;
+ RepeatCallableCount.clear();
+ CurrentFunctions = {};
+ CallableTimes.clear();
+ }
+
+
private:
void WriteRepeatCallableCount() {
if (RepeatCallableCount.empty()) {
diff --git a/ydb/library/yql/core/yql_opt_proposed_by_data.cpp b/ydb/library/yql/core/yql_opt_proposed_by_data.cpp
index dcb0625c95f..3b1e53663de 100644
--- a/ydb/library/yql/core/yql_opt_proposed_by_data.cpp
+++ b/ydb/library/yql/core/yql_opt_proposed_by_data.cpp
@@ -76,6 +76,9 @@ private:
GetTransformer(x.Get()).Rewind();
}
}
+ PendingProviders.clear();
+ HasRepeats = false;
+ NewRoots.clear();
}
TStatus HandleProvider(IDataProvider* provider, const TExprNode::TPtr& input, TExprNode::TPtr& output, TExprContext& ctx) {
@@ -209,6 +212,8 @@ private:
GetTransformer(p->Get()).Rewind();
}
}
+ PendingProviders.clear();
+ NewRoots.clear();
}
TStatus HandleProvider(IDataProvider* provider, const TExprNode::TPtr& input, TExprNode::TPtr& output, TExprContext& ctx) {