On Mon, 2011-01-03 at 19:01 +0200, Heikki Linnakangas wrote: > > If we do that, then we definitely need a catch-all WHEN statement, so > > that we can say > > > > WHEN NOT MATCHED > > INSERT > > WHEN MATCHED > > UPDATE > > ELSE > > { INSERT into another table so we can try again in a minute > > or RAISE error } > > > > Otherwise we will silently drop rows. Throwing an error every time isn't > > useful behaviour. > > An ELSE clause would be nice, but it's not related to the question at > hand. Only some serialization anomalities result in a row that matches > neither WHEN MATCHED nor WHEN NOT MATCHED.
Concurrent UPDATEs, DELETEs, MERGE > Others result in a duplicate > key exception, for example. Concurrent INSERTs, MERGE So an ELSE clause is very relevant to handling anomalies in a useful way. -- Simon Riggs http://www.2ndQuadrant.com/books/ PostgreSQL Development, 24x7 Support, Training and Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers