diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2022-08-13 16:59:58 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2022-08-13 16:59:58 -0400 |
commit | 1dfc9193af7ff3cde963aa153e21fadbfebe030a (patch) | |
tree | 69c5673c357d9d12b82e40e3cacea35dca4ce600 /src/backend/executor/nodeHashjoin.c | |
parent | 496ab1d6c8d853899595e986f04cd70c4b13dac4 (diff) | |
download | postgresql-1dfc9193af7ff3cde963aa153e21fadbfebe030a.tar.gz postgresql-1dfc9193af7ff3cde963aa153e21fadbfebe030a.zip |
Avoid misbehavior when hash_table_bytes < bucket_size.
It's possible to reach this case when work_mem is very small and tupsize
is (relatively) very large. In that case ExecChooseHashTableSize would
get an assertion failure, or with asserts off it'd compute nbuckets = 0,
which'd likely cause misbehavior later (I've not checked). To fix,
clamp the number of buckets to be at least 1.
This is due to faulty conversion of old my_log2() coding in 28d936031.
Back-patch to v13, as that was.
Zhang Mingli
Discussion: https://postgr.es/m/beb64ca0-91e2-44ac-bf4a-7ea36275ec02@Spark
Diffstat (limited to 'src/backend/executor/nodeHashjoin.c')
0 files changed, 0 insertions, 0 deletions