Re: Confused with LABEL and LOOP - Mailing list pgsql-general

From Tom Lane
Subject Re: Confused with LABEL and LOOP
Date
Msg-id 2158.1097591904@sss.pgh.pa.us
Whole thread Raw
In response to Confused with LABEL and LOOP  ("Patrick Fiche" <patrick.fiche@aqsacom.com>)
Responses Re: Confused with LABEL and LOOP  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
"Patrick Fiche" <patrick.fiche@aqsacom.com> writes:
> I'm a bit confused with the use of Label for loops in PostgreSQL.
> I'm using PostgreSQL 8.0 Beta2 version on WIN32 platform.

> CREATE OR REPLACE FUNCTION TEST( ) RETURNS int4 AS '
> BEGIN
> <<LOOP1>>
> LOOP
>   Raise Notice ''Loop 1'';
>   EXIT LOOP1;
> END LOOP;
> RETURN 0;
> END'
> LANGUAGE 'plpgsql';

> When I call SELECT TEST(), I get the error message :
> ERROR:  control reached end of function without RETURN
> CONTEXT:  PL/pgSQL function "test"

Hmm.  I think this *should* work, and experimentation shows that it did
work up through PG 7.2.  It's broken in 7.3 and later.

Jan, do you see any fine point that makes this function wrong?  Sure
looks like a bug to me.

            regards, tom lane

pgsql-general by date:

Previous
From: Greg Stark
Date:
Subject: Re: 'NOW' in UTC with no timezone
Next
From: Tom Lane
Date:
Subject: Re: 'NOW' in UTC with no timezone