Greg Stark wrote:

Tom Lane <[EMAIL PROTECTED]> writes:

Abhijit Menon-Sen <[EMAIL PROTECTED]> writes:

Should Postgres accept ? as a placeholder?

In short, I think this notation sucks and I don't want to emulate it.

Certainly it sucks. Unfortunately it's the supported ODBC API which is emulated by everyone else, including JDBC and DBI. So the world's pretty much stuck with it.

However this isn't Postgres's problem. If you want to write code that works
with multiple databases then you're going to want to be using something like
ODBC or JDBC or DBI anyways. In which case it's the driver's responsibility to
provide the standard API which includes translating ? into appropriate syntax
for the database.

This brings back memories. This is how the whole Access hack for the parse-time transformation of '= NULL' to 'IS NULL' came about. IIRC, older versions of Access would invoke SQLPrepare() with a statement like:


SELECT *
FROM employees
WHERE employeeid = ?

then invoke SQLBindParameter() with NULL as the value, followed by SQLExecute() and the backend would receive:

SELECT *
FROM employees
WHERE employeeid = NULL

Later versions of one of the Access components (jet, mdac, access.exe - who knows where) changed its behavior and never performed similarly...

Mike Mascari





---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to