FrontBase 3.6.12 - Release Notes

This is a maintenance release with focus on bug fixes and improved performance, but we have added a few new features as well:

SELECT MAX(<column>) FROM <table>; has been optimized to make use of an index defined on <table>(<column> [, <other columns>]).

A new integer function called BACKUP_SIZE is now available. The returned value will tell you how large, measured in bytes, a subsequent backup (WRITE BACKUP) will be. An example of using the function:


The ORDER BY clause has been enhanced so you can now use a general expression, e.g. UPPER(<column>), as sort specification.

A severe hole in the data integrity of the SQL 92 standard has been fixed. The hole could result in rows with duplicate PRIMARY KEY and UNIQUE values, but ONLY if INSERTs were done using REPEATABLE READ, OPTIMISTIC and if more than one transaction were INSERTing rows into the same table at the same time. It is recommended, for performance reasons, that if you use REPEATABLE READ, OPTIMISTIC when INSERTing rows, all relevant PRIMARY KEY and UNIQUE constraints are defined to be DEFERRABLE, INITIALLY DEFERRED.

In some rare cases when some clients were accessing a table using REPEATABLE READ, PESSIMISTIC, and other clients were using REPEATABLE READ, OPTIMISTIC, the OPTIMISTIC locked transaction would report non existing lock conflicts.

A carriage return character outside a character literals or a double-quote escaped identifier is now treated as a linefeed character.

Use of aggregate functions in <table references> in a FROM clause could cause the server to crash.

FrontBase 3.6.12 - Bug fixes

In certain rare cases, a BLOB handle passed as an argument to a stored procedure would be handled incorrectly.

A VALUES statement in a WHILE loop in a stored procedure, referencing local variables or parameter, would either make the server crash or produce incorrect results.

INTERVAL values were incorrectly formatted in WRITE ALL flat-file exports.

DECLARE LOCAL TEMPORARY TABLE MODULE.<name> could cause the server to crash.