Re: ON CONFLICT DO UPDATE for partitioned tables
Amit Langote <langote_amit_f8@lab.ntt.co.jp>
From: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
To: Pavan Deolasee <pavan.deolasee@gmail.com>
Cc: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>,
Alvaro Herrera <alvherre@alvh.no-ip.org>,
Andres Freund <andres@anarazel.de>,
Pg Hackers <pgsql-hackers@postgresql.org>,
Peter Geoghegan <pg@bowt.ie>
Date: 2018-03-23T02:22:26Z
Lists: pgsql-hackers
Attachments
- v9-0001-Fix-ON-CONFLICT-to-work-with-partitioned-tables.patch (text/plain) patch v9-0001
On 2018/03/22 20:48, Pavan Deolasee wrote: > Thanks. It's looking much better now. Thanks. > I think we can possibly move all ON > CONFLICT related members to a separate structure and just copy the pointer > to the structure if (map == NULL). That might make the code a bit more tidy. OK, I tried that in the attached updated patch. > Is there anything that needs to be done for transition tables? I checked > and didn't see anything, but please check. There doesn't seem to be anything that this patch has to do for transition tables. If you look at the tests I added in triggers.sql which exercise INSERT ON CONFLICT's interaction with transition tables, you can see that we get the same output for a partitioned table as we get for a normal table. Thanks, Amit
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