Jaybird 5.0.5 released

We are happy to announce the release of Jaybird 5.0.5.

The following has been fixed since Jaybird 5.0.4:

  • Fixed: FBResultSetMetaData.getPrecision would always estimate the precision of NUMERIC or DECIMAL columns instead of obtaining the actual precision if the column position was 71 or higher (#731)
  • Optimized the query to retrieve extended field info for ResultSetMetaData.getPrecision to only retrieve columns of type NUMERIC or DECIMAL (#732)
  • Fixed: PreparedStatement.executeBatch() of statement without parameters throws “Statement used in batch must have parameters [SQLState:07001, ISC error code:335545186]” on Firebird 4.0 or higher (#788)
  • New feature: ResultSetMetaData.isAutoIncrement(int) reports true for identity columns if Jaybird can identify the underlying table and column (#793)
  • New feature: Boolean connection property extendedMetadata (default true) to disable querying of extended metadata for getPrecision(int) and isAutoIncrement(int) of ResultSetMetaData (#795)
  • Improvement: The FILTER_CONDITION of DatabaseMetaData.getIndexInfo is populated for Firebird 5.0 partial indices (#797)
  • Fixed: ResultSet.isBeforeFirst() and ResultSet.isAfterLast() should always report false for an empty result set (#807)
  • Improvement: Statement.getResultSet no longer throws a SQLException with message “Only one result set at a time/statement” if the current result set has already been returned by executeQuery or a previous call to getResultSet (#762)
  • Improvement: Updated JNA dependency to version 5.14.0 (#810)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17, 21, and 22 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

libpthread compatibility problem with Firebird 2.5

We’ve identified an issue where the latest libpthread library versions are not compatible with Firebird 2.5 (including the latest available release of vanilla version 2.5.9.27139 and HQbird 2.5 till the version 2.5.9.27173).

This incompatibility may cause Firebird 2.5 to crash during certain operations on newer Linux distributions. The error occurs frequently in architectures SuperServer and SuperClassic, and less frequently, in Classic.

Immediate Action Required:
To prevent any impact on Firebird 2.5, please follow the guidance provided below.

Assessing Your System:
Determining which Linux distributions are impacted is dificult since libpthread updates can be applied to older operating system versions, potentially introducing the issue to Firebird. It means that any update of OS can bring the problem to your system, even if you are running old version. It means that you need to test your instance of OS.

Testing for Compatibility:
We’ve developed a command-line application to test whether libpthread is compatible with Firebird 2.5.

Download Instructions:
•  The binary for the test application can be downloaded from the following link: www.ib-aid.com/download/libpthread/pthr-tst
•  The source code for the test application is also available at this link: www.ib-aid.com/download/libpthread/test.cpp

Execution Guide:
Execute the test application in your terminal as outlined in the instructions below to perform the compatibility check.

For the Operating System with old libptread (i.e., it is compatible with 2.5)  

wget https://ib-aid.com/download/libpthread/pthr-tst
chmod +x pthr-tst
# ./pthr-tst 
Set signals
Sigenv works 

For the Operating System with new libptread (i.e., not compatible with 2.5):

# ./pthr-tst
Set signals
Segmentation fault

What to do next in short-term

For Firebird 2.5 vanilla users:
If you have made the test and found that libpthread is not compatible with Firebird 2.5, change the architecture to Classic (make sure to do not confuse the configuration!), and then plan to reinstall your Linux Operating System to the old version with compatible libpthread, which does not have this problem – as soon as possible.

If you have made the test and did not encounter the problem with libpthread, there is no direct danger at the moment. Make this test after each OS update.

Please note that Firebird 2.5 is discontinued version, and Firebird Project will not release fix for vanilla version of 2.5.

For user of commercial versions
Contact your vendor to receive a fix.

What to do next in long-term? Upgrade!

Take this as a final notice that you need to upgrade to Firebird 5.0. The version 2.5 was good and stable, but it originates from 2010, the majority of products released in that year already retired.

There are enough material to perform upgrade in the smooth and easy way, see for details Practical Migration Guide to Firebird 5.
 

Questions?

Please feel free to ask any questions: ak@firebirdsql.org

Original article: https://firebirdsql.org/en/news/urgent-and-import-message-for-users-of-firebird-2-5-on-linux/

Jaybird 5.0.4 released

We are happy to announce the release of Jaybird 5.0.4.

The following has been fixed since Jaybird 5.0.3:

  • Firebird 5.0 is now formally supported
  • Fixed: Potential NPE when warningMessageCallback is null while reading operations or consuming packets (#778)
  • Fixed: FBRowUpdater incorrectly considers result set with only partial PK updatable — backported from Jaybird 6 (#780)
  • Fixed: Use of offset timezone names (e.g. +05:00) for sessionTimeZone would result in a warning being logged, and an incorrect conversion applied (in UTC instead of the offset) when using the legacy time types — backported from Jaybird 6 (#787)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17 and 21 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.3 and 4.0.10 released

We are happy to announce the release of Jaybird 5.0.3 and Jaybird 4.0.10.

With this release, Jaybird 4 is end-of-life. We recommend upgrading to Jaybird 5.

Jaybird 5.0.3

The following has been changed or fixed since Jaybird 5.0.2:

  • Improvement: Do not reject attempts to read blob id 0 — backported from Jaybird 6 (#765)
  • Fixed: on CHAR fields, a too short value could be returned if the string contained one or more codepoints represented by surrogate pairs and the string length in char exceeded the maximum string length — backported from Jaybird 6 (#770)
  • Fixed: CallableStatement.getXXX(String) could return value from wrong column — backported from Jaybird 6 (#772)
  • Updated: error messages updated from Firebird 5.0.0.1272

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17, and 21 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 4.0.10

Jaybird 4.0.10 is the last release of Jaybird 4, and Jaybird 4 is now end-of-life. We recommend upgrading to Jaybird 5.

The following has been changed or fixed since Jaybird 4.0.9

  • Fixed: Reconnect transaction with a transaction id exceeding 0x7FFF_FFFF did not work (#734)
  • Fixed: CallableStatement.getXXX(String) could return value from wrong column — backported from Jaybird 6 (#773)
  • Updated: error messages updated from Firebird 5.0.0.1272

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17, and 21 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

RedExpert 2023.08 has been released

You can join to the Telegram chat for discussion.

New version of RedExpert 2023.08 is available.

Added:

  1. Online table validation.
  2. Different date-time templates for fields with DATE, TIME and TIMESTAMP types.
  3. Line wrapping mode in the Query Editor.
  4. Support of the PSQL-profiler.
  5. Tree view display with a panel of differences for each object as a DB comparer result.
  6. New Foreign Key selection panel on the “Data” tab when working with DB tables.
  7. Resetting color to default by RMB click in the color settings.
  8. Ability to filter columns by their names in the “Result Column Visibility” window for a Result Set.
  9. Audit analysis.
  10. Auto-complete for packages (procedures and functions are suggested after a dot).
  11. Date display in the application log.
  12. Writing trace to file without parsing in the application.
  13. Navigation of tabs with a mouse wheel.
  14. Ability to enable or disable parsing of variable declarations in Procedures and Functions.
  15. Recalculation index statistics from the corresponding tab of the table.

Fixed:

  1. Inability to add a comment for a table field when editing it.
  2. An error due to which the content of the “SQL” tab during table creation was not updated when changing the “Comment” tab content.
  3. Option “Show Grid” in the “Links” tab when working with a DB table.
  4. Displaying the username in the “Select Result” tab when editing a user is confirmed.
  5. Generation of the SQL scripts for packages, views, tables and jobs.
  6. “Description” tabs renamed to “Comment”.
  7. Incorrect application of theme and style for the Query Editor.
  8. Wrong SQL script formatting in the Query Editor.
  9. NPE when navigating through folders in the connection tree.
  10. An error due to which the fields and constraints of the DB table disappeared when changing its comment.
  11. Defects when moving multiple connections to a folder in the connection tree.
  12. Error getting tablespaces and jobs from the Firebird connection during DB comparison.
  13. Error editing cell in the Result Set.
  14. An error due to which when installing an application with root, it was not added to the application menu.
  15. Adding a post-install application shortcut for all users that could not be removed.
  16. Errors while updating the application. Updates are now downloaded and unpacked into the temporary folder, and only one copy of the application must be open to run the update.
  17. Error opening Trace Manager, if there are non-standard drivers.
  18. Error saving ER-diagrams.
  19. Displaying scale for NUMERIC type.
  20. Sorting of visible columns of Trace Manager.
  21. Errors working with column names starting with a space.
  22. Failure to insert a password when creating a user.
  23. Search in the object tree (by string occurrence).
  24. Incorrect authentication error detection.
  25. Failure to copy name when editing an object.
  26. Generating DDL functions containing cursors.
  27. Adjusting width of the Result Set columns by content.
  28. Editing Primary Key fields by multiple fields.
  29. Disabled the ability to use ARRAY data type.
  30. Localized: Driver Selection Panel; Color Selection Panel; File Selection/Saving Panel; labels, hints and context menus in the Query Editor; Password View Panel; Connection Details Panel; Notepad Panel; ER-diagram Editor.

Download and install the new version.

Jaybird 5.0.2 released

We are happy to announce the release of Jaybird 5.0.2.

The following has been fixed since Jaybird 5.0.1:

  • Fixed: Reconnect transaction with a transaction id exceeding 0x7FFF_FFFF did not work (jaybird#734)
  • New feature: add connection property parallelWorkers to set Firebird 5.0 isc_dpb_parallel_workers (jaybird#737)
  • New feature: add MaintenanceManager.upgradeOds() for the Firebird 5.0 gfix/service repair action to perform a minor ODS upgrade of a database (jaybird#738)
  • New feature: add parallel workers support for BackupManager (jaybird#739)
  • New feature: add parallel workers support for sweep in MaintenanceManager (jaybird#740)
  • Fixed: DatabaseConnectionProperties.setServerBatchBufferSize(int) ignored provided value and always set default (0, or “use server-side maximum”) (jaybird#741)
  • New feature: add MaintenanceManager.fixIcu() for the Firebird 3.0 gfix/service repair action “ICU” to update or rebuild collations and indexes when the ICU version changed (jaybird#744)
  • Fixed: The first call to getTableStatistics() of a FBTableStatisticsManager instance returned only a few or even no tables; if no tables were returned, subsequent calls would also return no tables (jaybird#747)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17 and 20 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.1 and 4.0.9 released

We are happy to announce the release of Jaybird 5.0.1 and Jaybird 4.0.9.

Jaybird 5.0.1

The following has been fixed since Jaybird 5.0.0:

  • Fixed: Executing DML with a RETURNING clause containing a blob column would return the blob-id instead of the blob value (jaybird#728)
  • Fixed: CallableStatement.getString and CallableStatement.getObject would incorrectly trim string values (jaybird#729)
  • Fixed: ResultSetMetaData.getPrecision(int) of a connectionless result set could throw a NullPointerException if the column was of type FLOAT or DOUBLE PRECISION (jaybird#730)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17 and 19 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 4.0.9

The following has been fixed since Jaybird 4.0.8:

  • Fixed: Some methods of FBClob threw NullPointerException when attempting to use after implicit or explicit free() (jaybird#719)
  • Improvement: If the default JVM time zone is a GMT offset, e.g. GMT-08:00, configure sessionTimeZone with offset only, e.g. -08:00 (jaybird#720)
  • Fixed: Executing DML with a RETURNING clause containing a blob column would return the blob-id instead of the blob value (jaybird#728)
  • Fixed: CallableStatement.getString would incorrectly trim string values (jaybird#729)
  • Fixed: ResultSetMetaData.getPrecision(int) of a connectionless result set could throw a NullPointerException if the column was of type FLOAT or DOUBLE PRECISION (jaybird#730)

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17 and 19 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.0 released

Jaybird 5 is – from a JDBC perspective – an incremental change from Jaybird 4. However, internally, Jaybird underwent some major changes, the biggest was the removal of JCA (Java Connector Architecture) support.

The major changes and new features in Jaybird 5 are:

Upgrading from Jaybird 4 to 5 should be simple, but please make sure to read Compatibility changes before using Jaybird 5. See also Upgrading from Jaybird 4 to Jaybird 5.

Bug reports about undocumented changes in behavior are appreciated. Feedback can be sent to the Firebird-java mailing list or reported on the issue tracker https://github.com/FirebirdSQL/jaybird/issues.

See also the full Jaybird 5.0.0 release notes and Firebird Type 4 JDBC Driver Downloads.

Jaybird 4.0.8 released

Jaybird 4.0.8 has been released

The following has been changed or fixed since Jaybird 4.0.7:

  • Improvement: Backported new generated keys parser from Jaybird 5 to remove dependency on ANTLR (jaybird#718) With this change, Jaybird no longer relies on antlr-runtime-4.7.2.jar, if you don’t need it yourself, you can remove this library from the classpath. See New parser for generated keys handling for more information.

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17 and 19 (support for Java 17 and 19 using the Java 11 version of the driver).

See also

Jaybird 4.0.7 released

Jaybird 4.0.7 has been released

The following has been changed or fixed since Jaybird 4.0.6:

  • Improvement: (VAR)CHAR is now sent to the server with blr_varying2 or blr_text2 which includes the character set information (jaybird#692)
  • Changed: Usages of String.toUpperCase and String.toLowerCase now use Locale.ROOT to prevent locale-sensitivity issues (jaybird#697)
  • New feature: Support for NBackup “clean history” option (jaybird#706)
    The org.firebirdsql.management.NBackupManager interface has three new methods: setCleanHistory(boolean) to enable (or disable) cleaning of history during backup, and setKeepDays(int) and setKeepRows(int) to specify the number of days or rows to keep history. These options require Firebird 4.0.3 or higher.
    This feature was backported from Jaybird 5.
  • Fixed: Calling PreparedStatement.setClob or PreparedStatement.setBlob with a null Clob, Reader, Blob, or InputStream would result in a NullPointerException (jaybird#712)
    As part of this change the behaviour of setClob methods accepting a Reader was changed to be identical to setCharacterStream, and setBlob accepting an InputStream to setBinaryStream. The end result before and after this change is identical, but it can result in different memory and performance characteristics, as the stream is now consumed on execute, and not on set.

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17 and 19 (support for Java 17 and using the Java 11 version of the driver).

See also

1 2 3 56