Thread: Incorrect display type of the function result
Hello!
pgAdmin 1.20.0 (Dec 16 2014, rev: REL-1_20_0)Create a function that returns a table with a column "col1":
CREATE OR REPLACE FUNCTION myfunc()
RETURNS TABLE(col1 text) AS
$BODY$
SELECT 'aaa'::text;
$BODY$
LANGUAGE sql STABLE;
After creating a look at the source code of the function in the object browser:
CREATE OR REPLACE FUNCTION myfunc()
RETURNS SETOF text AS
$BODY$
SELECT 'aaa'::text;
$BODY$
LANGUAGE sql STABLE
COST 100
ROWS 1000;
The type of result of the function is shown as "SETOF text" instead "TABLE(col1 text)", column name "col1" is lost.
Despite this, the name of the column "col1" is present in the results:
SELECT * FROM myfunc();
Despite this, the name of the column "col1" is present in the results:
SELECT * FROM myfunc();
col1 !
text !
----------+-
----------+-
aaa |
Сommand-line utility "psql" returns (\df+) correct value of function type.
What you say is almost the same as I reported
Guillermo Villanueva
2015-04-20 11:45 GMT-03:00 Алексей Лутовинин <crossrw1@gmail.com>:
OS: Windows 7/64.Hello!pgAdmin 1.20.0 (Dec 16 2014, rev: REL-1_20_0)
Create a function that returns a table with a column "col1":
CREATE OR REPLACE FUNCTION myfunc()
RETURNS TABLE(col1 text) AS
$BODY$
SELECT 'aaa'::text;
$BODY$
LANGUAGE sql STABLE;
After creating a look at the source code of the function in the object browser:
CREATE OR REPLACE FUNCTION myfunc()
RETURNS SETOF text AS
$BODY$
SELECT 'aaa'::text;
$BODY$
LANGUAGE sql STABLE
COST 100
ROWS 1000;The type of result of the function is shown as "SETOF text" instead "TABLE(col1 text)", column name "col1" is lost.
Despite this, the name of the column "col1" is present in the results:
SELECT * FROM myfunc();col1 !text !
----------+-aaa |
Сommand-line utility "psql" returns (\df+) correct value of function type.
Yes, very similar.
2015-04-22 6:23 GMT+03:00 Guillermo E. Villanueva <guillermovil@gmail.com>:
What you say is almost the same as I reportedGuillermo Villanueva2015-04-20 11:45 GMT-03:00 Алексей Лутовинин <crossrw1@gmail.com>:OS: Windows 7/64.Hello!pgAdmin 1.20.0 (Dec 16 2014, rev: REL-1_20_0)
Create a function that returns a table with a column "col1":
CREATE OR REPLACE FUNCTION myfunc()
RETURNS TABLE(col1 text) AS
$BODY$
SELECT 'aaa'::text;
$BODY$
LANGUAGE sql STABLE;
After creating a look at the source code of the function in the object browser:
CREATE OR REPLACE FUNCTION myfunc()
RETURNS SETOF text AS
$BODY$
SELECT 'aaa'::text;
$BODY$
LANGUAGE sql STABLE
COST 100
ROWS 1000;The type of result of the function is shown as "SETOF text" instead "TABLE(col1 text)", column name "col1" is lost.
Despite this, the name of the column "col1" is present in the results:
SELECT * FROM myfunc();col1 !text !
----------+-aaa |
Сommand-line utility "psql" returns (\df+) correct value of function type.