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:pa...@gf.microolap.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers