[HACKERS] fix possible optimizations in ATExecAttachPartition()

Поиск
Список
Период
Сортировка
От Jeevan Ladhe
Тема [HACKERS] fix possible optimizations in ATExecAttachPartition()
Дата
Msg-id CAOgcT0Neue5EgZFHz9qLox1kNENFOv90XqhXzNm97+VPba9Ucw@mail.gmail.com
обсуждение исходный текст
Ответы Re: [HACKERS] fix possible optimizations in ATExecAttachPartition()  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
Список pgsql-hackers
Hi,

I was doing some testing for my default partitioning work, and I realized that
there seem to be a some optimization possible (and I think we should really have
this optimization) for logic around handling the "key IS NOT NULL" constraints
followed by predicate_implied_by() call.

1. Consider, if predicate_implied_by() returns false, in that case skip_validate
is left set to false, and we really do not want to do lots of stuff followed
this decision just to prove that the scan cannot be avoided(which is already
decided in this case) if there is no NOT NULL constraint on the partition key
column.

2. Further, if we have already decided not to skip the scan, we should really have
a break in following if block:

if (!partition_accepts_null &&
(partattno == 0 ||
!bms_is_member(partattno, not_null_attrs)))
skip_validate = false;


I have made above changes in the attached patch.
PFA, and let me know if I am missing something here.

Regards,
Jeevan Ladhe

Вложения

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

Предыдущее
От: Petr Jelinek
Дата:
Сообщение: Re: [HACKERS] Refreshing subscription relation state inside atransaction block
Следующее
От: Amit Langote
Дата:
Сообщение: Re: [HACKERS] fix possible optimizations in ATExecAttachPartition()