Re: BUG: text(varchar) truncates at 31 bytes

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: BUG: text(varchar) truncates at 31 bytes
Дата
Msg-id 200110031856.f93Iu2F11515@candle.pha.pa.us
обсуждение исходный текст
Ответ на BUG: text(varchar) truncates at 31 bytes  (Dave Blasby <dblasby@refractions.net>)
Список pgsql-hackers
I can confirm this problem exists in current sources.  Quite strange.

> #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
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


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

Предыдущее
От: Dave Blasby
Дата:
Сообщение: BUG: text(varchar) truncates at 31 bytes
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: BUG: text(varchar) truncates at 31 bytes