Subject Re: Difference between Interclient and JBird drivers
Author Roman Rokytskyy
Hi,

> The doubt is the following: the Interclient driver creates non
> AutoCommitted connections by default (thus justifying why excepts
> were not thrown) or it simply does not throw exceptions when
> committing an AutoCommitted connection? In both cases, is not it
> breaking the specification of JDBC?

Is anybody speaking about JDBC compatibility of InterClient? :)
Borland claims to implement specs correctly only in InterClient 4
which they ship with InterBase 7.1 (they say that driver passed all
_relevant_ CTS tests). InterClient 2.01 that was open sourced by
Borland can hardly be called specs compatible.

I do not say that JayBird are fully specs compatible, we did not run
JDBC CTS tests yet, but one of team members (Blas Rodrigues Somoza)
run more than 1,000 tests for JDBC compatibility and claims that we
are the most specs compatible driver among other tested. Running JDBC
CTS tests is in my todo list. We will not try to get JDBC
certification, because it costs ~$4,000 and we can spend these money
(if we have them) on driver development instead.

As to the Connection.commit(), InterClient simply ignores call if
there is no transaction started (and there is no tx, because it was
committed after statement was finished). We throw an exception.

Best regards,
Roman Rokytskyy