From ed6e0545f5f6e9977c8410e04244138b567c5a73 Mon Sep 17 00:00:00 2001 From: Tom Lane 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 5a1e33fb4b..c5e9c2ee2d 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 unique_violation error is caused by the INSERT, and not by, say, an 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. -- 2.40.0