Difference between revisions of "SQL MERGE Patch Status"

From PostgreSQL wiki
Jump to: navigation, search
(Created page with "= Previous History [https://wiki.postgresql.org/wiki/SQL_MERGE] = Overview Patch for SQL Standard MERGE statement submitted to PostgreSQL core Current patch is v14 [https:/...")
 
m
Line 1: Line 1:
= Previous History
+
=== Previous History ===
[https://wiki.postgresql.org/wiki/SQL_MERGE]
+
[https://wiki.postgresql.org/wiki/SQL_MERGE SQL MERGE]
  
= Overview
+
=== Overview ===
  
 
Patch for SQL Standard MERGE statement submitted to PostgreSQL core
 
Patch for SQL Standard MERGE statement submitted to PostgreSQL core
Line 9: Line 9:
 
[https://www.postgresql.org/message-id/CANP8%2Bj%2BYDPtO9KsMX2ztXLxHjpmjef3ytfmhRfvK48db0o4btg%40mail.gmail.com]
 
[https://www.postgresql.org/message-id/CANP8%2Bj%2BYDPtO9KsMX2ztXLxHjpmjef3ytfmhRfvK48db0o4btg%40mail.gmail.com]
  
= Open Items
+
=== Open Items ===
  
== Bugs
+
== Bugs ==
 
* Incorrect wording on ERROR when using subselect in the SET clause of MERGE UPDATE:
 
* Incorrect wording on ERROR when using subselect in the SET clause of MERGE UPDATE:
 
Unrecognized node type 114
 
Unrecognized node type 114
Line 20: Line 20:
 
[https://www.postgresql.org/message-id/CAH2-WznPcu-7gDhWB-AG9BMamZ0sVKrwrHyoy%3DGLYy4-z01Emg%40mail.gmail.com]
 
[https://www.postgresql.org/message-id/CAH2-WznPcu-7gDhWB-AG9BMamZ0sVKrwrHyoy%3DGLYy4-z01Emg%40mail.gmail.com]
  
== Minor
+
== Minor ==
  
 
* None
 
* None
  
== Major
+
== Major ==
  
 
* Discussion around concurrency. Should we throw ERROR if concurrent update/delete makes row unavailable after EvalPlanQual?
 
* Discussion around concurrency. Should we throw ERROR if concurrent update/delete makes row unavailable after EvalPlanQual?
Line 30: Line 30:
 
[https://www.postgresql.org/message-id/CANP8%2Bj%2BrO5jnDATve3gokRf6Jhfss5DquFxgz74rhJero8sAGQ%40mail.gmail.com]
 
[https://www.postgresql.org/message-id/CANP8%2Bj%2BrO5jnDATve3gokRf6Jhfss5DquFxgz74rhJero8sAGQ%40mail.gmail.com]
  
= Unsupported features
+
= Unsupported features =
 
* Partitioning (WIP)
 
* Partitioning (WIP)
 
* INSERT OVERIDING
 
* INSERT OVERIDING
 
* Tab completion
 
* Tab completion
  
= Not planned for PG11
+
= Not planned for PG11 =
 
* RLS - Requested not to be supported for PG11, on basis of risk
 
* RLS - Requested not to be supported for PG11, on basis of risk
 
* Transition tables for Statement Triggers
 
* Transition tables for Statement Triggers
Line 41: Line 41:
 
* CTE support - not part of standard
 
* CTE support - not part of standard
  
= Closed
+
= Closed since v13 =
  
 
* Add xref docs between INSERT ON CONFLICT and MERGE (18/1/29)
 
* Add xref docs between INSERT ON CONFLICT and MERGE (18/1/29)
*
 

Revision as of 12:20, 30 January 2018

Previous History

SQL MERGE

Overview

Patch for SQL Standard MERGE statement submitted to PostgreSQL core

Current patch is v14 [1]

Open Items

Bugs

  • Incorrect wording on ERROR when using subselect in the SET clause of MERGE UPDATE:

Unrecognized node type 114 [2]

  • Incorrect wording on ERROR when using a whole row reference in the SET clause of MERGE UPDATE

ERROR: XX000: variable not found in subplan target lists [3]

Minor

  • None

Major

  • Discussion around concurrency. Should we throw ERROR if concurrent update/delete makes row unavailable after EvalPlanQual?

Unresolved request for change to earlier consensus on how to proceed [4]

Unsupported features

  • Partitioning (WIP)
  • INSERT OVERIDING
  • Tab completion

Not planned for PG11

  • RLS - Requested not to be supported for PG11, on basis of risk
  • Transition tables for Statement Triggers
  • RETURNING - not part of standard
  • CTE support - not part of standard

Closed since v13

  • Add xref docs between INSERT ON CONFLICT and MERGE (18/1/29)