MCPcopy Create free account
hub / github.com/apache/arrow / Init

Method Init

cpp/src/arrow/acero/hash_join_node.cc:117–143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

115}
116
117Status HashJoinSchema::Init(JoinType join_type, const Schema& left_schema,
118 const std::vector<FieldRef>& left_keys,
119 const Schema& right_schema,
120 const std::vector<FieldRef>& right_keys,
121 const Expression& filter,
122 const std::string& left_field_name_suffix,
123 const std::string& right_field_name_suffix) {
124 std::vector<FieldRef> left_output;
125 if (join_type != JoinType::RIGHT_SEMI && join_type != JoinType::RIGHT_ANTI) {
126 const FieldVector& left_fields = left_schema.fields();
127 left_output.resize(left_fields.size());
128 for (size_t i = 0; i < left_fields.size(); ++i) {
129 left_output[i] = FieldRef(static_cast<int>(i));
130 }
131 }
132 // Repeat the same for the right side
133 std::vector<FieldRef> right_output;
134 if (join_type != JoinType::LEFT_SEMI && join_type != JoinType::LEFT_ANTI) {
135 const FieldVector& right_fields = right_schema.fields();
136 right_output.resize(right_fields.size());
137 for (size_t i = 0; i < right_fields.size(); ++i) {
138 right_output[i] = FieldRef(static_cast<int>(i));
139 }
140 }
141 return Init(join_type, left_schema, left_keys, left_output, right_schema, right_keys,
142 right_output, filter, left_field_name_suffix, right_field_name_suffix);
143}
144
145Status HashJoinSchema::Init(
146 JoinType join_type, const Schema& left_schema, const std::vector<FieldRef>& left_keys,

Callers 2

MakeMethod · 0.45
InitMethod · 0.45

Calls 12

resizeMethod · 0.80
push_backMethod · 0.80
query_contextMethod · 0.80
ExpectBloomFilterMethod · 0.80
FieldRefFunction · 0.50
OKFunction · 0.50
MakeFunction · 0.50
fieldsMethod · 0.45
sizeMethod · 0.45
clearMethod · 0.45
getMethod · 0.45
memory_poolMethod · 0.45

Tested by

no test coverage detected