On 07/25/14 17:06, Mark Rotteveel wrote: > On 25-7-2014 14:38, Alex Peshkoff wrote: >> On 07/25/14 06:11, Jim Starkey wrote: >>> Why not just use the C++ binding of JDBC that I wrote for Vulcan? >> Main reason is that I wanted to have something more or less similar to >> existing ISC API. Certainly removing such things as SQLDA and adding >> interfaces-style replacement. >> >> What about JDBC in Vulcan - sorry, I did not take a look at it. I've >> quickly reviewed it today and must say that in some aspects I do not >> find it appropriate for FB3. >> >> JDBC contains standard but bad prepareStatement(). We have used better >> approach when statement is created in prepared state by an attachment >> according to it's SQL text. It's much more clear. > To me that sounds like what JDBC does as well, see > Connection.prepareStatement(String) : > http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html#prepareStatement-java.lang.String-
I see no problems with Oracle version. I do see problems with Vulcan version. > So what exactly is the difference with JDBC as you see it? > > JDBC also has createStatement which creates a statement handle that can > be used to execute arbitrary SQL statements *without* parameters. > And it also can create CallableStatement to execute procedures. FB3 always creates generic statement (one can work with unknown SQL operator), next you may ask that object can it produce cursor or not, does it have output parameters (i.e. procedure call) or may be it's DDL or START TRANSACTION. Next you invoke proper function in that object to run it. ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel