psqlODBC Bug Report - Issue with Reverse Engineering PostgreSQL Database in Visio 2002

From: "Gary Faulkner" <gfaulkne(at)rcn(dot)com>
To: <pgsql-odbc(at)postgresql(dot)org>
Subject: psqlODBC Bug Report - Issue with Reverse Engineering PostgreSQL Database in Visio 2002
Date: 2003-09-01 14:30:37
Message-ID: 000001c37095$9eea5060$6701a8c0@garyflaptop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

psqlODBC Driver Version: 07.03.0100

PostgreSQL Database Version: 7.3.4

Error message: "Data source client error: State:S1000,Native:7,Origin:
ERROR: parser: parse error at or near "pg_catalog" at character 402".

Commlog file: C:\psqlodbc_5120.log (attached)

ODBC trace log file: <sql.log not found>

Application: Microsoft Visio 2002 SR-1 v10.0.2514

Operating System: Microsoft Windows XP Professional SP1

When I attempt to reverse engineer a PostgreSQL database using Microsoft
Visio 2002, and specify that I want "Foreign key" objects to be imported, I
receive the following error: "Data source client error:
State:S1000,Native:7,Origin: ERROR: parser: parse error at or near
"pg_catalog" at character 402".

I then enabled logging in the psqlODBC driver setup, and was able to
determine the cause of the problem - a missing comma in a generated SQL
statement. The actual SQL statement recovered from the log file follows.
The missing comma occurs at character position 399, or immediately after the
phrase "pg_catalog.pg_namespace pn"...

SELECT pt.tgargs, pt.tgnargs, pt.tgdeferrable,
pt.tginitdeferred, pp1.proname, pp2.proname,
pc.oid, pc1.oid, pc1.relname, pn.nspname
FROM pg_catalog.pg_class pc, pg_catalog.pg_proc pp1,
pg_catalog.pg_proc pp2, pg_catalog.pg_trigger pt1,
pg_catalog.pg_trigger pt2, pg_catalog.pg_proc pp,
pg_catalog.pg_trigger pt, pg_catalog.pg_class pc1,
pg_catalog.pg_namespace pn pg_catalog.pg_namespace pn1 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='provider') AND (pn1.oid = pc.relnamespace) AND
(pn1.nspname = 'public') 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))

Upon inserting the comma, the copied SQL statement executes fine in a
pgAdmin2 SQL execution window. The questions I have are:

1) Is this a psqlODBC bug?

2) Is this a Visio bug?

3) Is there a known fix for this issue?

Thanks in advance for any information pertaining to this issue.

Gary Faulkner

Enterprise Information Solutions

garyf(at)eisolution(dot)com

Attachment Content-Type Size
psqlodbc_5120.log application/octet-stream 11.2 KB

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Bob Nix 2003-09-01 14:42:30 Re: signoff
Previous Message Hiroshi Inoue 2003-09-01 09:50:03 Re: unnecessary auto-transaction-rollback from driver - part 1 of