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 |
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 |