Re: ON CONFLICT DO UPDATE for partitioned tables
Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
From: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
To: Pavan Deolasee <pavan.deolasee@gmail.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>,
Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-03-16T11:43:30Z
Lists: pgsql-hackers
(2018/03/16 19:43), Pavan Deolasee wrote: > On Fri, Mar 2, 2018 at 9:06 PM, Alvaro Herrera <alvherre@2ndquadrant.com > <mailto:alvherre@2ndquadrant.com>> wrote: > @@ -106,6 +120,9 @@ typedef struct PartitionTupleRouting > int num_subplan_partition_offsets; > TupleTableSlot *partition_tuple_slot; > TupleTableSlot *root_tuple_slot; > + List **partition_arbiter_indexes; > + TupleTableSlot **partition_conflproj_slots; > + TupleTableSlot **partition_existing_slots; > } PartitionTupleRouting; > I am curious why you decided to add these members to > PartitionTupleRouting structure. Wouldn't ResultRelationInfo be a better > place to track these or is there some rule that we follow? I just started reviewing the patch, so maybe I'm missing something, but I think it would be a good idea to have these in that structure, not in ResultRelInfo, because these would be required only for partitions chosen via tuple routing. Best regards, Etsuro Fujita
Commits
-
Remove quick path in ExecInitPartitionInfo for equal tupdescs
- 79b2e52615fa 11.0 landed
-
Ignore whole-rows in INSERT/CONFLICT with partitioned tables
- 158b7bc6d779 11.0 landed
-
Handle INSERT .. ON CONFLICT with partitioned tables
- 555ee77a9668 11.0 landed
-
Remove unnecessary members from ModifyTableState and ExecInsert
- ee0a1fc84eb2 11.0 landed