From ed6e0545f5f6e9977c8410e04244138b567c5a73 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sat, 28 Jan 2012 21:06:41 -0500
Subject: [PATCH] Add caution about multiple unique indexes breaking plpgsql
 upsert example.

Per Phil Sorber, though I didn't use his wording exactly.
---
 doc/src/sgml/plpgsql.sgml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml
index 5a1e33fb4be..c5e9c2ee2d1 100644
--- a/doc/src/sgml/plpgsql.sgml
+++ b/doc/src/sgml/plpgsql.sgml
@@ -2561,7 +2561,10 @@ SELECT merge_db(1, 'dennis');
 
      This coding assumes the <literal>unique_violation</> error is caused by
      the <command>INSERT</>, and not by, say, an <command>INSERT</> in a
-     trigger function on the table.  More safety could be had by using the
+     trigger function on the table.  It might also misbehave if there is
+     more than one unique index on the table, since it will retry the
+     operation regardless of which index caused the error.
+     More safety could be had by using the
      features discussed next to check that the trapped error was the one
      expected.
     </para>
-- 
GitLab