Firebird Documentation IndexFirebird 1.5.6 Release NotesNew Features in Firebird 1.5 → Firebird 1.5.1 Point Release Additions
Firebird Home Firebird Home Prev: Firebird 1.5.2 Point Release AdditionsFirebird Documentation IndexUp: New Features in Firebird 1.5Next: Compatibility with Older Versions

Firebird 1.5.1 Point Release Additions

(1.5.1) Introducing NPTL Builds for Higher Linuxen
(1.5.1) Services API is now fully supported on Classic
(1.5.1) GSTAT can now connect to localhost
(1.5.1) Character set NONE data now accepted "as is"
(1.5.1) Optional core dump on exceptions
(1.5.1) New collation added for Lithuanian language
(1.5.1) Small Win32 installation utility enhancement

Important

These are point release notes that augment the release notes for v.1.5.

(1.5.1) Introducing NPTL Builds for Higher Linuxen

Alex Peshkoff

Firebird Superserver has a link-time backward compatibility issue with the NPTL (Native POSIX Thread Library) that may cause it to be unstable on Linux distributions that enable the NPTL in the GNU C library, e.g. Red Hat 9, Mandrake 10, Fedora Core. The new NPTL builds of Superserver should solve these problems.

(1.5.1) Services API is now fully supported on Classic

Nickolay Samofatov

Features of GSEC and GSTAT are now supported via the Services API in CS builds. It means that the entire Services API now works in both Superserver and Classic architectures.

Known issue: GSEC doesn't deliver error status vectors to the client side if forked from the CS process. Any error will prevent the security database from being changed; but the exception is decoded by the server and the appropriate message is delivered via the API communication buffer instead of the status vector. If this situation is not handled properly by the user program, it may cause application-specific errors.

For example, IBExpert displays the message "unexpected output buffer value".

(1.5.1) GSTAT can now connect to localhost

Dmitry Yemanov

GSTAT supported only the local connection string syntax: you could not specify "localhost:<path>" to retrieve the statistics for a local database. Since Win32 Classic does not yet support the local (IPC) protocol, it wasn't possible to use GSTAT with it. Now GSTAT is fixed to enable it.

You may use either "localhost:" (for TCP/IP) or "\\.\" (for Named Pipes) to work around the Win32 Classic limitation.

Note

GSTAT still can not be run over remote databases. Because it has to open a database file directly to read the header page, it requires local access to the database file. This might change in a future version.

(1.5.1) Character set NONE data now accepted "as is"

J. Beesley, N. Samofatov

Changes were made in the engine to make the character set NONE more friendly about reading and writing data from and to fields (columns, variables) of another character set.

In Firebird 1.5.0, from a client connected with character set NONE, you could read data in two incompatible character sets-such as SJIS (Japanese) and WIN1251(Russian)-even though you could not read one of those character sets while connected from a client with the other character set. Data would be received "as is" and be stored without raising an exception.

However, from this character set NONE client connection, an attempt to update any Russian or Japanese data columns using either parameterized queries or literal strings without introducer syntax would fail with transliteration errors; and subsequent queries on the stored "NONE" data would similarly fail.

In Firebird 1.5.1, both problems have been circumvented. Data received from the client in character set NONE are still stored "as is" but what is stored is an exact, binary copy of the received string. In the reverse case, when stored data are read into this client from columns with specific character sets, there will be no transliteration error. When the connection character set is NONE, no attempt is made in either case to resolve the string to well-formed characters, so neither the write nor the read will throw a transliteration error.

This opens the possibility for working with data from multiple character sets in a single database, as long as the connection character set is NONE. The client has full responsibility for submitting strings in the appropriate character set and converting strings returned by the engine, as needed.

Abstraction layers that have to manage this can read the low byte of the sqlsubtype field in the XSQLVAR structure, which contains the character set identifier.

While character set NONE literals are accepted and implicitly stored in the character set of their context, the use of introducer syntax to coerce the character sets of literals is highly recommended when the application is handling literals in a mixture of character sets. This should avoid the string's being misinterpreted when the application shifts the context for literal usage to a different character set.

Note

Coercion of the character set, using the introducer syntax or casting, is still required when handling heterogeneous character sets from a client context that is anything but NONE.

Introducer syntax

  _ISO8859_1 'ààààà'
      

Casting

  CAST (<string> as varchar(n) character set ISO8859_1)
      

(1.5.1) Optional core dump on exceptions

Nickolay Samofatov

A debugging enhancement was added, to configure the server to abort a server process and produce a core dump when bugchecks or structured exceptions occur. The new parameter in firebird.conf is BugcheckAbort. It is off (=0) by default.

If turned on, this feature will produce a correct core dump on BUGCHECK or when an external function (UDF, BLOB filter, intl2 function) causes havoc. When BugcheckAbort is not enabled, structured exception handlers or a synchronous signal handler may mask the original cause of problem.

(1.5.1) New collation added for Lithuanian language

Jonas Jasas Jr

Collation sequence LT_LT was added for the ISO8859_13 charset.

(1.5.1) Small Win32 installation utility enhancement

Olivier Mascia

The Win32 service installer now adds a description string to the services configuration info.

Prev: Firebird 1.5.2 Point Release AdditionsFirebird Documentation IndexUp: New Features in Firebird 1.5Next: Compatibility with Older Versions
Firebird Documentation IndexFirebird 1.5.6 Release NotesNew Features in Firebird 1.5 → Firebird 1.5.1 Point Release Additions