You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: devdoc/jdp/jdp-2025-06-schema-support.adoc
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -110,11 +110,16 @@ this fulfills the JDBC requirements that a `CallableStatement` is not sensitive
110
110
** The API of `StoredProcedureMetaData` (internal API) is changed to not report selectability, but to update the `FBProcedureCall` instance with selectability and other information, like identified schema and/or package.
111
111
** For qualified *and* unambiguous procedure reference, the selectability is cached *per connection*, for unqualified or ambiguous procedure reference, the lookup is performed on each `Connection.prepareCall`, to account for search path changes
112
112
** Support for packages was missing in the handling of callable statements, and is added, also for older versions
113
-
* TODO: Define effects for management API
113
+
* Effects for management API
114
114
** `StatisticsManager`
115
115
*** `getTableStatistics` received an overload to also accept a list of schemas (`sts_schema`)
116
116
** `FBTableStatisticsManager`/`TableStatistics`
117
-
*** TODO: API and internals need to be redesigned to account for schemas
117
+
*** Internally `ObjectReference` is used for the table instead of a String
118
+
*** The key of the map returned by `getTableStatistics()` is a qualified table reference (i.e. `{<table-name> | <quoted-schema>.<quoted-table-name>}`.
119
+
For schemaless tables, the unquoted table name is used as the key for backwards compatibility when used against Firebird 5.0 and older.
120
+
*** `TableStatistics` received two extra accessors:
121
+
**** `schema()` with the schema, or empty string if schemaless (or not found)
122
+
**** `tableReference()` with the qualified table reference (i.e. `[<quoted-schema>.]<quoted-table-name>` (contrary to the key of getTableStatistics, it's always quoted!))
118
123
* TODO: Add information to Jaybird manual
119
124
120
125
Note to self: use `// TODO Add schema support` in places that you identify need to get/improve schema support, while working on schema support elsewhere
Copy file name to clipboardExpand all lines: src/docs/asciidoc/release_notes.adoc
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -565,6 +565,14 @@ we recommend to always use `null` for `catalog`
565
565
*** `getTableStatistics(String[] tableNames)` was changed to accept varargs (`getTableStatistics(String... tableNames)`)
566
566
*** Added overload `getTableStatistics(List<String> tableNames)` with same behaviour as `getTableStatistics(String... tableNames)`
567
567
*** Added overload `getTableStatistics(List<String> schemas, List<String> tableNames)` -- if `schemas` is non-empty, on Firebird 6.0 and higher, it will restrict the search for tables to the specified schemas
** For schema-bound tables, the key of the map returned by `getTableStatistics()` is a fully qualified and quoted table reference (i.e. `<quoted-schema>.<quoted-table-name>`).
570
+
For schemaless tables (Firebird 5.0 and older, or tables that were not found), the key is still the unquoted `<table-name>`.
571
+
** The static method `toTableReference(String schema, String tableName)` can be used to create a table reference in the same format as the key of the map returned by `getTableStatistics()`.
572
+
The `schema` can be `null` or empty string for schemaless tables (i.e. Firebird 5.0 or older)
573
+
** The `TableStatistics` object received additional accessors:
574
+
***`schema()` with the schema, or empty string for schemaless (Firebird 5.0 or older) or if the table was not found
575
+
*** `tableReference()` with the fully qualified and quoted table reference (i.e. `[<quoted-schema>.]<quoted-table-name>`)
0 commit comments