Re: [HACKERS] psql \copy warning - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: [HACKERS] psql \copy warning
Date
Msg-id 200606010512.k515ChI11030@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] psql \copy warning  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-patches
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> >> I have developed an updated patch that:
> >>
> >> o  turns off escape_string_warning in pg_dumpall.c
> >> o  optionally use E'' for \password (undocumented option?)
> >> o  honor standard_conforming-strings for \copy (but not
> >> support literal E'' strings)
> >> o  optionally use E'' for \d commands
> >> o  turn off escape_string_warning for createdb, createuser,
> >> droplang
> >>
> >> I agree someday we might want to turn off escape_string_warning, but I
> >> think we should leave it on as long as possible as it is still pointing
> >> out escape problem areas in the code.
>
> I find this patch mighty ugly, and hope that most of it can get reverted
> before 8.2.  The changes you made in describe.c are actively broken ...
> didn't you test it?  appendStringLiteralConn doesn't know what you did.

I will look into that.  Thanks.

> I think that a far saner approach would be to make all these places use
> appendStringLiteralConn, and to change *only* that routine to throw on
> an E at need.  That would (a) not be broken, and (b) give us just one
> place to change the behavior when it comes time.

The problem is that pg_dump uses appendStringLiteralConn() too, and you
didn't want pg_dump to emit E'', so you would have to add a boolean to
appendStringLiteralConn() to say whether you want an optional E'' and
that seems even uglier.

--
  Bruce Momjian   http://candle.pha.pa.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] psql \copy warning
Next
From: Martijn van Oosterhout
Date:
Subject: Re: [PATCH] Improve EXPLAIN ANALYZE overhead by sampling