I suggest to reference the mvcc docs from the merge docs, or to make the merge docs themselves include the referenced information.
diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml index 341fea524a1..4446e1c484e 100644 --- a/doc/src/sgml/mvcc.sgml +++ b/doc/src/sgml/mvcc.sgml @@ -425,7 +425,7 @@ COMMIT; <para> <command>MERGE</command> allows the user to specify various combinations of <command>INSERT</command>, <command>UPDATE</command> - or <command>DELETE</command> subcommands. A <command>MERGE</command> + and <command>DELETE</command> subcommands. A <command>MERGE</command> command with both <command>INSERT</command> and <command>UPDATE</command> subcommands looks similar to <command>INSERT</command> with an <literal>ON CONFLICT DO UPDATE</literal> clause but does not diff --git a/doc/src/sgml/ref/merge.sgml b/doc/src/sgml/ref/merge.sgml index f68aa09736c..99dd5814f36 100644 --- a/doc/src/sgml/ref/merge.sgml +++ b/doc/src/sgml/ref/merge.sgml @@ -544,6 +544,7 @@ MERGE <replaceable class="parameter">total_count</replaceable> <command>UPDATE</command> if a concurrent <command>INSERT</command> occurs. There are a variety of differences and restrictions between the two statement types and they are not interchangeable. + See <xref linkend="mvcc"/> for more information. </para> </refsect1> Also, EXPLAIN output currently looks like this: | Merge on ex_mtarget t (actual rows=0 loops=1) | Tuples Inserted: 0 | Tuples Updated: 50 | Tuples Deleted: 0 | Tuples Skipped: 0 Should the "zero" rows be elided from the text output ? And/or, should it use a more compact output format ? There are two output formats already in use, so the options would look like this: Tuples: Inserted: 1 Updated: 2 Deleted: 3 Skipped: 4 or Tuples: inserted=1 updated=2 deleted=3 skipped=4 Note double spaces and capitals. That's separate from the question about eliding zeros.