Re: BRUCE Momjian - Re: bug in info.c file - incorrect SQL - Mailing list pgsql-odbc
From | Bruce Momjian |
---|---|
Subject | Re: BRUCE Momjian - Re: bug in info.c file - incorrect SQL |
Date | |
Msg-id | 200301022335.h02NZ0J15741@candle.pha.pa.us Whole thread Raw |
List | 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@postgresql.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@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 > > > [ Type application/ms-tnef treated as attachment, skipping... ] -- 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-odbc by date: