Peter Eisentraut <peter_e@gmx.net> writes:
> César Arnold wrote:
>> Hi, I created a function called "isnull" for test
>> purposes and when trying to replace it returns the
>> message belows :
> ISNULL is a reserved word. You need to quote the name or pick a
> different one.
I think what he's unhappy about is this inconsistency:
regression=# create function isnull(int) returns bool as 'select $1 is null' language sql;
CREATE FUNCTION
regression=# drop function isnull(int);
DROP FUNCTION
regression=# create function public.isnull(int) returns bool as 'select $1 is null' language sql;
ERROR: syntax error at or near "isnull" at character 24
LINE 1: create function public.isnull(int) returns bool as 'select $...
^
regression=#
ISNULL is a func_name_keyword, so it's legal standing on its own, but we
only allow ColId in a qualified name. Possibly that could be relaxed.
regards, tom lane