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

Method NextProbeRowBatch

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

Source from the content-addressed store, hash-verified

368}
369
370Status PartitionedHashJoinNode::NextProbeRowBatch(
371 RuntimeState* state, RowBatch* out_batch, bool* eos) {
372 DCHECK_ENUM_EQ(probe_state_, ProbeState::PROBING_END_BATCH);
373 DCHECK(probe_batch_pos_ == probe_batch_->num_rows() || probe_batch_pos_ == -1);
374 if (builder_->state() == HashJoinState::PARTITIONING_PROBE) {
375 DCHECK(input_partition_ == nullptr);
376 RETURN_IF_ERROR(NextProbeRowBatchFromChild(state, out_batch, eos));
377 } else {
378 DCHECK(builder_->state() == HashJoinState::REPARTITIONING_PROBE
379 || builder_->state() == HashJoinState::PROBING_SPILLED_PARTITION)
380 << builder_->DebugString();
381 DCHECK(probe_side_eos_);
382 DCHECK(input_partition_ != nullptr);
383 RETURN_IF_ERROR(NextSpilledProbeRowBatch(state, out_batch, eos));
384 }
385 // Free expr result allocations of the probe side expressions only after
386 // ExprValuesCache has been reset.
387 DCHECK(ht_ctx_->expr_values_cache()->AtEnd());
388 probe_expr_results_pool_->Clear();
389 return Status::OK();
390}
391
392Status PartitionedHashJoinNode::NextProbeRowBatchFromChild(
393 RuntimeState* state, RowBatch* out_batch, bool* eos) {

Callers

nothing calls this directly

Calls 7

OKFunction · 0.85
expr_values_cacheMethod · 0.80
num_rowsMethod · 0.45
stateMethod · 0.45
DebugStringMethod · 0.45
AtEndMethod · 0.45
ClearMethod · 0.45

Tested by

no test coverage detected