| From: | Eric Marsden <emarsden(at)mail(dot)dotcom(dot)fr> | 
|---|---|
| To: | pgsql-interfaces(at)postgreSQL(dot)org, pgsql-hackers(at)postgreSQL(dot)org | 
| Cc: | Zeev Suraski <bourbon(at)netvision(dot)net(dot)il>, Jouni Ahto <jah(at)cultnet(dot)fi> | 
| Subject: | Re: [INTERFACES] Convert PGconn, PGresult to opaque types? | 
| Date: | 1998-08-24 14:54:46 | 
| Message-ID: | m2g1emv39l.fsf@cook.onecert.fr | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers pgsql-interfaces | 
>>>>> "TL" == Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
  (sorry, attributions are lost here)
  
  >>>>> Basically this would force applications to use the accessor functions
  >>>>> as recommended in the documentation, and not touch fields of a PGconn
  >>>>> object directly.  (Ditto for PGresult.)
  >>> 
  >>> I am scared about external stuff like php.  If they use it, and we
  >>> release something that doesn't work with their stuff, we are cooked
  >>> until they upgrade.
  TL> 
  TL> But if they are using any direct references to fields of the PGconn
  TL> struct, their stuff *already* won't work with 6.4.  Admittedly it'd
  TL> most likely only take a recompile to fix, and not code changes
  TL> (however trivial).  But if they'd been using only the documented API,
  TL> ie using the accessor functions and not directly touching the struct,
  TL> then a new shared library or DLL could be plopped right in without even
  TL> a recompile of calling applications.
  TL> 
  TL> Is the PHP source code available?  It wouldn't take much work to check
  TL> whether it will compile without a definition for struct pg_conn.
The PHP source is available from http://www.php.net/. From a quick
look through it, it does access the PGconn structure directly. Stuff
like (this is from the file php3.0.2a/functions/pgsql.c):
lo_read((PGconn *)pgsql->conn, pgsql->lofd, buf, 8192))
However, the whole PostgreSQL-specific stuff is only 1400 lines worth,
and the PHP guys are reputed to very active, so I don't think a change
should pose too much of a problem if they are forewarned.
[I have CCed the PHP/PostgreSQL module developers]
-- 
Eric Marsden
emarsden @ mail.dotcom.fr
It's elephants all the way down
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Thomas G. Lockhart | 1998-08-24 15:01:39 | Re: [GENERAL] More details on Database corruption | 
| Previous Message | Tom Lane | 1998-08-24 14:43:59 | Re: [HACKERS] minor problem with detecting int64 in configure | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 1998-08-24 15:34:41 | Re: [INTERFACES] Re: [HACKERS] Convert PGconn, PGresult to opaque types? | 
| Previous Message | Byron Nikolaidis | 1998-08-24 14:29:48 | Re: [INTERFACES] iodbc interface on Unix |