Search Postgresql Archives

Re: converting E'C:\\something' to bytea

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Tom,

Why does:

   CREATE CAST (text AS bytea) WITHOUT FUNCTION;
   SELECT E'C:\\something'::text::bytea;

work as expected, but (with the original text->bytea cast in place):

   CREATE DOMAIN my_varlena AS text;
   CREATE CAST (my_varlena AS bytea) WITHOUT FUNCTION;
   SELECT E'C:\\something'::my_varlena::bytea;

does not (i.e. appears to cast from the domain's base type) -- is this
related to http://postgresql.1045698.n5.nabble.com/bug-non-working-casts-for-domain-td1944238.html
, should it be documented?

Thx,
V.

On Wed, Mar 16, 2011 at 12:10 PM, Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
> Bruce Momjian <bruce@xxxxxxxxxx> writes:
>> Vlad Romascanu wrote:
>>> Is there any way of casting (reinterpreting) a varchar/text field
>>> containing arbitrary backslashes to bytea without making an escaped
>>> copy of the varchar/text first?
>
>> Well, the '\\' is being converted to '\' because of the single-quotes,
>> and then bytea is saying it doesn't know how to process \something. ÂIt
>> sounds like you want bytea but don't want the ability to use backslash
>> escapes to input the bytea values. ÂI am unsure how to accomplish that.
>
> A really dangerous way is
>
> CREATE CAST (text AS bytea) WITHOUT FUNCTION;
>
> It's dangerous because it assumes more than it ought to about the
> internal representation of the two types ... but for a one-shot
> conversion I think it'd be all right.
>
> Â Â Â Â Â Â Â Â Â Â Â Âregards, tom lane
>

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux