Subject Re: [Firebird-Java] Re: RC3
Author Benammour Abdenbi
Hi Roman,

> Evgeney,
>
> > This is Firebird feature. It have commitRetain, after commit all
> > ResultSet is open.
>
> Right, but JDBC does not define commit retaining. Connection.commit()
> means isc_commit_transaction and not isc_commit_retaining. Check JDBC
> specification.
>
> > I patch local source next files to resolve this problem
> > org\firebirdsql\jdbc\FBConnection.java
> > org\firebirdsql\jca\FBLocalTransaction.java
> > org\firebirdsql\jca\FBManagedConnection.java
> > org\firebirdsql\jca\FBManagedConnectionFactory.java
>
> What problem are you trying to solve?
>
> > And I have memory leak on server when I don't close
> PreparedSatement.
> > FB allow one PreparedSatement for many Query. And this Statment
> eat
> > server memory.
>
> PreparedStatement should be prepared once and used many times. JDBC
> driver does not have PreparedStatement pool and will not have any.
> This feature usually is implemented in JDBC connection pool. PoolMan
> has it, I have it in my pool too (most likely I will contribute my
> pool to the project after release).
>
Is it Jaybird that will not have to support PreparedStatement pooling in the
future?
JDBC 3.0 spec, mentions that PreparedStatements may be reusable (see section
11.6). It is/will be possible to check if a datasource supports poolable
PreparedStatements by calling DatabaseMetaData.supportsStatementPooling().
This feature was added to the spec for performance reason.
Best regards,
ABdou.