Preparable SQl statements - Mailing list pgsql-hackers

From Sebastien FLAESCH
Subject Preparable SQl statements
Date
Msg-id 09f601c1b3f0$bf6d9f80$7300000a@strasbourg.4js.com
Whole thread Raw
List pgsql-hackers
Hi All,

My name is Sebastien FLAESCH and I am in charge of the Open
Database Interface at Four J's Development Tools (www.4js.com).

Our product is a Informix 4GL compatible compiler and with ODI
drivers you can connect to Informix, Oracle, DB2, SQL Server
and PostgreSQL databases.

I had a discussion with Bruce MOMJIAN about preparable SQL and
he suggested me to send such request to this mailing list.

I am quite sure you guys are aware of this but I want to make
sure that you plan to implement such feature in a near future.

Here are the details:

Our PostgreSQL driver is implemented via libpq API, and we would
need additional API functions to prepare statements, bind params
and then execute, as you can do with other APIs like ODBC:
   SQLPrepare()   SQLBindParameter()   SQLExecute()

For now, we have to parse statements to replace ? place holders
by actual values for each execution. This is very slow as you
can imagine, when compared to Informix/Oracle/DB2. This is not
visible in interractive programs, but batch programs can be up
to 20 times slower with PostgreSQL...

PostgreSQL can be strategically VERY important for 4gl users
that want to detach from IBM/Informix.

This performance problem is today the main reason why people
would not use PostgreSQL.

I can imagine that such feature is not easy to implement, as it
would need major changes in the engine internals, but I think
it is important if you want to compete with big database vendors
like Oracle or IBM, and I think you can.

Thank you for reading this.

Regards,
Sebastien FLAESCH (sf@4js.com)
Open Database Interface Project Manager
Four J's Development Tools (www.4js.com)




pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [GENERAL] Feature enhancement request : use of libgda in
Next
From: noy
Date:
Subject: Permissions problem