mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Allow 'ELSEIF' as an alternative to 'ELSIF' in PL/PgSQL. There have been
several reports of users being confused when they attempt to use ELSEIF and run into trouble due to PL/PgSQL's lax parser. The parser will be improved for 8.1, but we can fix most of the problem by allowing ELSEIF for now.
This commit is contained in:
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.51 2004/12/13 18:05:08 petere Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.52 2004/12/17 03:51:34 neilc Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<chapter id="plpgsql">
|
<chapter id="plpgsql">
|
||||||
@ -1475,7 +1475,7 @@ SELECT * FROM some_func();
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<literal>IF</> statements let you execute commands based on
|
<literal>IF</> statements let you execute commands based on
|
||||||
certain conditions. <application>PL/pgSQL</> has four forms of
|
certain conditions. <application>PL/pgSQL</> has five forms of
|
||||||
<literal>IF</>:
|
<literal>IF</>:
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -1490,6 +1490,9 @@ SELECT * FROM some_func();
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para><literal>IF ... THEN ... ELSIF ... THEN ... ELSE</></>
|
<para><literal>IF ... THEN ... ELSIF ... THEN ... ELSE</></>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><literal>IF ... THEN ... ELSEIF ... THEN ... ELSE</></>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -1633,6 +1636,13 @@ END IF;
|
|||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title><literal>IF-THEN-ELSEIF-ELSE</></title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<literal>ELSEIF</> is an alias for <literal>ELSIF</>.
|
||||||
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="plpgsql-control-structures-loops">
|
<sect2 id="plpgsql-control-structures-loops">
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* procedural language
|
* procedural language
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.37 2004/09/13 01:45:32 neilc Exp $
|
* $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.38 2004/12/17 03:51:36 neilc Exp $
|
||||||
*
|
*
|
||||||
* This software is copyrighted by Jan Wieck - Hamburg.
|
* This software is copyrighted by Jan Wieck - Hamburg.
|
||||||
*
|
*
|
||||||
@ -144,6 +144,7 @@ declare { return K_DECLARE; }
|
|||||||
default { return K_DEFAULT; }
|
default { return K_DEFAULT; }
|
||||||
diagnostics { return K_DIAGNOSTICS; }
|
diagnostics { return K_DIAGNOSTICS; }
|
||||||
else { return K_ELSE; }
|
else { return K_ELSE; }
|
||||||
|
elseif { return K_ELSIF; }
|
||||||
elsif { return K_ELSIF; }
|
elsif { return K_ELSIF; }
|
||||||
end { return K_END; }
|
end { return K_END; }
|
||||||
exception { return K_EXCEPTION; }
|
exception { return K_EXCEPTION; }
|
||||||
|
Reference in New Issue
Block a user