Re: Re: Re: binary data

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Re: Re: binary data
Дата
Msg-id 3791.993219752@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Re: binary data  ("Hugh Mandeville" <hughmandeville@hotmail.com>)
Ответы Re: Re: Re: binary data  (Karel Zak <zakkr@zf.jcu.cz>)
Список pgsql-sql
"Hugh Mandeville" <hughmandeville@hotmail.com> writes:
> "Alex Pilosov" <alex@pilosoft.com> wrote in message
>> The rules for escaping things you want to throw at it are tricky though.
>> (and same for unescaping things you get back from database).

> test=# INSERT INTO log (data) VALUES ('special chars \n \001 \002');
> INSERT 61651 1
> test=# INSERT INTO log (data) VALUES ('null \000 null');
> INSERT 61652 1
> test=# SELECT octet_length(data), data FROM log;
>  octet_length |             data
> --------------+------------------------------
>            10 | plain text
>            19 | special chars \012 \001 \002
>             5 | null
> (3 rows)

He did say the rules for escaping things are tricky ;-).  You need to
double the backslashes, because interpretation of the string literal
takes off one level of backslashing before bytea ever sees it:

regression=# INSERT INTO log (data) VALUES ('null \\000 null');
INSERT 273181 1
regression=# SELECT octet_length(data), data FROM log;octet_length |             data
--------------+------------------------------          10 | plain text          19 | special chars \012 \001 \002
   5 | null          11 | null \000 null
 
(4 rows)

        regards, tom lane


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

Предыдущее
От: Alex Pilosov
Дата:
Сообщение: Re: Help with a double left join
Следующее
От: "Josh Berkus"
Дата:
Сообщение: View performance question