Skip to content

Commit ac7c161

Browse files
committed
Update JDBC support + misc copy editing
1 parent 86755f4 commit ac7c161

1 file changed

Lines changed: 12 additions & 31 deletions

File tree

src/docs/asciidoc/release_notes.adoc

Lines changed: 12 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ For known issues, consult <<known-issues>>.
3838
Future maintenance releases of Jaybird 5 may stop expanding Java support to include newly released Java versions.
3939
If you use Java 17 or higher, we recommend upgrading to Jaybird 6.
4040

41-
The following has been changed or fixed since Jaybird 5.0.10:
41+
The following has been changed or fixed since Jaybird 5.0.11:
4242

4343
* JDBC 4.5 support: `JaybirdTypeCodes.DECFLOAT` and `JaybirdType.DECFLOAT` now use value `2015` instead of `-6001` (https://github.com/FirebirdSQL/jaybird/issues/917[#917])
4444
+
4545
Applications referencing this constant may need to be recompiled to function correctly with Jaybird 5.0.12 and higher.
4646
If you use Java 26 or higher, we recommend using `java.sql.Type.DECFLOAT` and `java.sql.JDBCType.DECFLOAT` instead.
47-
* JDBC 4.5 support: implemented methods `enquoteIdentifier`, `enquoteLiteral`, `enquoteNCharLiteral`, and `isSimpleIdentifier` on `FBConnection`, and added them to interface `FirebirdConnection` so for older Java versions (https://github.com/FirebirdSQL/jaybird/issues/918[#918])
47+
* JDBC 4.5 support: implemented methods `enquoteIdentifier`, `enquoteLiteral`, `enquoteNCharLiteral`, and `isSimpleIdentifier` on `FBConnection`, and added them to interface `FirebirdConnection` for access in older Java versions (https://github.com/FirebirdSQL/jaybird/issues/918[#918])
4848
+
4949
The methods of the same name in the `java.sql.Statement` implementations now call the methods on the connection.
5050
This results in two minor breaking changes:
@@ -58,13 +58,13 @@ See also <<jdbc-escape-disable-proc>>.
5858
* Fixed: `IndexOutOfBoundsException` in `FBCachedBlob.getBytes(long, int)` for position or length beyond end of data (https://github.com/FirebirdSQL/jaybird/issues/924[#924])
5959
* Fixed: Using native client, password is limited to 255 bytes (https://github.com/FirebirdSQL/jaybird/issues/926[#926])
6060
* Fixed: Infinite loop in `FBPooledConnection#fireConnectionError(SQLException)` if the exception has a chained exception and neither is fatal (https://github.com/FirebirdSQL/jaybird/issues/928[#928])
61-
* JDBC 4.5 support: `FBDatabaseMetaData.getJDBCMinorVersion()` should report 5 (for JDBC 4.5) on Java 25 and higher (https://github.com/FirebirdSQL/jaybird/issues/929[#929])
61+
* JDBC 4.5 support: `FBDatabaseMetaData.getJDBCMinorVersion()` should report 5 (for JDBC 4.5) on Java 26 and higher (https://github.com/FirebirdSQL/jaybird/issues/929[#929])
6262
6363
[#jaybird-5-0-11-changelog]
6464
=== Jaybird 5.0.11
6565

66-
This release is not fully compatible with the upcoming JDBC 4.5 Specification to be introduced with Java 26.
67-
See <<jdbc45-compat>> for more information.
66+
This release is not fully compatible with the JDBC 4.5 Specification.
67+
For JDBC 4.5 support, upgrade to Jaybird 5.0.12 or higher, or Jaybird 6.0.5 or higher.
6868

6969
The following has been changed or fixed since Jaybird 5.0.10:
7070

@@ -421,6 +421,9 @@ Jaybird 5 supports the following specifications:
421421
|===
422422
|Specification |Notes
423423

424+
|JDBC 4.5
425+
|All JDBC 4.5 methods for features supported by Firebird.
426+
424427
|JDBC 4.4
425428
|If a security manager is available, the driver still performs `SQLPermission` checks.
426429

@@ -436,32 +439,10 @@ Java 9 and higher supported using the Java 8 or Java 11 driver.
436439
|===
437440

438441
[discrete#jdbc45-compat]
439-
==== Incompatibilities with upcoming JDBC 4.5 Specification
440-
441-
// TODO Revise/rename with state for Jaybird 6.0.5 once https://github.com/FirebirdSQL/jaybird/issues/907 is complete
442-
443-
This section applies to Jaybird 6.0.4 and earlier.
444-
445-
Java 26 (expected in March 2026) will introduce https://jcp.org/aboutJava/communityprocess/maintenance/jsr221/index5.html[JDBC 4.5^] (link to draft).
446-
Jaybird is not yet compatible with some of the specified changes.
447-
448-
Specifically affected are:
449-
450-
* Introduction of `java.sql.JDBCType.DECFLOAT` and `java.sql.Types.DECFLOAT` (value `2015`).
451-
+
452-
At this time, Jaybird still uses its own constants in `JaybirdType.DECFLOAT` and `JaybirdTypeCodes.DECFLOAT` with value `-6001`.
453-
This value will be changed to match the JDBC specified value, and the constants deprecated, in a future maintenance release of Jaybird.
454-
+
455-
Addressed in Jaybird 5.0.12.
456-
* Introduction of new methods on `java.sql.Connection` -- `enquoteIdentifier`, `enquoteLiteral`, `enquoteNCharLiteral`, and `isSimpleIdentifier`
457-
+
458-
The default implementation provided is not sufficient for Firebird, especially not when connecting to a dialect 1 database.
459-
For the time being, we recommend using the equivalent JDBC 4.3 methods (with the same name) on a `java.sql.Statement` instance of the connection.
460-
+
461-
Addressed in Jaybird 5.0.12
462-
* The JDBC escape to selectively disable escape processing ([.nowrap]`++{\ ... \}++`) is not yet implemented.
442+
==== Compatibility with the JDBC 4.5 Specification
463443

464-
We plan to address these issues in Jaybird 5 and Jaybird 6 maintenance releases _after_ the release of Java 26 (tracked by https://github.com/FirebirdSQL/jaybird/issues/907[#907]).
444+
Java 26 (March 2026) introduced https://jcp.org/aboutJava/communityprocess/maintenance/jsr221/index5.html[JDBC 4.5^] (link to draft).
445+
Since Jaybird 6.0.5 (and Jaybird 5.0.12), Jaybird is compatible with the specified changes.
465446

466447
[#support]
467448
== Support
@@ -1171,7 +1152,7 @@ This contradiction has been removed, and the implementations will now send array
11711152

11721153
JDBC 4.5 (Java 26) introduces a new JDBC escape to disable escape processing and parameter parsing within part of a statement text.
11731154
This JDBC escape has been implemented in Jaybird 5.0.12 (backported from Jaybird 6.0.5).
1174-
The escape is always parsed if escape processing is enabled (the default), no matter the Java version and the JDBC minor version reported by `DatabaseMetaData#getJDBCMinorVersion()`.
1155+
This escape is always parsed if escape processing is enabled (the default), no matter the Java version and the JDBC minor version reported by `DatabaseMetaData#getJDBCMinorVersion()`.
11751156

11761157
The "`disable escape processing`" escape starts with `++{\++` and ends with `++\}++`.
11771158
Within the escape, *all* occurrences of a backslash (`\`) *must* be escaped by doubling.

0 commit comments

Comments
 (0)