Thread: checking pgsql functions

checking pgsql functions

From
Enrico Weigelt
Date:
Hi folks,

Is it possible to check plpgsql functions before they're actually
into the database, as it's done w/ sql functions ?

Often I've got the problem that a function still contains some
syntax errors (well, nobody's perfect), but my application is 
quite critical (a single crashing trigger may cost a lot of money).
So I'd like to checkin only syntactically correct (also with 
correct references).

Is it possible somehow ?


cu
-- 
---------------------------------------------------------------------Enrico Weigelt    ==   metux IT service
 phone:     +49 36207 519931         www:       http://www.metux.de/ fax:       +49 36207 519932         email:
contact@metux.decellphone: +49 174 7066481
 
----------------------------------------------------------------------- DSL ab 0 Euro. -- statische IP -- UUCP --
Hosting-- Webshops --
 
---------------------------------------------------------------------


Re: checking pgsql functions

From
Tom Lane
Date:
Enrico Weigelt <weigelt@metux.de> writes:
> Is it possible to check plpgsql functions before they're actually
> into the database, as it's done w/ sql functions ?

8.0 does a little bit of this, and 8.1 will do more...
        regards, tom lane


Re: checking pgsql functions

From
Michael Fuhr
Date:
On Thu, Apr 21, 2005 at 04:35:37AM +0200, Enrico Weigelt wrote:
> 
> Is it possible to check plpgsql functions before they're actually
> into the database, as it's done w/ sql functions ?

What version of PostgreSQL are you using?  8.0 and later have a
validator function for PL/pgSQL, although its syntax checks are
minimal and errors can still get through.  I'm sure a patch that
improves it would be welcome :-)

> Often I've got the problem that a function still contains some
> syntax errors (well, nobody's perfect), but my application is 
> quite critical (a single crashing trigger may cost a lot of money).
> So I'd like to checkin only syntactically correct (also with 
> correct references).

Since the application is critical, hopefully you're running regression
tests in a non-production environment before modifying the production
system.  Is that not the case?  Regardless of how much syntax checking
the DBMS does, it would still be prudent to test as many code paths as
possible for semantic correctness.

-- 
Michael Fuhr
http://www.fuhr.org/~mfuhr/