Re: Reduce "Var IS [NOT] NULL" quals during constant folding

Поиск
Список
Период
Сортировка
От Tender Wang
Тема Re: Reduce "Var IS [NOT] NULL" quals during constant folding
Дата
Msg-id CAHewXNkFfWJ22kP3OqhKW=30S+0_cjeNEzCXO03SJen8E9yFvg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Reduce "Var IS [NOT] NULL" quals during constant folding  (Richard Guo <guofenglinux@gmail.com>)
Ответы Re: Reduce "Var IS [NOT] NULL" quals during constant folding
Список pgsql-hackers


Richard Guo <guofenglinux@gmail.com> 于2025年3月26日周三 10:16写道:
On Sun, Mar 23, 2025 at 6:25 PM Richard Guo <guofenglinux@gmail.com> wrote:
> On Sat, Mar 22, 2025 at 2:21 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > The way to make this work is what I said before: move the planner's
> > collection of relation information to somewhere a bit earlier in
> > the planner.  But not to outside the planner.

> I'm considering moving the collection of attnotnull information before
> pull_up_sublinks, in hopes of leveraging this info to pull up NOT IN
> in the future, something like attached.

Here is an updated version of the patch with some cosmetic changes and
a more readable commit message.  I'm wondering if it's good enough to
be pushed.  Any comments?

The comment about  notnullattnums in struct RangeTblEntry says that:
* notnullattnums is zero-based set containing attnums of NOT NULL
* columns.

But in get_relation_notnullatts():
rte->notnullattnums = bms_add_member(rte->notnullattnums,
                                                                    i + 1);

The notnullattnums seem to be 1-based.


--
Thanks,
Tender Wang

В списке pgsql-hackers по дате отправления: