Firebird Documentation IndexFirebird Vulcan Release Notes v. 1.1 → Compatibility and Portability
Firebird Home Firebird Home Prev: Symmetric Multiple Processors (SMP)Firebird Documentation IndexUp: Firebird Vulcan Release Notes v. 1.1Next: Portability

Compatibility and Portability

Table of Contents

Compatibility Issues
Portability

Firebird Vulcan implements all V1.5 features. Applications that run with Firebird 1.5 should work with Firebird Vulcan unchanged. In addition, because it was created from a pre-release version of the Firebird 2 sources, Firebird Vulcan includes a number of Firebird 2.0 features.

Compatibility Issues

Earlier ODS Versions

In the Firebird Vulcan architecture, each engine supports exactly one major On Disk Structure (ODS). Firebird 2.0 and Firebird Vulcan support ODS 11. Firebird 2.0 also supports the ODS versions supported by Firebird 1.5: 8, 9, and 10.

When moving from Firebird 1.5 to Firebird Vulcan, one must back up databases using Firebird or Firebird 2.0 and restore them with Firebird Vulcan.

An easy way to do this is to install Firebird 1.5 or Firebird 2.0 SuperServer and activate the server. Back up the database using a loopback connection (e.g. localhost:my_db) and restore it using a local connection and the Firebird Vulcan version of gbak.

Firebird 2.0 Features that are known to work

Indexes

Firebird Vulcan includes the Firebird Version 2.0 index structures, so it allows long keys up to 1/3 of the size of a page, improved garbage collection performance on long duplicate chains, correct null handling, better performance on large page sizes, expression indexes, and others.

Derived Tables

Derived tables is the formal name for the use of subqueries as data sources in the FROM clause of a select statement.

ROWS <n> [TO <m>]

An alternative to the FIRST & SKIP syntax for retrieving part of a record stream. ROWS is the syntax blessed by the SQL Standard.

UNION DISTINCT

A standard-blessed synonym for a UNION. It documents the fact that the intention is to remove duplicate rows.

Improved Type Coercion in UNIONs

Previously the types of fields selected in unions were required to match exactly. Now strings and exact numerics are automatically coerced to the largest common type.

Others

Unions allowed in ANY/ALL/IN subqueries

Built-in Function SUBSTRING() Enhanced

NULL Equivalence Rule Relaxed

New Context Variable ROW_COUNT

Subqueries and INSERT Statements Accept UNION Sets

Order By or Group By <alias-name>

GROUP BY Arbitrary Expressions

Order SELECT * Sets by Degree Number

NEXT VALUE FOR Expression Syntax

DSQL parsing of table aliases is stricter

LEAVE <label> Syntax

Buffer Cache Improvements

Optimizer Improvements

Firebird 2.0 Features that are known not to work

Execute Block

The execute block statement will require reimplementation using the internal SQL in Firebird Vulcan.

Rollback Retain

Not supported

IFF() Expressions

Handled in the parser but not elsewhere.

Others

(NULL=NULL) Can Return True for DISTINCT Test

CROSS JOIN

CURRENT_TIMESTAMP, 'NOW' Return Milliseconds

Precision specification for CURRENT_TIME and CURRENT_TIMESTAMP

Context Variables

Handling User-specified Query Plans

RETURNING Clause for Insert Statements

Explicit Cursors

Defaults for Stored Procedure Arguments

OLD Context Variables Read-only

PSQL Stack Trace

LOWER

TRIM

String Size Functions

New INTL Interface for Non-ASCII Character Sets

GBAK -RECREATE

ISQL - none of the V2 features are implemented

GSEC - no improvements

Features whose status is unknown

Call a UDF as a Void Function

Improved PLAN Clause

New Security Features

Nbak/Nbackup

UDF changes

Prev: Symmetric Multiple Processors (SMP)Firebird Documentation IndexUp: Firebird Vulcan Release Notes v. 1.1Next: Portability
Firebird Documentation IndexFirebird Vulcan Release Notes v. 1.1 → Compatibility and Portability