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.

Also JDBC in Vulcan is missing charset information (certainly, one can 
be added).

Accessing individual columns in JDBC is definitely overhead (may be I've 
missed something in it but for what I see to get any single value from 
result set I need virtual function call). That's sooner of all OK when 
using API to write final applications. But low-level database API is 
typically used to built something else (like Delphi components) based on 
it. And for this purpose fb3 is definitely better cause it works with 
message buffer directly (more or less like GPRE-compiled programs). 
Access to individual field is based on offset in message buffer which is 
certainly not so beautiful as virtual function returning "Value*" by 
column name but makes much more sense for a component that just caches 
messages in own memory and later accesses them itself well knowing 
message structure. And yes - for C++ we have wrappers around the message 
that enable access to it similar to JDBC, but without relatively slow 
virtual calls.

Once more sorry if I've missed something in Vulcan's JDBC, but from what 
I've found I do not want to use it - first of all it's too high-level, 
we do not need all it's power for low-level DB API.



------------------------------------------------------------------------------
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

Reply via email to