Re: NOT IN subquery optimization

Поиск
Список
Период
Сортировка
Искать
От
Andrey Lepikhov
Тема
Re: NOT IN subquery optimization
Дата
Msg-id
af3c2a22-013f-6d78-195a-3a923c4fa07d@postgrespro.ru
Ответ на
Список
Дерево обсуждения
Re: NOT IN subquery optimization "Li, Zheng" <zhelli@amazon.com>
Re: NOT IN subquery optimization "Li, Zheng" <zhelli@amazon.com>
Re: NOT IN subquery optimization Michael Paquier <michael@paquier.xyz>
Re: NOT IN subquery optimization "Li, Zheng" <zhelli@amazon.com>
Re: NOT IN subquery optimization Andrey Lepikhov <a.lepikhov@postgrespro.ru>
Re: NOT IN subquery optimization "Li, Zheng" <zhelli@amazon.com>
Re: NOT IN subquery optimization Andrey Lepikhov <a.lepikhov@postgrespro.ru>
Re: NOT IN subquery optimization Tom Lane <tgl@sss.pgh.pa.us>
Re: NOT IN subquery optimization "Li, Zheng" <zhelli@amazon.com>
Re: NOT IN subquery optimization Tom Lane <tgl@sss.pgh.pa.us>
Re: NOT IN subquery optimization "Li, Zheng" <zhelli@amazon.com>
Re: NOT IN subquery optimization David Steele <david@pgmasters.net>
Re: NOT IN subquery optimization Andrey Lepikhov <a.lepikhov@postgrespro.ru>
You should do small rebase (conflict with 911e7020770) and pgindent of 
the patch to repair problems with long lines and backspaces.

I am reviewing your patch in small steps. Questions:
1. In the find_innerjoined_rels() routine you stop descending on 
JOIN_FULL node type. I think it is wrong because if var has NOT NULL 
constraint, full join can't change it to NULL.
2. The convert_NOT_IN_to_join() routine is ok, but its name is 
misleading. May be you can use something like make_NOT_IN_to_join_quals()?
3. pull_up_sublinks_qual_recurse(). Comment:
"Return pullout predicate (x is NOT NULL)..."
may be change to
"Return pullout predicate (x is NOT NULL or NOT EXISTS...)"?
4. is_node_nonnullable():
I think one more case of non-nullable var may be foreign key constraint.

-- 
Andrey Lepikhov
Postgres Professional
https://postgrespro.com
The Russian Postgres Company



В списке pgsql-hackers по дате отправления
От: Dilip Kumar
Дата:
От: Noah Misch
Дата:
FAQ