Обсуждение: BUG #5854: base64 decode returns bytea and no text
The following bug has been logged online:
Bug reference: 5854
Logged by: Chris R.
Email address: chricki@gmx.net
PostgreSQL version: 9.02
Operating system: CentOS 5.5
Description: base64 decode returns bytea and no text
Details:
There is a break in how pg9.0 handles decoding base64 encoded data.
With PostgreSQL 8.4:
select decode(encode('abc', 'base64'), 'base64');
decode
----------
\x616263
With PostgreSQL 9.0:
select decode(encode('abc', 'base64'), 'base64');
decode
----------
\x616263
To get the old result, convert_from helps out:
select convert_from(decode(encode('abc', 'base64'), 'base64'), 'UTF8');
Still, shouldn't this be consistent with 8.x and 9.x?
"Chris R." <chricki@gmx.net> writes:
> There is a break in how pg9.0 handles decoding base64 encoded data.
This has nothing to do with decode(), it's a change in the default
output format for bytea data. Set bytea_output to "escape" to get
the old format.
regards, tom lane
Chris R. wrote:
>
> The following bug has been logged online:
>
> Bug reference: 5854
> Logged by: Chris R.
> Email address: chricki@gmx.net
> PostgreSQL version: 9.02
> Operating system: CentOS 5.5
> Description: base64 decode returns bytea and no text
> Details:
>
> There is a break in how pg9.0 handles decoding base64 encoded data.
>
> With PostgreSQL 8.4:
>
> select decode(encode('abc', 'base64'), 'base64');
> decode
> ----------
> \x616263
>
>
> With PostgreSQL 9.0:
>
> select decode(encode('abc', 'base64'), 'base64');
> decode
> ----------
> \x616263
>
>
> To get the old result, convert_from helps out:
> select convert_from(decode(encode('abc', 'base64'), 'base64'), 'UTF8');
>
> Still, shouldn't this be consistent with 8.x and 9.x?
Uh, they look the same to me. cut/paste error?
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ It's impossible for everything to be true. +