Release Notes - Jaybird JCA/JDBC Driver - Version Jaybird 4 - Text format

Bug

  • [JDBC-493] - FBTraceManager.loadConfigurationFromFile
  • [JDBC-494] - FBDatabaseMetaData.getTables does not list tables where rdb$relation_type is null
  • [JDBC-496] - DatabaseMetaData.getBestRowIdentifier handling of 'scope' is wrong
  • [JDBC-498] - Specifying an invalid character set triggers the "Connection rejected: No connection character set specified" error
  • [JDBC-518] - JNA truncates varchars to length 255 on read
  • [JDBC-519] - Jaybird should explicitly call fb_shutdown() on VM exit when using Firebird Embedded
  • [JDBC-531] - SQL Error: Statement state CURSOR_OPEN only allows next states [CLOSING, PREPARED, ERROR], received EXECUTING
  • [JDBC-534] - Jaybird does not handle revision numbers in version string
  • [JDBC-535] - Version number parsing in GDSServerVersion and AbstractFbDatabase (and GDS for earlier versions) is incorrect
  • [JDBC-538] - When the Exception is thrown out from the constructor in: AbstractPreparedStatement - line: 151, finalizer tries to remove FBstatement from activeStatements collection and warn appears.
  • [JDBC-542] - FBEventManager triggering "org/firebirdsql/gds/ng/wire/AsynchronousProcessor" thread spikes CPU and goes in to infinite IOException loop when FB is shut down
  • [JDBC-544] - wireCrypt property not exposed for FBEventManager
  • [JDBC-549] - Support case sensitive user names
  • [JDBC-556] - setSavepoint() fails on dialect 1
  • [JDBC-560] - FBDatabaseMetaData.Clause build poor performing SQL
  • [JDBC-562] - DatabaseMetaData patterns: treat escape character as normal when not followed by _, % or itself.
  • [JDBC-566] - UPDATE OR INSERT with existing RETURNING clause handled incorrectly for generated keys
  • [JDBC-567] - getGeneratedKeys execute methods should disallow empty or null arrays
  • [JDBC-568] - getGeneratedKeys methods should not sort int[] array
  • [JDBC-571] - Error "Current statement state (CURSOR_OPEN) does not allow call to prepare" when creating result set fails
  • [JDBC-575] - FBConnectionTest.testLockTable hangs on EMBEDDED after upgrading to JNA 5.2
  • [JDBC-584] - Some connection properties don't work from DriverManager
  • [JDBC-587] - Use of Blob from result set yields NullPointerException after commit
  • [JDBC-588] - ResultSet.next() incorrectly frees blob returned from ResultSet.getBlob

Improvement

  • [JDBC-293] - Support JDBC escapes with optional parameters
  • [JDBC-294] - Improve JDBC escape function implementation for CONVERT
  • [JDBC-413] - Add property to disable or restrict generated keys support on connection level
  • [JDBC-495] - Load character sets on-demand, not on initialization
  • [JDBC-497] - Slow read of blob and high memory usage
  • [JDBC-502] - Drop requirement for connection character set on connect
  • [JDBC-509] - Update JNA to 5.4 (was: Update JNA to 4.5/5.2/5.3)
  • [JDBC-511] - Add explicit automatic module name to Jaybird
  • [JDBC-512] - Do not call setCause if setLinkedException already called it
  • [JDBC-514] - Revise column display size reported
  • [JDBC-520] - Support jdbc:firebird: as protocol prefix for all driver types
  • [JDBC-536] - Add support for the new Srp256 authentication plugin (and others)
  • [JDBC-541] - Allow to define default charset when creating a database with org.firebirdsql.management.FBManager
  • [JDBC-547] - Generate dependency relocation artifact for org.firebirdsql.jdbc:jaybird for each release
  • [JDBC-555] - Re-check FirebirdVersionMetaData and remove words reserved in SQL:2003
  • [JDBC-557] - Limit statements cached in DatabaseMetaData
  • [JDBC-569] - getGeneratedKeys add support for MERGE
  • [JDBC-589] - Add support for setNetworkTimeout/getNetworkTimeout()
  • [JDBC-590] - Don't include procedures in packages from DatabaseMetaData.getProcedures and getProcedureColumns

New Feature

  • [JDBC-415] - Implement Firebird 3 wire encryption
  • [JDBC-417] - Allow for selection of authentication plugins through connection properties
  • [JDBC-444] - Add JDBC RowId support
  • [JDBC-445] - Implement DatabaseMetaData.getPseudoColumns
  • [JDBC-466] - Firebird 4 support
  • [JDBC-523] - Add JDBC escapes TIMESTAMPADD/TIMESTAMPDIFF
  • [JDBC-524] - Add JDBC escapes DEGREE/RADIANS
  • [JDBC-527] - Add support for database encryption callback
  • [JDBC-548] - Implement DatabaseMetaData.getVersionColumns
  • [JDBC-553] - Removed documentation copied from JDBC
  • [JDBC-574] - Support for Firebird 3 explained execution plan
  • [JDBC-576] - Connection property to ignore stored procedure type for call-escape.

Task

  • [JDBC-196] - Add JCA 1.5 or 1.6 support
  • [JDBC-367] - Include new FB3 embedded quote for string literals in parsers
  • [JDBC-491] - Remove deprecated fields, methods, etc as mentioned in the Jaybird 3.0 release notes
  • [JDBC-492] - Completely remove CharacterTranslator and the character mapping / translation feature.
  • [JDBC-526] - Stop including a JCA Resource Archive in the distribution zip
  • [JDBC-537] - Remove Legacy_Auth from default list of authentication plugins
  • [JDBC-545] - Document necessity to apply unlimited cryptographic strength policy for wire encryption
  • [JDBC-551] - Check and fix metadata types in DatabaseMetaData
  • [JDBC-572] - Upgrade ANTLR to 4.7.2
  • [JDBC-582] - Apply jdp-2019-02 naming convention
  • [JDBC-585] - Consider switching to single artifact name, and java target specific versions

Sub-task

  • [JDBC-468] - Firebird 4: Page size 32kb
  • [JDBC-506] - Firebird 4: DECFLOAT support
  • [JDBC-516] - Firebird 4: Support for increased precision of NUMERIC and DECIMAL (DEC_FIXED)
  • [JDBC-540] - Firebird 4: TIME(STAMP) WITH TIME ZONE support
  • [JDBC-564] - Firebird 4: Add Firebird 4 reserved words to FirebirdVersionMetaData
  • [JDBC-570] - Firebird 4: Use RETURNING * for generated keys
  • [JDBC-591] - Firebird 4: check and correct precision reported in various metadata for FLOAT/REAL/DOUBLE PRECISION (for FB4+ only)

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.