G
Gary Faulkner
First the vitals....
Visio 2002 SR-1 (v10.0.2514)
PostgreSQL Database v7.3.4
psqlODBC v07.03.0100
Windows XP Professional SP1
When I attempt to reverse engineer a PostgreSQL database,
and specify that I want "Foreign key" objects to be
imported, I received 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 is at character position 399, or 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='enroller_reference') 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 SQL statement executes
fine. 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
(e-mail address removed)
Visio 2002 SR-1 (v10.0.2514)
PostgreSQL Database v7.3.4
psqlODBC v07.03.0100
Windows XP Professional SP1
When I attempt to reverse engineer a PostgreSQL database,
and specify that I want "Foreign key" objects to be
imported, I received 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 is at character position 399, or 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='enroller_reference') 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 SQL statement executes
fine. 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
(e-mail address removed)