Thread: custom error messages/numbers
Folks,
I am developing an app for PostgreSQL, entirely with stored functions (somewhat resembling the object-oriented approach. In fact it is not an app, just an API). All my functions return an integer value - 0 if the function was successful, another value otherwise.
Until now, all parameter checking was done manually in the stored function (if param is null then return -8; end if; etc.) This makes things quite lengthy.
I know about check constraints. However, upon error they throw an error message and abort the current transaction, So my question is: is there any possible way of throwing my own error messages upon a check constraint violation?
Thank you very much
Zoltan Bartko
BARTKO Zoltan wrote: > Folks, > > I am developing an app for PostgreSQL, entirely with stored functions > (somewhat resembling the object-oriented approach. In fact it is not > an app, just an API). All my functions return an integer value - 0 if > the function was successful, another value otherwise. > > Until now, all parameter checking was done manually in the stored > function (if param is null then return -8; end if; etc.) This makes > things quite lengthy. > > I know about check constraints. However, upon error they throw an > error message and abort the current transaction, So my question is: > is there any possible way of throwing my own error messages upon a > check constraint violation? Not in v7.4 - there should be nested transactions available in 7.5 which might allow this. In fact, I think the developer of nested transactions is looking for testers at the moment - see the hackers list for details. In actual fact, I'd be tempted to move the procedural API out of the database. If all your access is to be through the API and not using SQL there seems little point in embedding it inside PG. -- Richard Huxton Archonet Ltd
On Thu, May 27, 2004 at 06:26:53PM +0200, BARTKO Zoltan wrote: > Folks, > > I am developing an app for PostgreSQL, entirely with stored functions (somewhat resembling the object-oriented approach.In fact it is not an app, just an API). All my functions return an integer value - 0 if the function was successful,another value otherwise. > > Until now, all parameter checking was done manually in the stored function (if param is null then return -8; end if; etc.)This makes things quite lengthy. > > I know about check constraints. However, upon error they throw an error message and abort the current transaction, So myquestion is: is there any possible way of throwing my own error messages upon a check constraint violation? I don't know if this does what you want, but maybe RAISE ERROR is what you're looking for. -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a > tool for doing 5% of the work and then sitting around waiting for someone > else to do the other 95% so you can sue them.