| 237 | } |
| 238 | |
| 239 | uint32_t HashTableCtx::Hash(const void* input, int len, uint32_t hash) const { |
| 240 | /// Use CRC hash at first level for better performance. Switch to murmur hash at |
| 241 | /// subsequent levels since CRC doesn't randomize well with different seed inputs. |
| 242 | if (level_ == 0) return HashUtil::Hash(input, len, hash); |
| 243 | return HashUtil::MurmurHash2_64(input, len, hash); |
| 244 | } |
| 245 | |
| 246 | uint32_t HashTableCtx::HashRow( |
| 247 | const uint8_t* expr_values, const uint8_t* expr_values_null) const noexcept { |