Gavin Sherry <[EMAIL PROTECTED]> writes: > BEGIN; > SAVEPOINT start; > INSERT INTO users VALUES(user || suffix); > EXIT; > EXCEPTION > WHEN UNIQUE_VIOLATION THEN > ROLLBACK TO start; > suffix := suffix + 1; > END;
Right. Essentially, our implementation is supplying the SAVEPOINT and ROLLBACK TO commands implicitly as part of any block with an EXCEPTION clause. When we get around to updating the "Oracle porting" guide in the plpgsql docs, this will need to be clearly explained. Depending on how tense you want to be about Oracle compatibility, we could make people actually write their blocks as above --- that is, the SAVEPOINT and ROLLBACK commands would be a required part of the exception-block syntax. They wouldn't actually *do* anything, but they would make the code look more like its Oracle equivalent. I'm not for this, but maybe someone wants to make the case for it? regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly