Re: Avoid unnecessary table open/close for TRUNCATE foo, foo, foo; kind of commands

Поиск
Список
Период
Сортировка
От Amul Sul
Тема Re: Avoid unnecessary table open/close for TRUNCATE foo, foo, foo; kind of commands
Дата
Msg-id CAAJ_b94xdtt3LnPQf3q7iQNhtd0SP5Fi6hGHbsNG2pWDt-RiNQ@mail.gmail.com
обсуждение исходный текст
Ответ на Avoid unnecessary table open/close for TRUNCATE foo, foo, foo; kind of commands  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
Ответы Re: Avoid unnecessary table open/close for TRUNCATE foo, foo, foo; kind of commands
Список pgsql-hackers
On Fri, Apr 9, 2021 at 8:51 PM Bharath Rupireddy
<bharath.rupireddyforpostgres@gmail.com> wrote:
>
> Hi,
>
> While checking the ExecuteTruncate code for the FOREIGN TRUNCATE
> feature, I saw that we filter out the duplicate relations specified in
> the TRUNCATE command. But before skipping the duplicates, we are just
> opening the relation, then if it is present in the already seen
> relids, then closing it and continuing further.
>
> I think we can just have the duplicate checking before table_open so
> that in cases like TRUNCATE foo, foo, foo, foo; we could save costs of
> table_open and table_close. Attaching a small patch. Thoughts?
>
> This is just like what we already do for child tables, see following
> in ExecuteTruncate:
>             foreach(child, children)
>             {
>                 Oid            childrelid = lfirst_oid(child);
>
>                 if (list_member_oid(relids, childrelid))
>                     continue;
>

Well yes, the patch looks pretty much reasonable to be.

Regards,
Amul



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

Предыдущее
От: Bharath Rupireddy
Дата:
Сообщение: Avoid unnecessary table open/close for TRUNCATE foo, foo, foo; kind of commands
Следующее
От: Fujii Masao
Дата:
Сообщение: Re: Avoid unnecessary table open/close for TRUNCATE foo, foo, foo; kind of commands