Re: insert char(1) type by different ways.
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: "And. Andruikhanov" <andy@euinf.dp.ua>
Cc: pgsql-bugs@postgresql.org
Date: 2001-02-03T20:33:52Z
Lists: pgsql-bugs
"And. Andruikhanov" <andy@euinf.dp.ua> writes: > insert into ku values(1, '\000'); This cannot work as you expect, because what comes out of the parser is a string containing a single null character --- and that's fed to a datatype input routine that expects a null-terminated string. So the char(n) input routine thinks you entered just '', which it blank-pads to one character. In general the Postgres I/O routines are not friendly to embedded nulls. The char/varchar/text types could not support embedded nulls even without the I/O problem, because they depend on C library routines like strcoll(), and those routines don't support strings with embedded nulls. regards, tom lane