Jaybird
Firebird default head
Sourceforge CCA Awards 2009

JDBC type 4 driver

JayBird FAQ
About JayBird

Sub-Project details

Leaders:
  • Roman Rokytskyy

    Members:

  • Alejandro Alberola Arias
  • Blas Rodriguez Somoza
  • David Jencks
  • Alice F. Bird
  • Rick Fincher
  • Roman Rokytskyy
  • Ryan Baldwin

    Mail traffic:

  • Firebird-Java

    CVS Modules:

  • client-java

  • Firebird Sub-projects

  • Firebird Documentation
  • Firebird Core Engine
  • InterClient/InterServer
  • JDBC driver type 4
  • Firebird .NET provider
  • Firebird ODBC driver
  • Firebird Engine Plug-ins
  • Firebird Platform Porting
  • Firebird Driver for Python
  • Firebird QA
  • Core Technical Docs
  • Firebird Website

  • Jaybird News

    by Roman Rokytskyy
    19 July 2008

    V.2.1.6 Release (Critical)

    Jaybird 2.1.6 released, with the following fixes:

    • JDBC-97: Blob.getBytes() method should not allow position below 1 - not critical

    • JDBC-108: Problems with record resultset to call primary composite - critical

    • JDBC-119: updateRow() primary key violation issue - critical

    • JDBC-118: Remote PID and process name for FB 2.1 monitoring tables - not critical

    Due to critical fixes in JDBC-108 and JDBC-119, everybody using Jaybird versions between 2.1.2 and 2.1.5 is advised to upgrade to this new version to avoid data corruption when doing updates via ResultSet.updateRow() when the table has a composite primary key. Cases where table's primary key has only one column or there is no primary key at all are not affected.

    Comments to JDBC-118:

    The only platform independent solution turns out to be via the -D property, therefore two new properties are implemented: org.firebirdsql.jdbc.pid and org.firebirdsql.jdbc.processName. If they are specified, values are passed to Firebird 2.1. Also one can use "normal" properties passed via URL or data source configuration. In this case, the property names are process_id and process_name.

    With versions of Firebird prior to Fb 2.1, using these properties will cause an exception while connecting to Firebird. A more intelligent solution will be implemented in Jaybird 2.2.

    V.2.1.5 Bugfix Release

    Jaybird 2.1.5 released, fixing a regression that appeared in v.2.1.4 concerning the Events port on Linux. Please upgrade your installations to this one.
     

    V.2.1.4 Bugfix Release

    Jaybird 2.1.4 released. This bugfix release contains a fix to make events run with Firebird 2.1. Also some some fixes to the test cases were made, since a bug with a constant order for table reservation in TPB was fixed in Firebird 2.1 (CORE-1416).
     

    V.2.1.3 Bugfix Release

    Jaybird 2.1.3 released. This release fixes only one bug, JDBC-106, which is related to the situation when developers use DatabaseMetaData class with identifiers/patterns with case different to the one in the database.

    The solution is to try to execute the query with the original case and when nothing is found, another query with uppercased identifiers is executed. This, in worst case will cause two queries to be executed against the database, which can lead to performance loss.
     

    V.2.1.2 Bugfix Release

    Jaybird 2.1.2 is is a bugfix release that targets two main issues:

    1. JDK 6.0 compatibility. There is a build for JDK 6.0.
      All new methods are implemented but the implementation is trivial: it either throws an FBDriverNotCapableException or returns empty result sets (in DatabaseMetaData interface).

      Complete support of JDK 6.0 is planned in Jaybird 2.2.

    2. Full support for Firebird 2 INSERT...RETURNING statements.

    V.2.1.1 Bugfix Release

    The Jaybird team has released a bugfix version of our JDBC driver. The Jaybird 2.1.1 release includes fixes for the following issues:

    • JDBC-92. DatabaseMetaData becomes unusable when the statement that serves the result set is closed.
       
    • JDBC-87. Backported feature of upcoming Jaybird 2.2 release that allows specifying the octetsAsBytes connection property and receive byte[] when using the ResultSet.getObject() method
       
    • JDBC-85. Fixed returning of the error messages.
       
    • Bug reported in Firebird-Java group. ClassCastException when obtaining byte[] from BLOB fields in cached result set.
       

    The next release, Jaybird 2.2, will contain improved support for XA connections as well as a few other long-awaited features including support for 64-bit platforms. First versions are expected in Q1/2007.

    The JayBird JCA/JDBC driver is distributed free of charge under the GNU Lesser General Public License (LGPL). Text of the license can be obtained from http://www.gnu.org/copyleft/lesser.html

    For more information please refer to

    Jaybird v.2.1.0

    Release candidate 1
    By Roman Rokytskyy

    What's new in Jaybird 2.1.0

    • support for Firebird events
    • new JNI code supporting multiple client libraries
    • new property allowing to change the default result set holdability
    • Feature #1428474. Implement record and tablename functionality from gstat
    • Improved performance of ResultSet.getBytes() method for BLOB columns

    Bugs fixed since Jaybird 2.0.1

    • #1421579. Wrong result with Dialect 3 and FBDatabaseMetaData.getIndexInfo
    • #1434183. Error from verifier on deploying JayBird as resource adapter
    • #1449499. Incorrect DECIMAL_DIGITS value
    • #1460163. "Could not obtain connection" hides original exception
    • #1464522. JayBird: batch execution doesn't work with blob columns
    • #1464795. getCrossReference returns wrong FK Column/Table Name
    • #1067485. Data truncation when use PreparedStatement in CHAR fields
       

    v.1.5.5, 5 December 2004

    If no critical bug is discovered, this is the last point release of JayBird 1.5.x. The next version (1.6) will support the Services API (backup/restore, user management, statistics, etc).

    The driver requires at least JDK 1.3.1 to compile and run properly. Download HERE.

    The V.1.5.5 driver

    • fixes NPE when an error happens during reconnection
    • allows calling commit/rollback in Oracle mode
    • adds the setBlob() method for BLOB SUB_TYPE 1 fields
    • fixes the issue with calendar in the PreparedStatement.setTime(Time, Calendar) method
    • adds a fix for the "trying to reopen an open cursor" exception in the Type 2 driver
    • improves memory usage within transactions
    • fixes a bug in the write(byte[], int, int) method in FBBlob.java when a passed array was bigger than the blob buffer size
    • adds the keepStatements parameter
    • fixes a bug in AbstractCallableStatement where not all params were being marked as set

      JDK 5.0
    Steven Jardine has adapted the build system for JDK 5.0, but his changes are committed only to HEAD. Therefore there is no release of JayBird 1.5.5 for JDK 5.0. If there is reasonable public interest, the changes will be ported to Branch_1_5 and a version for JDK 5.0 will be released.

    64-bit Solaris
    Bill Oliver sent a compiled binary of libjaybird.so for 64-bit Solaris. Because this quite a big file, (1.6 MB), it is not included in the release package. It will be made available for download soon. Our build_native.xml does not work for Solaris, unfortunately, but Bill has supplied his own build script.

    v.1.5.4, 26 October 2004

    Contains the following fixes:
    • Fixed an issue when prepared statement was left in an incorrect state when an exception happened in the setter, original patch provided by Gabriel Reid.
    • Fixed an issue with local encodings when connection is obtained via the JCA framework
    • Applied a patch (by Gabriel Reid) for the ArrayIndexOutOfBoundsException
    • Added support for dialect 1
    • Fixed a bug with encodings in pool

    v.1.5.3, 11 October 2004

    This release contains the fix for the ClassFormatException reported today.

    v.1.5.2, 10 October 2004

    Contains fixes to some reported issues with v.1.5.1.
    • There should be no more "invalid statement handles"
    • Result sets should be correctly released when using the connection pool.
    • Some more fixes should remove the "cannot start transaction, local transaction active". A
    • It is now possible to specify both isc_dpb_lc_ctype and charSet encodings. In this case lc_ctype is passed to the database, charSet is used to convert bytes to characters. The most useful case is when lc_ctype=NONE. Previously the driver used the default JVM encoding to convert bytes into strings. Now you can enforce the encoding you like and do not need to depend on the regional settings of the host OS.
    Attempts to build it with JDK 1.5, were not successful. The build system cannot run with 1.5 (the target="1.2" part in build.xml and the used version of Ant does not understand 1.5), and at least the JNDI code from the pool does not compile due to use of generics in the JNDI API.

    Most likely one can build driver by using the "compatibility" mode of the compiler, but the build system must be fixed (probably requires upgrade of Ant). I think we would need to split the code bases the same way I did it for JDK 1.3 and JDK 1.4. Are there any volunteers for this task?

    v 1.5.1, 17 September 2004

    New features in JayBird 1.5.1 include
    • full JDBC 2.0 compatibility (passed JDBC CTS 1.3.1 suite)
    • full callable statement support
    • batch updates
    • support of ResultSet.TYPE_SCROLL_INSENSITIVE
    • X/Open SQL states are reported by SQLException
    • escaped syntax support for stored procedures and functions
    • fixed JDBC specs deviations from 1.0.1 release
    • Type 2 JDBC driver support
      Now you can use gds32.dll/libgds.so, fbclient.dll/libfbclient.so/libfbembed.so and fbembed.dll (requires native library, available as separate package). It allows you to
      • connect locally when the application runs on localhost
      • use the Win32 embedded version of the engine
      • use the driver with InterBase 6.5, 7.0.
    • multi-thread safety: now you can use one connection from multiple threads
    • introduces Firebird-specific interfaces to enable you to utilize Firebird-specific features: FirebirdConnection, FirebirdStatement, FirebirdPreparedStatement and FirebirdBlob
    • completely rewritten JDBC connection pool with prepared statement caching, more properties to control DataSource and ConnectionPoolDataSource objects.
    • savepoint support for Firebird 1.5 (JDBC 3.0 only, hence for JDK 1.4.x only)


    Forums -> JayBird New topic
    Topic Views Postings Last poster Last post
    There are not topics in this category
      New topic

    Back to Developer's Corner.

    Get Firebird at SourceForge.net. Fast, secure and Free Open Source software downloads This site and the pages contained within are Copyright © 2000-2009, Firebird Project.
    Firebird® is a registered trademark of Firebird Foundation Incorporated.