Add Reset() for list_aggregation_branch cursor in RollUpApply.

This resets state of Once and allow to collect data for new input value.
This commit is contained in:
Aidar Samerkhanov 2024-03-21 01:42:30 +04:00
parent 9bb2050373
commit b480d7556e
2 changed files with 8 additions and 5 deletions

View File

@ -5797,6 +5797,9 @@ class RollUpApplyCursor : public Cursor {
}
clear_frame_change_collector(self_.list_collection_symbols_);
frame[self_.result_symbol_] = result;
// After a successful input from the list_collection_cursor_
// reset state of cursor because it has to a Once at the beginning
list_collection_cursor_->Reset();
} else {
return false;
}

View File

@ -300,9 +300,9 @@ Feature: List operators
"""
Then the result should be:
| years | keanu.name |
| [2003, 2003, 1999, 2021] | "Keanu Reeves" |
| [2003, 2003, 1999, 2021] | 'Keanu Reeves' |
Scenario: List pattern comprehension and property
Scenario: List pattern comprehension with function on selected property
Given graph "graph_keanu"
When executing query:
"""
@ -322,9 +322,9 @@ Feature: List operators
"""
Then the result should be:
| n.name | years |
| "Keanu Reeves" | [2003, 2003, 1999, 2021] |
| "Carrie-Anne Moss" | [2003,1999] |
| "Laurence Fishburne" | [1999] |
| 'Keanu Reeves' | [2003, 2003, 1999, 2021] |
| 'Carrie-Anne Moss' | [1999,2003] |
| 'Laurence Fishburne' | [1999] |
Scenario: Multiple list pattern comprehensions in Return
Given graph "graph_keanu"