Skip site navigation (1) Skip section navigation (2)

Re: BRUCE Momjian - Re: bug in info.c file - incorrect SQL

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Jim Holliday <jholliday(at)aurigin(dot)com>
Cc: pgsql-odbc(at)postgresql(dot)org, rlong(at)micropat(dot)com
Subject: Re: BRUCE Momjian - Re: bug in info.c file - incorrect SQL
Date: 2003-01-02 23:35:00
Message-ID: 200301022335.h02NZ0J15741@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-odbc
All the ODBC stuff is now on gborg.postgresql.org. You can grab a CVS
copy to get the patches I just applied.

---------------------------------------------------------------------------

Jim Holliday wrote:
> Bruce, thanks for the quick response.
>  
> I have been using the msi compiled version.  My co-worker could not
> successfully compile the modified code because the source did not
> contain the files setup.c and psqlodbc.rc.  
> Can you send me a new msi version, or will you have the new version on
> the web site soon?
> Thanks again
>  
> 
> 	-----Original Message----- 
> 	From: Bruce Momjian 
> 	Sent: Thu 1/2/2003 2:29 PM 
> 	To: Jim Holliday 
> 	Cc: pgsql-odbc(at)postgresql(dot)org 
> 	Subject: Re: [ODBC] bug in info.c file - incorrect SQL
> 	
> 	
> 
> 
> 	Good catch, patch attached. I found the problems you saw, plus a
> few
> 	cases where pg_namespace was referenced in the WHERE but not
> FROM ---
> 	not a big problem, but clearer if we specify it both places.
> Patch
> 	applied.
> 	
> 	
> ------------------------------------------------------------------------
> ---
> 	
> 	Jim Holliday wrote:
> 	> For the ODBC driver psqlodbc.dll version 7.02.0003 there is an
> error in
> 	> the info.c.  In 2 places the SQL contains an alias in the FROM
> clause
> 	> for the pg_namespace table and then references the table in
> the where
> 	> clause.  The below cut from the info.c file should replace all
> instances
> 	> on pg_namespace. in the where clause with pn.
> 	>
> 	>       This should be done in both places.
> 	>       I modified this code, but was unable to compile a new
> version of
> 	> the odbc driver.
> 	>       
> 	>       When you re-compile, could you reply email to me please.
> 	>       Thanks
> 	>       
> 	>       >    sprintf(tables_query, "SELECT pt.tgargs, "
> 	>       >     "  pt.tgnargs, "
> 	>       >     "  pt.tgdeferrable, "
> 	>       >     "  pt.tginitdeferred, "
> 	>       >     "  pp1.proname, "
> 	>       >     "  pp2.proname, "
> 	>       >     "  pc.oid, "
> 	>       >     "  pc1.oid, "
> 	>       >     "  pc1.relname, "
> 	>       >     "  pn.nspname "
> 	>       >     "FROM pg_class pc, "
> 	>       >     "  pg_proc pp1, "
> 	>       >     "  pg_proc pp2, "
> 	>       >     "  pg_trigger pt1, "
> 	>       >     "  pg_trigger pt2, "
> 	>       >     "  pg_proc pp, "
> 	>       >     "  pg_trigger pt, "
> 	>       >     "  pg_class pc1, "
> 	>       >     "  pg_namespace pn "
> 	>       >     "WHERE pt.tgrelid = pc.oid "
> 	>       >     "AND pp.oid = pt.tgfoid "
> 	>       >     "AND pt1.tgconstrrelid = pc.oid "
> 	>       >     "AND pp1.oid = pt1.tgfoid "
> 	>       >     "AND pt2.tgfoid = pp2.oid "
> 	>       >     "AND pt2.tgconstrrelid = pc.oid "
> 	>       >     "AND ((pc.relname='%s') "
> 	>       >     "AND (pg_namespace.oid = pc.relnamespace) "
> 	>       >     "AND (pg_namespace.nspname = '%s') "
> 	>       >     "AND (pp.proname LIKE '%%ins') "
> 	>       >     "AND (pp1.proname LIKE '%%upd') "
> 	>       >     "AND (pp2.proname LIKE '%%del') "
> 	>       >     "AND (pt1.tgrelid=pt.tgconstrrelid) "
> 	>       >     "AND (pt1.tgconstrname=pt.tgconstrname) "
> 	>       >     "AND (pt2.tgrelid=pt.tgconstrrelid) "
> 	>       >     "AND (pt2.tgconstrname=pt.tgconstrname) "
> 	>       >     "AND (pt.tgconstrrelid=pc1.oid) "
> 	>       >     "AND (pc1.relnamespace=pn.oid))",
> 	>       >     fk_table_needed, schema_needed);
> 	>       >   }
> 	>      
> 	>
> 	>
> 	[ Type application/ms-tnef treated as attachment, skipping... ]
> 	
> 	>
> 	> ---------------------------(end of
> broadcast)---------------------------
> 	> TIP 6: Have you searched our list archives?
> 	>
> 	> http://archives.postgresql.org
> 	
> 	--
> 	  Bruce Momjian                        |
> http://candle.pha.pa.us
> 	  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
> 	  +  If your life is a hard drive,     |  13 Roberts Road
> 	  +  Christ can be your backup.        |  Newtown Square,
> Pennsylvania 19073
> 	
> 
> 
[ Type application/ms-tnef treated as attachment, skipping... ]

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

In response to

pgsql-odbc by date

Next:From: Hiroshi InoueDate: 2003-01-03 01:32:06
Subject: Re: bug in info.c file - incorrect SQL
Previous:From: Jim HollidayDate: 2003-01-02 23:29:24
Subject: BRUCE Momjian - Re: bug in info.c file - incorrect SQL

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group