Re: Where is the char and varchar length in pg_catalog for function input variables

From: jam3 <jamorton3(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Where is the char and varchar length in pg_catalog for function input variables
Date: 2012-09-05 19:33:53
Message-ID: 1346873633774-5722881.post@n5.nabble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

This is what I meant to post

drop table test_table;
create table test_table
(
column1 char(20),
column2 varchar(40)
) without oids;

drop function test1(char(10), varchar(20));
create or replace function test1(c1 char(10), c2 varchar(20))
returns void as
$$
BEGIN
insert into test_table values ($1, $2);
END
$$
language plpgsql

select
test1('12345678900123456789','ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCD')

select * from test_table;
12345678900123456789, ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCD

Just showing that it does indeed not use the length in at all, and this just
seems wrong. I can definetly see situations where someone would put a length
on a in put var and get an an unexpected result, like the one above.

--
View this message in context: http://postgresql.1045698.n5.nabble.com/Where-is-the-char-and-varchar-length-in-pg-catalog-for-function-input-variables-tp5722845p5722881.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message jam3 2012-09-05 20:16:42 Re: Would my postgresql 8.4.12 profit from doubling RAM?
Previous Message jam3 2012-09-05 19:25:49 Re: Where is the char and varchar length in pg_catalog for function input variables