Re: BUG #1956: Plpgsql top-level DECLARE does not share scope - Mailing list pgsql-bugs

From Jim C. Nasby
Subject Re: BUG #1956: Plpgsql top-level DECLARE does not share scope
Date
Msg-id 20051013171110.GY23883@pervasive.com
Whole thread Raw
In response to Re: BUG #1956: Plpgsql top-level DECLARE does not share scope  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: BUG #1956: Plpgsql top-level DECLARE does not share scope
List pgsql-bugs
On Thu, Oct 13, 2005 at 10:38:36AM -0400, Bruce Momjian wrote:
> Karl O. Pinc wrote:
> >
> > On 10/12/2005 10:32:20 PM, Bruce Momjian wrote:
> >    We tend to follow the C conventions, so perhaps we
> > > should
> > > throw a warning, but I can't think of any cases where we throw a
> > > warning
> > > in plpgsql because we compile it once on first call.
> > >
> > > I am thinking this falls in the "don't do that" category.
> >
> > Fair enough.  At the same time it sure would be nice if
> > plpgsql actually compiled (and parsed SQL) at
> > function definition time, even when the result is thrown away.
> > I'm building a big system and it's quite annoying
> > to get syntax errors, IIRC,
> > in code months after writing it, just because it took
> > me that long to get around to exercising a particular
> > IF statement.
>
> 8.0 has this improvement:
>
>      * Do minimal syntax checking of PL/pgSQL functions at creation time (Tom)
>        This allows us to catch simple syntax errors sooner.

Based on all that, I would certainly be in favor of throwing a warning
if you over-define something, since 99% of the time it's a mistake. Is
that possible with the current checking we do at compile time?
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #1959: readline error exiting psql
Next
From: Tom Lane
Date:
Subject: Re: BUG #1956: Plpgsql top-level DECLARE does not share scope