From 55b5d7609244c4414a4e5b3f54cf098925016a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1nos=20Benjamin=20Antal?= Date: Fri, 20 Jan 2023 21:38:51 +0100 Subject: [PATCH] Add docs to `PullMultiple` --- src/query/v2/plan/operator.lcp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/query/v2/plan/operator.lcp b/src/query/v2/plan/operator.lcp index 65a562be3..82e98df03 100644 --- a/src/query/v2/plan/operator.lcp +++ b/src/query/v2/plan/operator.lcp @@ -72,7 +72,21 @@ class Cursor { /// @throws QueryRuntimeException if something went wrong with execution virtual bool Pull(Frame &, ExecutionContext &) = 0; - virtual bool PullMultiple(MultiFrame &, ExecutionContext &) { LOG_FATAL("PullMultipleIsNotImplemented"); } + /// Run an iteration of a @c LogicalOperator with MultiFrame. + /// + /// Since operators may be chained, the iteration may pull results from + /// multiple operators. + /// + /// @param MultiFrame May be read from or written to while performing the + /// iteration. + /// @param ExecutionContext Used to get the position of symbols in frame and + /// other information. + /// @return True if the operator was able to populate at least one Frame on the MultiFrame, + /// thus if an operator returns true, that means there is at least one valid Frame in the + /// MultiFrame. + /// + /// @throws QueryRuntimeException if something went wrong with execution + virtual bool PullMultiple(MultiFrame &, ExecutionContext &) {MG_ASSERT(false, "PullMultipleIsNotImplemented"); return false; } /// Resets the Cursor to its initial state. virtual void Reset() = 0;