Re: Gripe: bytea_output default => data corruption

Поиск
Список
Период
Сортировка
От Raymond O'Donnell
Тема Re: Gripe: bytea_output default => data corruption
Дата
Msg-id 4CB563B6.8020803@iol.ie
обсуждение исходный текст
Ответ на Gripe: bytea_output default => data corruption  (ljb <ljb9832@pobox.com>)
Ответы Re: Gripe: bytea_output default => data corruption  (Dmitriy Igrishin <dmitigr@gmail.com>)
Список pgsql-general
On 13/10/2010 01:37, ljb wrote:
> Defaulting bytea output from the backend to use hex mode encoding, which is
> incompatible with pre-9.0 interfaces, wasn't a friendly thing to do. The
> default should have been escape mode. Or else you needed a big warning in
> HISTORY that we must either change bytea_output, or upgrade all clients
> before servers. Because using a 9.0 server with a 8.x libpq-based client
> results in undetected data corruption when selecting BYTEA objects.
>
> By default, the 9.0 server encodes a bytea using hex mode, but an 8.x
> libpq-based client will decode that using escape mode, with no error detected
> on either end. For example, start with "A", encode to "\x40" decode to "x40".
>
> There are good reasons to break backward compatibility, like security or
> standards compliance, but not performance.  Please think twice next time you
> consider breaking stuff just because you think the new way should be faster.

In fairness, it *is* flagged in the release note - it's the first item
under "data types" in the list of incompatibilities.

Ray.

--
Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie

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

Предыдущее
От: Derk Jan Horstman
Дата:
Сообщение: Re: about RPM build options
Следующее
От: "Reuven M. Lerner"
Дата:
Сообщение: Passing refcursors between pl/pgsql functions