[ psqlodbc-Bugs-1000625 ] Serious performance issue with Delphi

From: <noreply(at)pgfoundry(dot)org>
To: noreply(at)pgfoundry(dot)org
Subject: [ psqlodbc-Bugs-1000625 ] Serious performance issue with Delphi
Date: 2006-05-03 12:37:13
Message-ID: 20060503123713.8521986C5C9@pgfoundry.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Bugs item #1000625, was opened at 2006-05-03 09:01
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000625&group_id=1000125

Category: None
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: Nobody (None)
Assigned to: Nobody (None)
Summary: Serious performance issue with Delphi

Initial Comment:
Greetings,
I'm using PostgreSQL 8.1 on Windows XP with the included ODBC driver (8.01.02.00 according to Control Panel) in Delphi 6 or 2006, ADO components, MS OLE DB Provider for ODBC Drivers.

I create an ADOQuery with a SELECT statement, and when issuing Open, it takes very long time to return (several seconds, even if the SELECT is a very simple one fetching a couple of fields of a single record, for example). Enabling log output to mylog I see that, for some reason, a WHERE-less SELECT * is performed right after my select, also inside the same Open. My table contains binary data (pictures), hence the long latency. The result of the SELECT * is apparently discarded, and the correct data from my select is returned by TADOQuery.Open.

I can't understand who is performing the SELECT * and why, but it seems it only happens in Delphi. In the PostgreSQL IRC channel I've been suggested to try the QTADO query tool, and it runs smooth instead, with the very same setup. The same database served by MySQL does not show the problem using the MySQL ODBC driver, though. Perhaps some incompatibility between the Postgres ODBC driver and the Delphi database library?

Thanks,
Salvo
salvois at users.sourceforge.net

----------------------------------------------------------------------

>Comment By: Ludek Finstrle (luf)
Date: 2006-05-03 14:37

Message:
Delphi sends the WHERE less command. The problem is that the Delphi doesn't get the right column information. The solution is in turning on the option Parse Statement in ODBC Datasource (or changing the connection string).

Regards,

Luf

----------------------------------------------------------------------

You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000625&group_id=1000125

Browse pgsql-odbc by date

  From Date Subject
Next Message noreply 2006-05-03 12:41:20 [ psqlodbc-Bugs-1000627 ] can't use stored functions
Previous Message noreply 2006-05-03 10:20:50 [ psqlodbc-Bugs-1000626 ] Follow-up to 1000625