BRUCE Momjian - Re: bug in info.c file - incorrect SQL - Mailing list pgsql-odbc
From | Jim Holliday |
---|---|
Subject | BRUCE Momjian - Re: bug in info.c file - incorrect SQL |
Date | |
Msg-id | 56510AAEF435D240958D1CE8C6B1770AE09408@mailc03.aurigin.com Whole thread Raw |
List | pgsql-odbc |
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
Attachment
pgsql-odbc by date: