Re: Problems with question marks in operators (JDBC, ECPG, ...) - Mailing list pgsql-hackers

From David G. Johnston
Subject Re: Problems with question marks in operators (JDBC, ECPG, ...)
Date
Msg-id CAKFQuwaT3hE=n4qyq3ooC_YtNsgZWWjvoCZRxxPVD9JHOzapjQ@mail.gmail.com
Whole thread Raw
In response to Re: Problems with question marks in operators (JDBC, ECPG, ...)  (Bruno Harbulot <bruno@distributedmatter.net>)
Responses Re: Problems with question marks in operators (JDBC, ECPG, ...)  (Bruno Harbulot <bruno@distributedmatter.net>)
List pgsql-hackers
On Tue, May 19, 2015 at 2:34 PM, Bruno Harbulot <bruno@distributedmatter.net> wrote:

While I can imagine a Java PostgreSQL driver that would use the libpq syntax, I can't see it being able to have any useful sort of half-compatibility with JDBC, whether it mimics its interfaces or not. I'm not sure it would be very useful at all, considering how much the existing tooling the the Java world relies on JDBC.


​I won't claim to have studied this in great detail but there is a lot more to the JDBC spec beyond the semantics of "PreparedStatement.parse(String)". No need to throw out the baby with the bath water and reinvent ResultSet, Connection and various other interfaces that are perfectly usable before and after a suitable query has been fully parsed.

When I say "setInteger(1, new Integer(1000))" I don't care whether I had to write "SELECT ? AS int_val" OR "SELECT $1 AS int_val"; though the later has the nice property of providing corresponding numbers so that I would write something like "SELECT $1 AS int_val, $1 AS int_val_2" and not be forced to write "setInteger(2, new Integer(1000))" to pass in a value to the second - but identical - parameter.  Maybe it violates the semantics defined by the API - which I could be making too lightly of - but having the same mechanics involved to solve the same problem - with only minor semantic nuances to remember seems within the realm of reasonable.

David J.

pgsql-hackers by date:

Previous
From: Bruno Harbulot
Date:
Subject: Re: Problems with question marks in operators (JDBC, ECPG, ...)
Next
From: Jim Nasby
Date:
Subject: Change pg_cancel_*() to ignore current backend