Thread: checking pgsql functions
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 -- ---------------------------------------------------------------------
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
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/