Bug in CREATE FUNCTION with character types if RETURNS TABLE used

Поиск
Список
Период
Сортировка
От Pavel Golub
Тема Bug in CREATE FUNCTION with character types if RETURNS TABLE used
Дата
Msg-id 1097647030.20100414091807@gf.microolap.com
обсуждение исходный текст
Список pgsql-hackers
Hello.

Already sent this to psql-bugs, but noticed one more issue. Since the
first issue is critical for me as a developer, the second one confuses
my clients (and me a little) ;)

PostgreSQL version: 8.4.x
Operating system:   All

======  1 ISSUE =====

If RETURNS TABLE clause of CREATE FUNCTION contain column of character
type (without length specifier) it should be treated as character(1) according to
manual, but it look like text.
(http://www.postgresql.org/docs/8.4/static/datatype-character.html)

Example:

CREATE OR REPLACE FUNCTION test_char_function() RETURNS TABLE(id int, salesourcecode character) AS
$BODY$
VALUES (1, 'one'), (2, 'two'), (3, 'three');
$BODY$ LANGUAGE 'sql'

pqfmod function from libpq library for salesourcecode column returns
0, which is wrong. Who can ever imagine bpchar of length 0? :)
(http://www.postgresql.org/docs/8.4/static/libpq-exec.html#LIBPQ-EXEC-SELECT-INFO)

======  2 ISSUE =====

If RETURNS TABLE clause of CREATE FUNCTION contain column of char or
varchar type with length specifier it still acts like text.

CREATE OR REPLACE FUNCTION test_char_function() RETURNS TABLE(id int, salesourcecode varchar(30)) AS
$BODY$
VALUES (1, 'one'), (2, 'two'), (3, 'three');
$BODY$ LANGUAGE 'sql';

pqfmod function from libpq library for salesourcecode column returns
0, which is wrong.

-- 
With best wishes,Pavel                          mailto:pavel@gf.microolap.com



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Koichi Suzuki
Дата:
Сообщение: Re: How to generate specific WAL records?
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: testing HS/SR - invalid magic number