Return type bug in functions
Hi Guys,
What's with this:
test=# create function foo() returns integer as 'select 1;' language
'sql';
CREATE FUNCTION
test=# create function foo2() returns "integer" as 'select 1;' language
'sql';
ERROR: Type "integer" does not exist
Why can't you quote return types? Isn't that inconsistent with the rest
of Postgres? Also, what about user-defined types that have spaces,
japanese characters, etc.?
Noticed this while working on phpPgAdmin...
Chris
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
test=# create function foo() returns integer as 'select 1;' language
'sql';
CREATE FUNCTION
test=# create function foo2() returns "integer" as 'select 1;' language
'sql';
ERROR: Type "integer" does not exist
Why can't you quote return types?
Because "integer" is not the actual internal name of the type.
Isn't that inconsistent with the rest of Postgres?
No; you can't quote it anywhere else either. Nor can you quote it in
the SQL standard: INTEGER is a key word, not an identifier.
regards, tom lane