Fix a bug with SelectOperator
diff --git a/relational_operators/SelectOperator.hpp b/relational_operators/SelectOperator.hpp
index b9a4d49..df61c06 100644
--- a/relational_operators/SelectOperator.hpp
+++ b/relational_operators/SelectOperator.hpp
@@ -202,9 +202,12 @@
bool getAllWorkOrderProtos(WorkOrderProtosContainer *container) override;
- void feedInputBlock(const block_id input_block_id, const relation_id input_relation_id,
+ void feedInputBlock(const block_id input_block_id,
+ const relation_id input_relation_id,
const partition_id part_id) override {
- input_relation_block_ids_[part_id].push_back(input_block_id);
+ if (input_relation_id == input_relation_.getID()) {
+ input_relation_block_ids_[part_id].push_back(input_block_id);
+ }
}
QueryContext::insert_destination_id getInsertDestinationID() const override {
diff --git a/relational_operators/tests/SortRunGenerationOperator_unittest.cpp b/relational_operators/tests/SortRunGenerationOperator_unittest.cpp
index 99fafa8..acdd422 100644
--- a/relational_operators/tests/SortRunGenerationOperator_unittest.cpp
+++ b/relational_operators/tests/SortRunGenerationOperator_unittest.cpp
@@ -622,7 +622,7 @@
// Comparator for null-col-1 ASC NULLS LAST, null-col-2 ASC NULLS LAST,
// null-col-3 ASC NULLS LAST.
- auto comparator = [this](const Tuple &left, const Tuple &right) -> bool {
+ auto comparator = [](const Tuple &left, const Tuple &right) -> bool {
TestTupleAttrs l = TupleToTupleAttr(left);
TestTupleAttrs r = TupleToTupleAttr(right);
l.c1 = l.null_c4 ? std::numeric_limits<int>::max() : l.c1;