\brief create an instance from values that outputs all columns
| 567 | static constexpr const char* default_output_suffix_for_right = ""; |
| 568 | /// \brief create an instance from values that outputs all columns |
| 569 | HashJoinNodeOptions( |
| 570 | JoinType in_join_type, std::vector<FieldRef> in_left_keys, |
| 571 | std::vector<FieldRef> in_right_keys, Expression filter = literal(true), |
| 572 | std::string output_suffix_for_left = default_output_suffix_for_left, |
| 573 | std::string output_suffix_for_right = default_output_suffix_for_right, |
| 574 | bool disable_bloom_filter = false) |
| 575 | : join_type(in_join_type), |
| 576 | left_keys(std::move(in_left_keys)), |
| 577 | right_keys(std::move(in_right_keys)), |
| 578 | output_all(true), |
| 579 | output_suffix_for_left(std::move(output_suffix_for_left)), |
| 580 | output_suffix_for_right(std::move(output_suffix_for_right)), |
| 581 | filter(std::move(filter)), |
| 582 | disable_bloom_filter(disable_bloom_filter) { |
| 583 | this->key_cmp.resize(this->left_keys.size()); |
| 584 | for (size_t i = 0; i < this->left_keys.size(); ++i) { |
| 585 | this->key_cmp[i] = JoinKeyCmp::EQ; |
| 586 | } |
| 587 | } |
| 588 | /// \brief create an instance from keys |
| 589 | /// |
| 590 | /// This will create an inner join that outputs all columns and has no post join filter |