Thread: Proper quoting of \e ?

Proper quoting of \e ?

From
Helge Kreutzmann
Date:
Hello !
We have a database in SQL_ASCII in postgres 7.2.1 which contains among
other information document titles which are automatically retrieved.
I took care of quoting "`" but recently stumpled about "\e" which I
have problems working with. Example (in psql, but in php it is the same):

SELECT title from written_by where title like 'An equation of state {\%';
title
-------------------------------------------------------------------------------------------------
An equation of state {\em \`a la} Carnahan-Starling for a five-dimensional fluid of hard hyperspheres
(1 row)

works, but if I take one character more (or, later, the entire title),
it does not:

SELECT title from written_by where title like 'An equation of state {\e%';
title
-------
(0 rows)

I tried various variations (like \\e and simmilar) and looked through
the interactive docs but did not find anything.
Unfortunately I could not search through the list archives because of
some problems with the backend database.

Thanks for any pointers
          Helge

--
Helge Kreutzmann, Dipl.-Phys.               Helge.Kreutzmann@itp.uni-hannover.de gpg signed mail preferred    gpg-key:
fingerkreutzm@rigel.itp.uni-hannover.de   64bit GNU powered                  http://www.itp.uni-hannover.de/~kreutzm
 Help keep free software "libre": http://www.freepatents.org/ 
--
Helge Kreutzmann, Dipl.-Phys.               Helge.Kreutzmann@itp.uni-hannover.de gpg signed mail preferred    gpg-key:
fingerkreutzm@rigel.itp.uni-hannover.de   64bit GNU powered                  http://www.itp.uni-hannover.de/~kreutzm
 Help keep free software "libre": http://www.freepatents.org/ 

Re: Proper quoting of \e ?

From
Bruce Momjian
Date:
Helge Kreutzmann wrote:
-- Start of PGP signed section.
> Hello !
> We have a database in SQL_ASCII in postgres 7.2.1 which contains among
> other information document titles which are automatically retrieved.
> I took care of quoting "`" but recently stumpled about "\e" which I
> have problems working with. Example (in psql, but in php it is the same):
> 
> SELECT title from written_by where title like 'An equation of state {\%';
> title
> -------------------------------------------------------------------------------------------------
> An equation of state {\em \`a la} Carnahan-Starling for a five-dimensional fluid of hard hyperspheres
> (1 row)
> 
> works, but if I take one character more (or, later, the entire title),
> it does not:
> 
> SELECT title from written_by where title like 'An equation of state {\e%';

I noticed you escaped the % in the first query, but not the second.  No
idea how that effects things.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: Proper quoting of \e ?

From
Helge Kreutzmann
Date:
On Thu, Apr 25, 2002 at 11:47:16AM -0400, Bruce Momjian wrote:
> > I took care of quoting "`" but recently stumpled about "\e" which I
> > have problems working with. Example (in psql, but in php it is the same):
> >
> > SELECT title from written_by where title like 'An equation of state {\%';
> > title
> > -------------------------------------------------------------------------------------------------
> > An equation of state {\em \`a la} Carnahan-Starling for a five-dimensional fluid of hard hyperspheres
> > (1 row)
> >
> > works, but if I take one character more (or, later, the entire title),
> > it does not:
> >
> > SELECT title from written_by where title like 'An equation of state {\e%';
>
> I noticed you escaped the % in the first query, but not the second.  No
> idea how that effects things.

Well, the "\" is part of the strings to be outputed, so I did not
intend to quota anything. If I replace \ to \\ in my first query, I
get also no result.

Greetings
         Helge
--
Helge Kreutzmann, Dipl.-Phys.               Helge.Kreutzmann@itp.uni-hannover.de gpg signed mail preferred    gpg-key:
fingerkreutzm@rigel.itp.uni-hannover.de   64bit GNU powered                  http://www.itp.uni-hannover.de/~kreutzm
 Help keep free software "libre": http://www.freepatents.org/ 

Re: Proper quoting of \e ?

From
Joe Conway
Date:
Helge Kreutzmann wrote:
> Well, the "\" is part of the strings to be outputed, so I did not
> intend to quota anything. If I replace \ to \\ in my first query, I
> get also no result.
> 

I think you need 4 '\'s:

test=# create table written_by(title text);
CREATE
test=# insert into written_by values('An equation of state {\\em \\\`a 
la} Carnahan-Starling');
INSERT 16661 1
test=# select * from written_by;                        title
----------------------------------------------------- An equation of state {\em \`a la} Carnahan-Starling
(1 row)

test=# SELECT title from written_by where title like 'An equation of 
state {\\\\e%';                        title
----------------------------------------------------- An equation of state {\em \`a la} Carnahan-Starling
(1 row)


This is because the string literal parser reduces '\\\\' to '\\', and 
then the backend function which implements LIKE interprets '\\' as '\'.

HTH,

Joe