| 208 | } |
| 209 | |
| 210 | void HashTableCtx::Close(RuntimeState* state) { |
| 211 | if (VLOG_IS_ON(3)) VLOG(3) << PrintStats(); |
| 212 | free(scratch_row_); |
| 213 | scratch_row_ = NULL; |
| 214 | expr_values_cache_.Close(expr_perm_pool_->mem_tracker()); |
| 215 | ScalarExprEvaluator::Close(build_expr_evals_, state); |
| 216 | ScalarExprEvaluator::Close(probe_expr_evals_, state); |
| 217 | } |
| 218 | |
| 219 | string HashTableCtx::PrintStats() const { |
| 220 | double avg_travel = num_probes_ == 0 ? 0 : (double)travel_length_ / (double)num_probes_; |