Re: Removing unneeded self joins
От | Andrey Lepikhov |
---|---|
Тема | Re: Removing unneeded self joins |
Дата | |
Msg-id | 4b69ea09-5047-cd8a-a0d7-de1f12120433@postgrespro.ru обсуждение исходный текст |
Ответ на | Re: Removing unneeded self joins (Hywel Carver <hywel@skillerwhale.com>) |
Ответы |
Re: Removing unneeded self joins
|
Список | pgsql-hackers |
On 2/7/21 01:56, Hywel Carver wrote: > On Wed, Jun 30, 2021 at 12:21 PM Andrey Lepikhov > <a.lepikhov@postgrespro.ru <mailto:a.lepikhov@postgrespro.ru>> wrote: > I think, here we could ask more general question: do we want to > remove a > 'IS NOT NULL' clause from the clause list if the rest of the list > implicitly implies it? > > > My suggestion was not to remove it, but to avoid adding it in the first > place. When your optimisation has found a join on a group of columns > under a uniqueness constraint, you would do something like this (forgive > the pseudo-code) > > foreach(column, join_clause) { > if(column.nullable) { // This condition is what I'm suggesting is added > add_null_test(column, IS_NOT_NULL); > } > } > > But it may be that that's not possible or practical at this point in the > code. I think, such option will require to implement a new machinery to prove that arbitrary column couldn't produce NULL value. -- regards, Andrey Lepikhov Postgres Professional
В списке pgsql-hackers по дате отправления: