Re: Escape handling in strings - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: Escape handling in strings
Date
Msg-id 200506160312.j5G3C8i16903@candle.pha.pa.us
Whole thread Raw
In response to Re: Escape handling in strings  (Christopher Kings-Lynne <chriskl@familyhealth.com.au>)
Responses Re: Escape handling in strings
List pgsql-patches
Christopher Kings-Lynne wrote:
> > Yep, you probably are.  The hurt is backward compatibility, but the gain
> > is greater portability with other database systems.
>
> It's just going to break millions of PHP scripts :(

Let me give you a little longer answer.  Right now we have this TODO
item:

    * Allow backslash handling in quoted strings to be disabled for
      portability

      The use of C-style backslashes (.e.g. \n, \r) in quoted strings is not
      SQL-spec compliant, so allow such handling to be disabled.  However,
      disabling backslashes could break many third-party applications and
      tools.

Now, if we don't address it, we might as well remove the TODO item and
say we are never going to change it, because right now, we have a plan,
and I think the longer we go the harder it will be.  And if we don't
change it, it makes it quite hard for people to port applications to
PostgreSQL.   Fundamental queries like:

    SELECT * FROM files WHERE filename = 'C:\tmp'

do not work.  When a query with a single table and single WHERE clause
isn't portable, it seems like a problem.  If this was isolated to CREATE
TABLE or something, it wouldn't be a big deal.

One possible idea is to have the warning in 8.1 configurable, so you can
turn it off, and see how well things go in the community.  At a minimum,
the warning will flag non-portable queries to help in porting, and folks
can use E'' for non-porable string representations.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-patches by date:

Previous
From: Christopher Kings-Lynne
Date:
Subject: Re: Escape handling in strings
Next
From: Bruce Momjian
Date:
Subject: Re: Escape handling in strings