Re: ON CONFLICT DO UPDATE for partitioned tables
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>, Pavan Deolasee <pavan.deolasee@gmail.com>,
Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>, Andres Freund <andres@anarazel.de>,
Pg Hackers <pgsql-hackers@postgresql.org>, Peter Geoghegan <pg@bowt.ie>
Date: 2018-04-19T19:00:45Z
Lists: pgsql-hackers
On Thu, Apr 19, 2018 at 1:20 PM, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > Amit Langote wrote: >> Yeah, I too have wondered in the past what it would take to make >> equalTupDescs() return true for parent and partitions. Maybe we can make >> it work by looking a bit harder than I did then. > > How about simply relaxing the tdtypeid test from equalTupleDescs? I > haven't looked deeply but I think just checking whether or not both are > RECORDOID might be sufficient, for typecache purposes. That strike me as a very scary thing to do. There's code all over the system that may have non-obvious assumptions about the behavior of equalTupleDescs(), and I don't think we can have any confidence that nothing will break unless we do a detailed audit of all that code. > If we just remove the tdtypeid test, check-world passes. That does not reassure me. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
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