Re: Inserting string with a " into an array using {} syntax ... possible? - Mailing list pgsql-general

From Alvaro Herrera
Subject Re: Inserting string with a " into an array using {} syntax ... possible?
Date
Msg-id 20090313145527.GC4379@alvh.no-ip.org
Whole thread Raw
In response to Inserting string with a " into an array using {} syntax ... possible?  (Bill Moran <wmoran@potentialtech.com>)
Responses Re: Inserting string with a " into an array using {} syntax ... possible?  (Bill Moran <wmoran@potentialtech.com>)
List pgsql-general
Bill Moran wrote:

> bill=# insert into testarray (a) values (E'{"text \\"for you\\"","moretext"}');
> INSERT 0 1
> bill=# select * from testarray;
>                a               | id
> -------------------------------+----
>  {"text \"for you\"",moretext} |  3

Actually this one is good.  It gets the backslashes in the output because the "
need to be escaped there too ('cause it's an array).  But if you output a
single element, they are not there:

alvherre=# insert into f values (E'{"text \\"for you\\" some"}');
INSERT 0 1
alvherre=# select * from f;
             a
---------------------------
 {"text \"for you\" some"}
(1 fila)

alvherre=# select a[1] from f;
          a
---------------------
 text "for you" some
(1 fila)

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

pgsql-general by date:

Previous
From: Tino Wildenhain
Date:
Subject: Re: Transactions in user defined function
Next
From: Alan Hodgson
Date:
Subject: Re: postmaster hangs on delete from