| 118 | } |
| 119 | |
| 120 | PartitionedHashJoinNode::PartitionedHashJoinNode(RuntimeState* state, |
| 121 | const PartitionedHashJoinPlanNode& pnode, const DescriptorTbl& descs) |
| 122 | : BlockingJoinNode("PartitionedHashJoinNode", state->obj_pool(), pnode, descs), |
| 123 | build_exprs_(pnode.build_exprs_), |
| 124 | probe_exprs_(pnode.probe_exprs_), |
| 125 | other_join_conjuncts_(pnode.other_join_conjuncts_), |
| 126 | hash_table_config_(*pnode.hash_table_config_), |
| 127 | expr_results_mem_limit_(FLAGS_result_pool_mem_multiplier |
| 128 | * state->query_mem_tracker()->GetLowestLimit(MemLimit::SOFT)), |
| 129 | process_probe_batch_fn_(pnode.process_probe_batch_fn_), |
| 130 | process_probe_batch_fn_level0_(pnode.process_probe_batch_fn_level0_) { |
| 131 | memset(hash_tbls_, 0, sizeof(HashTable*) * PARTITION_FANOUT); |
| 132 | VLOG(2) << "Conjunct expression results pool memory limit: " |
| 133 | << PrettyPrinter::Print(expr_results_mem_limit_, TUnit::BYTES); |
| 134 | } |
| 135 | |
| 136 | PartitionedHashJoinNode::~PartitionedHashJoinNode() { |
| 137 | // Check that we didn't leak any memory. |
nothing calls this directly
no test coverage detected