From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Florian Weimer <fweimer(at)bfk(dot)de> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Making TEXT NUL-transparent |
Date: | 2011-11-24 09:41:08 |
Message-ID: | CAFj8pRDDevc6_Q+VdfeSUKeAtFMpm2gJ7kvw9HzA+vNGd2kGQw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2011/11/24 Florian Weimer <fweimer(at)bfk(dot)de>:
> * Pavel Stehule:
>
>> Hello
>>
>> 2011/11/24 Florian Weimer <fweimer(at)bfk(dot)de>:
>>> Occasionally, we get bitten by embedded NUL bytes in TEXT values. We
>>> take care of generating proper UTF-8, but this additional restriction
>>> sometimes slips by. It would be really helpful if PostgreSQL could
>>> store such TEXT fields as-is (at least if they are computed internally,
>>> or come from query parameters).
>>>
>>
>> and why you don't use bytea ? Text should be correct literal.
>
> It's actually UTF-8 text, and some PostgreSQL functions are only
> available for TEXT, but not BYTEA, e.g.:
>
> bfk_int=> SELECT '\x006500'::bytea ~ 'A';
> ERROR: operator does not exist: bytea ~ unknown
> LINE 1: SELECT '\x006500'::bytea ~ 'A';
> ^
> HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
>
then you can prepare some custom function that can filter zeroes and
prepare valid text functions - some postgresql's functions (based on
external libs) cannot to work with string containing zeroes too.
Probably you can do it in plperl.
I don't think so this functionality is generally requested. If you
have broken strings, then you have to clean it before storing to
database.
Regards
Pavel
> --
> Florian Weimer <fweimer(at)bfk(dot)de>
> BFK edv-consulting GmbH http://www.bfk.de/
> Kriegsstraße 100 tel: +49-721-96201-1
> D-76133 Karlsruhe fax: +49-721-96201-99
>
From | Date | Subject | |
---|---|---|---|
Next Message | Florian Weimer | 2011-11-24 09:54:09 | Re: Making TEXT NUL-transparent |
Previous Message | Lars Kanis | 2011-11-24 09:39:07 | Re: [PATCH] PostgreSQL fails to build with 32bit MinGW-w64 |