Re: PQfnumber and quoted identifiers - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: PQfnumber and quoted identifiers
Date
Msg-id 200310051758.h95HwL212741@candle.pha.pa.us
Whole thread Raw
In response to PQfnumber and quoted identifiers  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: PQfnumber and quoted identifiers  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Peter Eisentraut wrote:
> There was a discussion on -interfaces that might need more consideration.
> 
> http://archives.postgresql.org/pgsql-interfaces/2003-09/msg00026.php
> 
> 
> Apparently, it has so far been an undocumented feature of libpq's function
> PGfnumber (return column number from column name) that the column name
> needs to be double-quoted if it contains upper-case letters.  That, is you
> need to write
> 
> PQfnumber(res, "\"Bar\"")
> 
> I think this is completely bizarre and pointless.  This is a C interface
> and not SQL.  Other libpq functions that accept names of SQL objects don't
> do this.  Also, PQfname and PQfnumber ought to be inverses.
> 
> Since this behavior was undocumented and no one had noticed it in the last
> 10 years, I think we can away with removing it.

I agree.  I would never expect to add quotes to a C string to preserve
case (outside SQL), and the fact that PQfname doesn't return the string
in quotes is another inconsistency.  It is sort of like case coming out
is significant, but case going in has to be quoted --- am I getting this
right?  Do we do this in other areas?

--  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,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: "Matthew T. O'Connor"
Date:
Subject: Re: PQfnumber and quoted identifiers
Next
From: Tom Lane
Date:
Subject: Re: PQfnumber and quoted identifiers