Re: [HACKERS] MERGE SQL Statement for PG11
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndquadrant.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Bruce Momjian <bruce@momjian.us>, Tom Lane <tgl@sss.pgh.pa.us>, Robert Haas <robertmhaas@gmail.com>,
Alvaro Herrera <alvherre@alvh.no-ip.org>, Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, Pavan Deolasee <pavan.deolasee@2ndquadrant.com>,
Stephen Frost <sfrost@snowman.net>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-01-29T18:14:39Z
Lists: pgsql-hackers
On 29 January 2018 at 17:35, Peter Geoghegan <pg@bowt.ie> wrote: > On Mon, Jan 29, 2018 at 8:51 AM, Simon Riggs <simon@2ndquadrant.com> wrote: >> On 29 January 2018 at 16:44, Bruce Momjian <bruce@momjian.us> wrote: >> >>> I think the question is how does it handle cases it doesn't support? >>> Does it give wrong answers? Does it give a helpful error message? Can >>> you summarize that? >> >> I'm happy to report that it gives correct answers to every known MERGE >> test, except >> >> * where it hits a concurrency issue and throws SQLCODE = >> ERRCODE_T_R_SERIALIZATION_FAILURE and the standard text for that >> >> * where it hits an unsupported feature and throws SQLCODE = >> ERRCODE_FEATURE_NOT_SUPPORTED, with appropriate text > > What specific features does it not work with already? A list would be helpful. Yes, I added that to the docs as a result of your review comments. I also mentioned them here last week in your review in answer to your specific questions. The current list of features that return ERRCODE_FEATURE_NOT_SUPPORTED is * Tables with Row Security enabled * Partitioning & Inheritance * Foreign Tables Rules are ignored, as they are with COPY. If people have concerns or find problems following review, I will be happy to update this list and/or fix issues, as normal. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Add support for MERGE SQL command
- 7103ebb7aae8 15.0 landed
-
Add API of sorts for transition table handling in trigger.c
- 3a46a45f6f00 15.0 landed
-
Revert MERGE patch
- 08ea7a2291db 11.0 cited
-
Fix several bugs related to ON CONFLICT's EXCLUDED pseudo relation.
- ad2278379244 9.6.0 cited