Skip site navigation (1) Skip section navigation (2)

Re: Implementation of SQLSTATE and SQLERRM variables

From: Pavel Stehule <stehule(at)kix(dot)fsv(dot)cvut(dot)cz>
To: Neil Conway <neilc(at)samurai(dot)com>
Cc: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>,<pgsql-patches(at)postgresql(dot)org>, "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: Implementation of SQLSTATE and SQLERRM variables
Date: 2005-05-26 07:16:55
Message-ID: Pine.LNX.4.44.0505260858410.29321-100000@kix.fsv.cvut.cz (view raw or flat)
Thread:
Lists: pgsql-patches
> I think the docs need more than just "these variables are set when an 
> exception is raised".
> 
> The patch current resets SQLSTATE and SQLERRM whenever a new block is 
> entered. So:
> 
> create function trap_exceptions() returns void as $_$
> begin
>     begin
>       raise exception 'first exception';
>     exception when others then
>       raise notice '% %', SQLSTATE, SQLERRM;
>       begin
>         raise notice '% %', SQLSTATE, SQLERRM;
>       end;
>     end;
>     return;
> end; $_$ language plpgsql;
> 
> The second RAISE will report "successful completion". Is this the 
> behavior we want?

True, its foggy behave. Only if block contains exception than variables 
SQLSTATE and SQLERRM are created. 

> 
> Is SQLERRM the best name for that variable? It seems a little obscure to me.
> 

This name use Oracle in PL/SQL. ESQL Oracle and DB2 too. I think so is 
better use well knowed names for it than creating own. There is one 
argument for it. PL/pgSQL is language very similar Oracle PL/SQL. PL/SQL 
know SQLERRM, SQLCODE and SQLSTATE. An people which know PL/SQL will like 
use this names in Pg.

Pavel Stehule


> -Neil
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
> 
>                http://www.postgresql.org/docs/faq
> 


In response to

Responses

pgsql-patches by date

Next:From: Pavel StehuleDate: 2005-05-26 07:19:51
Subject: Re: pgsql: Add PL/pgSQL SQLSTATE and SQLERRM support
Previous:From: Peter EisentrautDate: 2005-05-26 06:38:55
Subject: Re: pgsql: Add PL/pgSQL SQLSTATE and SQLERRM support which sets these values

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group