Prev: Nice hint on table aliasing!
Next: [HACKERS] [Fwd: [BUGS] build error: strlcat/strlcpy used from heimdal libroken.so]
From: Pavel Golub on 14 Apr 2010 02:18 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(a)gf.microolap.com -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |