From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Gavin Sherry <swm(at)linuxworld(dot)com(dot)au> |
Cc: | "Jim C(dot) Nasby" <decibel(at)decibel(dot)org>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Anybody have an Oracle PL/SQL reference at hand? |
Date: | 2004-08-03 14:17:14 |
Message-ID: | 22700.1091542634@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Gavin Sherry <swm(at)linuxworld(dot)com(dot)au> 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
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2004-08-03 15:15:34 | Re: Unicode restriction |
Previous Message | Devrim GUNDUZ | 2004-08-03 14:14:12 | Re: Two questions about savepoints: Bug or feature? |