+ Tom Lane
On Fri, Aug 12, 2022 at 11:05:06PM +0800, Zhang Mingli wrote:
> I got a coredump when using hash join on a Postgres derived
> Database(Greenplum DB).
> And I find a way to reproduce it on Postgres.
>
> Root cause:
>
> In ExecChooseHashTableSize(), commit b154ee63bb uses func pg_nextpower2_size_t
> whose param must not be 0.
>
> sbuckets = pg_nextpower2_size_t(hash_table_bytes / bucket_size);
>
> There is a potential risk that hash_table_bytes < bucket_size in some corner
> cases.
>
> Reproduce sql: