RE: Remove duplicate table scan in logical apply worker and code refactoring
Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com>
From: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>
To: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
Cc: "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>, Amit Kapila <amit.kapila16@gmail.com>
Date: 2024-07-31T11:21:23Z
Lists: pgsql-hackers
Attachments
- v2-0001-avoid-duplicate-table-scan-for-cross-partition-up.patch (application/octet-stream) patch v2-0001
On Wednesday, July 31, 2024 5:07 PM Kuroda, Hayato/黒田 隼人 <kuroda.hayato@fujitsu.com> wrote: > > Dear Hou, > > > When reviewing the code in logical/worker.c, I noticed that when > > applying a cross-partition update action, it scans the old partition twice. > > I am attaching the patch 0001 to remove this duplicate table scan. > > Just to clarify, you meant that FindReplTupleInLocalRel() are called in > apply_handle_tuple_routing() and > apply_handle_tuple_routing()->apply_handle_delete_internal(), > which requires the index or sequential scan, right? LGTM. Thanks for reviewing the patch, and your understanding is correct. Here is the updated patch 0001. I removed the comments as suggested by Amit. Since 0002 patch is only refactoring the code and I need some time to review the comments for it, I will hold it until the 0001 is committed. Best Regards, Hou zj
Commits
-
Avoid duplicate table scans for cross-partition updates during logical replication.
- a67da49e1d98 18.0 landed