From: | Dave Blasby <dblasby(at)refractions(dot)net> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | BUG: text(varchar) truncates at 31 bytes |
Date: | 2001-10-03 18:39:19 |
Message-ID: | 3BBB5B57.4FEF2C2B@refractions.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
#create table t (v varchar);
#insert into t values ('0123456789a0123456789b0123456789c0123456789d');
#select v from t;
v
----------------------------------------------
0123456789a0123456789b0123456789c0123456789d
(1 row)
So far, so good.
#select text(v) from t;
text
---------------------------------
0123456789a0123456789b012345678
(1 row)
Truncation occurs.
Work around:
# select v::text from t;
?column?
----------------------------------------------
0123456789a0123456789b0123456789c0123456789d
(1 row)
I couldnt figure out what happens during a text(varchar) call. I looked
around in pg_proc, but couldnt find the function. There's probably an
automagic type conversion going on or something.
Could someone explain what all the internal varchar-like types are (ie.
varchar,varchar(n),text,char,_char,bpchar) and when they're used? I
find it all really confusing - I'm sure others do too.
Is there anyway to determine what postgresql is doing in its automagic
function calls? I guess I'm asking for an EXPLAIN that describes
function calls. For example,
EXPLAIN select text(v) from t;
--> {Description of conversion from varchar to whatever the text()
function actually works on}
Thanks,
dave
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2001-10-03 18:56:02 | Re: BUG: text(varchar) truncates at 31 bytes |
Previous Message | Bruce Momjian | 2001-10-03 18:37:18 | Re: HISTORY for 7.2 |