Re: Revert: Remove useless self-joins *and* -DREALLOCATE_BITMAPSETS make server crash, regress test fail.
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: Richard Guo <guofenglinux@gmail.com>, David Rowley <dgrowleyml@gmail.com>,
jian he <jian.universality@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-05-07T18:20:55Z
Lists: pgsql-hackers
Attachments
- copy-bitmapsets-when-making-restrictinfos.patch (text/x-diff) patch
Andrew Dunstan <andrew@dunslane.net> writes: > On 2024-05-07 Tu 06:05, Richard Guo wrote: >> +1 to have build farm coverage of REALLOCATE_BITMAPSETS. This flag >> seems quite useful. > I have added it to the CPPFLAGS on prion. ... and as expected, prion fell over. I find that Richard's proposed fix makes the core regression tests pass, but we still fail check-world. So I'm afraid we need something more aggressive, like the attached which makes make_restrictinfo copy all its input bitmapsets. Without that, we still have sharing of bitmapsets across different RestrictInfos, which seems pretty scary given what we now see about the effects of 00b41463c. This seems annoyingly expensive, but maybe there's little choice? Given this, we could remove ad-hoc bms_copy calls from the callers of make_restrictinfo, distribute_quals_to_rels, etc. I didn't go looking for possible wins of that sort; there's unlikely to be a lot of them. regards, tom lane
Commits
-
Make left-join removal safe under -DREALLOCATE_BITMAPSETS.
- c7be3c015bfe 17.0 landed
-
Revert: Remove useless self-joins
- d1d286d83c0e 17.0 cited
-
Remove mention of nchar
- 81b2252e609c 17.0 cited