Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > Pgsql Patches > Re: options for...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 3 Topic 3683 of 3909
Post > Topic >>

Re: options for RAISE statement

by tgl@[EMAIL PROTECTED] (Tom Lane) May 4, 2008 at 09:08 PM

"Pavel Stehule" <pavel.stehule@[EMAIL PROTECTED]
> writes:
> this patch adds possibility to set additional options (SQLSTATE,
> DETAIL, DETAIL_LOG and HINT) for RAISE statement,

I looked this over briefly.  A couple of comments:

* Raising errors via hard-coded SQLSTATEs seems pretty unfriendly,
at least for cases where we are re****ting built-in errors.  Wouldn't
it be better to be able to raise errors using the same SQLSTATE names
that are recognized in EXCEPTION clauses?

* If we are going to let people throw random SQLSTATEs, there had better
be a way to name those same SQLSTATEs in EXCEPTION.

* I don't really like exposing DETAIL_LOG in this.  That was a spur of
the moment addition and we might take it out again; I think it's way
premature to set it in stone by exposing it as a plpgsql feature.

* Please avoid using errstart() directly.  This is unwarranted intimacy
with elog.h's implementation and I also think it will have unpleasant
behavior if an error occurs while evaluating the RAISE arguments.
(In fact, I think a user could easily force a backend PANIC that way.)
The approved way to deal with ere****t options that might not be there
is like this:

	ere****t(ERROR,
	        ( ...,
	         have_sqlstate ? errcode(...) : 0,
	          ...

That is, you should evaluate all the options into local variables
and then do one normal ere****t call.

* // comments are against our coding conventions.

			regards, tom lane

-- 
Sent via pgsql-patches mailing list (pgsql-patches@[EMAIL PROTECTED]
)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches
 




 3 Posts in Topic:
Re: options for RAISE statement
tgl@[EMAIL PROTECTED] (T  2008-05-04 21:08:17 
Re: options for RAISE statement
tgl@[EMAIL PROTECTED] (T  2008-05-11 20:41:48 
Re: options for RAISE statement
tgl@[EMAIL PROTECTED] (T  2008-05-13 18:14:57 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan13V112 Sun Jul 20 4:28:03 CDT 2008.