mirror of
https://github.com/postgres/postgres.git
synced 2025-10-27 00:12:01 +03:00
Support MERGE into updatable views.
This allows the target relation of MERGE to be an auto-updatable or trigger-updatable view, and includes support for WITH CHECK OPTION, security barrier views, and security invoker views. A trigger-updatable view must have INSTEAD OF triggers for every type of action (INSERT, UPDATE, and DELETE) mentioned in the MERGE command. An auto-updatable view must not have any INSTEAD OF triggers. Mixing auto-update and trigger-update actions (i.e., having a partial set of INSTEAD OF triggers) is not supported. Rule-updatable views are also not supported, since there is no rewriter support for non-SELECT rules with MERGE operations. Dean Rasheed, reviewed by Jian He and Alvaro Herrera. Discussion: https://postgr.es/m/CAEZATCVcB1g0nmxuEc-A+gGB0HnfcGQNGYH7gS=7rq0u0zOBXA@mail.gmail.com
This commit is contained in:
@@ -767,7 +767,7 @@ CopyFrom(CopyFromState cstate)
|
||||
ExecInitResultRelation(estate, resultRelInfo, 1);
|
||||
|
||||
/* Verify the named relation is a valid target for INSERT */
|
||||
CheckValidResultRel(resultRelInfo, CMD_INSERT);
|
||||
CheckValidResultRel(resultRelInfo, CMD_INSERT, NIL);
|
||||
|
||||
ExecOpenIndices(resultRelInfo, false);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user