Re: [pgsql-advocacy] Oracle buys Innobase
От | Marc G. Fournier |
---|---|
Тема | Re: [pgsql-advocacy] Oracle buys Innobase |
Дата | |
Msg-id | 20051020214518.Q1006@ganymede.hub.org обсуждение исходный текст |
Ответ на | Re: [pgsql-advocacy] Oracle buys Innobase (Doug Quale <quale1@charter.net>) |
Ответы |
Re: [pgsql-advocacy] Oracle buys Innobase
|
Список | pgsql-general |
On Thu, 20 Oct 2005, Doug Quale wrote: > "Guy Rouillier" <guyr@masergy.com> writes: > >> Doug Quale wrote: >>> >>> # select 'a'::char(8) = 'a '::char(8); >>> ?column? >>> ---------- >>> t >>> (1 row) >>> >>> Trailing blanks aren't significant in fixed-length strings, so the >>> question is whether Postgresql treats comparison of varchars right. >> >> This result is being misinterpreted. >> >> select length('a'::char(8)) ==> 1 >> select length('a '::char(8)) ==> 1 >> >> So it isn't that the two different strings are comparing equal. The >> process of casting them to char(8) is trimming the blanks, so by the >> time they become fixed length strings, they are indeed equal. > > Huh??? What version of PG are you using? On 7.4.9, > > > test=# select length('a'::char(8)); > length > -------- > 8 > (1 row) > > test=# select length('a '::char(8)); > length > -------- > 8 > (1 row) > > The truncation you describe would simply be wrong. ams=# select length('a '::char(8)); length -------- 1 (1 row) ams=# select version(); version ---------------------------------------------------------------------- PostgreSQL 8.0.2 on i386-portbld-freebsd4.11, compiled by GCC 2.95.4 (1 row) ams=# ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
В списке pgsql-general по дате отправления: