From: | Kevin Grittner <kgrittn(at)ymail(dot)com> |
---|---|
To: | Kouhei Kaigai <kaigai(at)ak(dot)jp(dot)nec(dot)com>, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Bug? ExecChooseHashTableSize() got assertion failed with crazy number of rows |
Date: | 2015-08-19 13:40:51 |
Message-ID: | 1594535175.4597103.1439991651739.JavaMail.yahoo@mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Kouhei Kaigai <kaigai(at)ak(dot)jp(dot)nec(dot)com> wrote:
> we may need a couple of overhaul around HashJoin to support large
> size of data, not only nbuckets around 0x80000000.
Perhaps, but this is a clear bug, introduced to the 9.5 code, with
an obvious fix; so I've pushed the change from 1 to 1L on that left
shift. There was clearly an attempt in surrounding code to deal
with size overruns by using a long, applying a min(), and casting
to int; this one statement just missed a trick. If we need to
further constrain sizes to keep within allocation limits, that
seems like an entirely separate patch.
Thanks for finding and analyzing this and providing a patch!
--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2015-08-19 13:41:32 | Re: Proposal: Implement failover on libpq connect level. |
Previous Message | Andres Freund | 2015-08-19 13:34:11 | Re: allowing wal_level change at run time |