Re: Revert: Remove useless self-joins *and* -DREALLOCATE_BITMAPSETS make server crash, regress test fail.
От | David Rowley |
---|---|
Тема | Re: Revert: Remove useless self-joins *and* -DREALLOCATE_BITMAPSETS make server crash, regress test fail. |
Дата | |
Msg-id | CAApHDvr4wn=i3eNDt-kLshb6vGZ867S6-m5RZyyONpLY5yLrPg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Revert: Remove useless self-joins *and* -DREALLOCATE_BITMAPSETS make server crash, regress test fail. (David Rowley <dgrowleyml@gmail.com>) |
Ответы |
Re: Revert: Remove useless self-joins *and* -DREALLOCATE_BITMAPSETS make server crash, regress test fail.
|
Список | pgsql-hackers |
On Tue, 7 May 2024 at 17:11, David Rowley <dgrowleyml@gmail.com> wrote: > sjinf->syn_lefthand = bms_del_member(sjinf->syn_lefthand, relid); > > I've not looked, but I assumed the revert must have removed some > common code that was added and reverted with SJE. Yeah, before the revert, that did: - sjinf->syn_lefthand = replace_relid(sjinf->syn_lefthand, relid, subst); That replace code seems to have always done a bms_copy() -static Bitmapset * -replace_relid(Relids relids, int oldId, int newId) -{ - if (oldId < 0) - return relids; - - /* Delete relid without substitution. */ - if (newId < 0) - return bms_del_member(bms_copy(relids), oldId); - - /* Substitute newId for oldId. */ - if (bms_is_member(oldId, relids)) - return bms_add_member(bms_del_member(bms_copy(relids), oldId), newId); - - return relids; -} David
В списке pgsql-hackers по дате отправления: