Re: plpgsql: Is ELSE IF supported or not? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: plpgsql: Is ELSE IF supported or not?
Date
Msg-id 18442.1214501582@sss.pgh.pa.us
Whole thread Raw
In response to Re: plpgsql: Is ELSE IF supported or not?  (Mark Mielke <mark@mark.mielke.cc>)
List pgsql-hackers
Mark Mielke <mark@mark.mielke.cc> writes:
> I don't agree with this statement. In "all procedural languages", or 
> probably most, they usually make "ELSE IF" special, in that you don't 
> need to close the block twice as per above. The ELSE IF is not actually 
> special in PL/SQL, so it is not a special form. The "ELSE" can contain a 
> block, which contain any statement, including a nested IF statement. Why 
> not describe ELSE WHILE as well based upon the logic that ELSE IF is 
> valid? :-)

> Now, if it were to say "an alternative form of ELSEIF is to nest IF 
> statement like so:" ...

Yeah, that might be better.  I think the reason the text looks the way
it does is that we didn't have ELSEIF/ELSIF to start out with, and what
is now section 38.6.2.3 was originally an example of what you had to do
to work around that lack.  I agree that the current presentation is more
confusing than anything else.  ISTM documenting ELSEIF and ELSIF as
"separate forms" of IF is a bit over-the-top too.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: proposal: to_ascii(bytea)
Next
From: Tom Lane
Date:
Subject: Re: Join Removal/ Vertical Partitioning