Обсуждение: Incorrect display type of the function result

Поиск
Список
Период
Сортировка

Incorrect display type of the function result

От
Алексей Лутовинин
Дата:
Hello!

pgAdmin 1.20.0 (Dec 16 2014, rev: REL-1_20_0)
OS: Windows 7/64.

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.

Re: Incorrect display type of the function result

От
"Guillermo E. Villanueva"
Дата:
What you say is almost the same as I reported

Guillermo Villanueva


2015-04-20 11:45 GMT-03:00 Алексей Лутовинин <crossrw1@gmail.com>:
Hello!

pgAdmin 1.20.0 (Dec 16 2014, rev: REL-1_20_0)
OS: Windows 7/64.

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.


Re: Incorrect display type of the function result

От
Алексей Лутовинин
Дата:
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 reported

Guillermo Villanueva


2015-04-20 11:45 GMT-03:00 Алексей Лутовинин <crossrw1@gmail.com>:

Hello!

pgAdmin 1.20.0 (Dec 16 2014, rev: REL-1_20_0)
OS: Windows 7/64.

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.