FirebirdSQL logo

since Firebird 4.0 release

New Minor ODS Number

Firebird 5.0 creates databases with an ODS (On-Disk Structure) version of 13.1. It can also work with databases created in ODS 13.0 (by Firebird 4.0), but some new features will be unavailable.

See [rnfb50-engine-inline-upgrade] for a new method of upgrading an ODS 13.0 database to 13.1.

New System Tables

System tables added in ODS 13.1:

RDB$KEYWORDS

Virtual table that enumerates keywords used by the SQL parser

MON$COMPILED_STATEMENTS

Virtual table that reports compiled statements

New Columns in System Tables

  • RDB$CONDITION_SOURCE and RDB$CONDITION_BLR were added to the system table RDB$INDICES, they belong to the partial indices feature

  • MON$SESSION_TIMEZONE was added to virtual table MON$ATTACHMENTS

  • MON$COMPILED_STATEMENT_ID was added to the virtual tables MON$STATEMENTS and MON$CALL_STACK

  • SEC$DESCRIPTION was added to virtual table SEC$GLOBAL_AUTH_MAPPING

Application Programming Interfaces

The wire protocol version for the Firebird 5.0 API is 18. Additions and changes are described in the sections below.

Main API Extensions

A number of new methods have been added to the following interfaces.

ResultSet

void getInfo(Status status,
             uint itemsLength, const uchar* items,
             uint bufferLength, uchar* buffer);

Used to query cursor information. Currently, only one information item is supported, INF_RECORD_COUNT. INF_RECORD_COUNT returns the number of records cached by the scrollable cursor, or -1 for a uni-directional (forward-only) cursor.

Extensions to various getInfo() Methods

Statement::getInfo()

The following actions were added:

isc_info_sql_exec_path_blr_bytes

Execution path as BLR (binary format)

isc_info_sql_exec_path_blr_text

Execution path as BLR (textual format)

Services API Extensions

Support for parallel operations

Added support for parallel operations.

The following options were added:

isc_spb_bkp_parallel_workers

number of parallel workers for backup

isc_spb_res_parallel_workers

number of parallel workers for restore

isc_spb_rpr_par_workers

number of parallel workers for sweep

Examples of use of new parameters in fbsvcmgr utility (login and password were left out for brevity):

fbsvcmgr -action_backup -bkp_parallel_workers 4 <dbname> <backupname>
fbsvcmgr -action_restore -res_parallel_workers 4 <backupname> <dbname>
fbsvcmgr -action_repair -rpr_sweep_db -rpr_par_workers 4 <dbname>

Support for gfix -upgrade

Added support for minor ODS upgrade.

The following option was added:

isc_spb_rpr_upgrade_db

upgrade database

Example of use of new parameter in fbsvcmgr utility (login and password were left out for brevity):

fbsvcmgr -action_repair -rpr_upgrade_db <dbname>