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

From: "Hiroshi Inoue" <inoue(at)tpf(dot)co(dot)jp>
To: "'Gary Faulkner'" <gfaulkne(at)rcn(dot)com>
Cc: <pgsql-odbc(at)postgresql(dot)org>
Subject: Re: psqlODBC Bug Report - Issue with Reverse Engineering PostgreSQL Database in Visio 2002
Date: 2003-09-05 22:00:10
Message-ID: 006f01c373f9$13946890$3d283ddb@PbgX
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

It's a known psqlodbc's bug.

Please try the snapshot dll at
http://www.geocities.jp/inocchichichi/psqlodbc/ .

regards,
Hiroshi Inoue

-----Original Message-----
From: Gary Faulkner

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

In response to

Browse pgsql-odbc by date

  From Date Subject
Next Message John K. Herreshoff 2003-09-05 22:25:29 Large Object Problem
Previous Message Lord Corwin 2003-09-05 19:21:59 Question: ODBC connection across 2 disimilar NT Domains