Re: 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 |
Дата | |
Msg-id | 822e99f5-1b21-5cf2-e38b-9e1161322168@oss.nttdata.com обсуждение исходный текст |
Ответ на | Re: Avoid unnecessary table open/close for TRUNCATE foo, foo, foo; kind of commands (Amul Sul <sulamul@gmail.com>) |
Ответы |
Re: Avoid unnecessary table open/close for TRUNCATE foo, foo, foo; kind of commands
Re: Avoid unnecessary table open/close for TRUNCATE foo, foo, foo; kind of commands |
Список | pgsql-hackers |
On 2021/04/10 0:39, Amul Sul wrote: > 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. LGTM, too. I will commit this patch. Though that code exists even in older version, I'm not thinking to back-patch that because it's not a bug. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION
В списке pgsql-hackers по дате отправления: