Re: PL/PgSQL "bare" function calls - Mailing list pgsql-hackers

From Tom Lane
Subject Re: PL/PgSQL "bare" function calls
Date
Msg-id 3833.1095260748@sss.pgh.pa.us
Whole thread Raw
In response to PL/PgSQL "bare" function calls  (Neil Conway <neilc@samurai.com>)
Responses Re: PL/PgSQL "bare" function calls  (Andrew Dunstan <andrew@dunslane.net>)
Re: PL/PgSQL "bare" function calls  (Neil Conway <neilc@samurai.com>)
List pgsql-hackers
Neil Conway <neilc@samurai.com> writes:
> (3) The parser must distinguish between two cases when it sees an
> unknown word (T_WORD) beginning a statement. The word could be the
> beginning of a SQL statement (stmt_execsql in the grammar), such as:

> UPDATE ...;

> or the name of a function in a function call:

> invoke_func(...);

> The patch currently distinguishes between these cases by looking at the
> next token -- if it is a left parenthesis, the patch assumes it is a
> function call, otherwise it assumes it is a SQL statement. Is this the
> best approach?

That seems fairly unworkable.  For example
SELECT (2,3,4);

is valid SQL.  Also I'm not sure if you can extend this to cope with
schema-qualified function names.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: WIN1250 as server encoding
Next
From: "Jeroen T. Vermeulen"
Date:
Subject: Re: WIN1250 as server encoding