MCPcopy Create free account
hub / github.com/apache/impala / Reset

Method Reset

be/src/exec/partitioned-hash-join-node.cc:257–273  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

255}
256
257Status PartitionedHashJoinNode::Reset(RuntimeState* state, RowBatch* row_batch) {
258 if (join_op_ == TJoinOp::NULL_AWARE_LEFT_ANTI_JOIN) {
259 null_probe_output_idx_ = -1;
260 matched_null_probe_.clear();
261 }
262 ht_ctx_->set_level(0);
263 CloseAndDeletePartitions(row_batch);
264 builder_->Reset(IsLeftSemiJoin(join_op_) ? nullptr : row_batch);
265 memset(hash_tbls_, 0, sizeof(HashTable*) * PARTITION_FANOUT);
266 if (output_unmatched_batch_ != nullptr) {
267 output_unmatched_batch_->TransferResourceOwnership(row_batch);
268 }
269 output_unmatched_batch_.reset();
270 output_unmatched_batch_iter_.reset();
271 flushed_unattachable_build_buffers_ = false;
272 return BlockingJoinNode::Reset(state, row_batch);
273}
274
275void PartitionedHashJoinNode::CloseAndDeletePartitions(RowBatch* row_batch) {
276 // Close all the partitions and clean up all references to them.

Callers 5

CloseMethod · 0.45
OutputAllBuildMethod · 0.45
EvaluateNullProbeMethod · 0.45
DoneProbingMethod · 0.45

Calls 5

IsLeftSemiJoinFunction · 0.85
set_levelMethod · 0.80
clearMethod · 0.65
resetMethod · 0.65

Tested by

no test coverage detected