Thread: 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