Re: Assert failure on 'list_member_ptr(rel->joininfo, restrictinfo)'
Alexander Korotkov <aekorotkov@gmail.com>
From: Alexander Korotkov <aekorotkov@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Richard Guo <guofenglinux@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2023-11-19T01:17:29Z
Lists: pgsql-hackers
Attachments
- 0001-REALLOCATE_BITMAPSETS-manual-compile-time-option-v1.patch (application/octet-stream) patch v1-0001
- 0002-Make-regression-tests-pass-with-REALLOCATE_BITMAP-v1.patch (application/octet-stream) patch v1-0002
On Wed, Nov 15, 2023 at 5:07 PM Alexander Korotkov <aekorotkov@gmail.com> wrote: > > On Wed, Nov 15, 2023 at 8:02 AM Andres Freund <andres@anarazel.de> wrote: > > The kinda because there are callers to bms_(add|del)_members() that pass the > > same bms as a and b, which only works if the reallocation happens "late". > > +1, > Neat idea. I'm willing to work on this. Will propose the patch soon. It's here. New REALLOCATE_BITMAPSETS forces bitmapset reallocation on each modification. I also find it useful to add assert to all bitmapset functions on argument NodeTag. This allows you to find access to hanging pointers earlier. I had the feeling of falling into a rabbit hole while debugging all the cases of failure with this new option. With the second patch regressions tests pass. Any thoughts? ------ Regards, Alexander Korotkov
Commits
-
Add asserts to bimapset manipulation functions
- 71a3e8c43ba8 17.0 landed
-
Make replace_relid() leave argument unmodified
- e0477837ce49 17.0 landed
-
REALLOCATE_BITMAPSETS manual compile-time option
- 7d58f2342bd3 17.0 landed