Firebird Documentation IndexFirebird 3.0.6 Release NotesBugs Fixed → Firebird 3.0 First Alpha Release
Firebird Home Firebird Home Prev: Firebird 3.0 Second Alpha ReleaseFirebird Documentation IndexUp: Bugs FixedNext: Firebird 3.0 Project Teams

Firebird 3.0 First Alpha Release

Core Engine
API/Remote Interface
Procedural Language
Data Definition Language
Data Manipulation Language & DSQL
Command-line Utilities
International Language Support

The following improvements and bug fixes were reported as fixed prior to the v.3.0.0 release:

Core Engine

(CORE-4135)     Sweep was blocking the establishment of concurrent attachments in Superserver.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4134)     A race condition could occur when auto-sweep was started.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4074)     COMPUTED BY columns and POSITION function could produce garbled results.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4027)     Creating a table with computed fields containing SELECT FIRST could produce a corrupted result.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3973)     The SQLDA for an aliased column in a grouped query was missing the original table name, column name and owner.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3947)     Wrong results were produced when a column in the WHERE clause used the collation option (NUMERIC-SORT=1).

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3941)     A unique expression index would exhibit a memory alignment problem.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3929)     The invalid error attempted update of read-only column would appear when selecting MINVALUE from a list of more than 255 elements.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3894)     When an attempt was made to reduce the size of a CHAR or VARCHAR column, the numbers delivered in the error message were incorrect.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3874)     A computed column would appear in non-existent rows output from a left join.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3820)     Some character sets were duplicated in the system table RDB$TYPES.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3754)     SIMILAR TO was not working correctly.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3735)     An unprivileged user could delete from the system tables RDB$DATABASE, RDB$COLLATIONS and RDB$CHARACTER_SETS.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-3694)     Internal consistency check would occur in a query with grouping by subquery+stored procedure+aggregate.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3672)     It was not possible to use the SUBSTRING function to create a computed index for large columns.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3638)     Some collation tweaking: FR_CA_CI_AI collation was introduced; FR_FR was changed to be identical to FR_CA and FR_FR_CI_AI was changed to be identical to the new FR_CA_CI_AI.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3476)     The LIST function was concatenating binary blobs as though they were text.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3401)     Collation errors could occur with the use of [type of] <domain> and type of <column>.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3373)     It was possible to store a string of length 31 characters into a VARCHAR(25) column.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3338)     Regression: Code changes had disabled support for expression indexes with COALESCE, CASE and DECODE.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3317)     Success of row deletion depended on the order of insertion of the rows.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-3310)     A complex expression involving RDB$GET_CONTEXT and BETWEEN worked in DSQL but failed with a conversion error when selected in a view definition.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3260)     Interlock.h was not portable.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-3250)     The Firebird server could not be started under any user name other than root, firebird, interbas or interbase.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-3239)     The collation UTF8 UNICODE_CI could not be used in a compound index.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3204)     A constraint violation error involving CAST was not being raised inside views.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3052)     Comparisons involving multiple index segments could produce wrong result sets.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2988)     The concurrent transaction number was not being reported when a lock timeout occurred.

fixed by N. Samofatov

    ~ ~ ~     

(CORE-2957)     COUNT(*) from a big table could return a negative result.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-2952)     Character class names in SIMILAR TO expressions could be case-sensitive or case-insensitive, depending on the collation of the left part, whereas they should be unequivocally case-insensitive.

fixed by D. Sibiryakov

    ~ ~ ~     

(CORE-2932)     An ALTER TABLE..ALTER COLUMN..ALTER POSITION operation could result in wrong column positions.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2922)     The character set used in a constant was not being registered as a dependency.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2913)     COLLATE expressions were being applied incorrectly.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2798)     Plan output lacked the names of views when selecting from views that contained procedure calls.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-2796)     DB_KEY was always zero for rows in external tables.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-2678)     A full outer join could not use available indices, resulting in very slow execution sometimes.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-2508)     Use of certain choices of character in double-quoted index names, for example a bracket character, could defeat the parsing logic when generating a human-readable plan.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-2155)     A join of a stored procedure with a view or a table could fail with the error No current record for fetch operation.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-1712)     A buffer overrun error was being caught erroneously in a DOUBLE PRECISION to VARCHAR conversion in a Dialect 1 database.

fixed by C. Valderrama C.

    ~ ~ ~     

(CORE-1605)     An aggregated query was causing Bugcheck 232 (invalid operation).

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-1550)     An unnecessary index scan was executed when the same index is mapped to both WHERE and ORDER BY clauses.

fixed by D. Yemanov

    ~ ~ ~     

API/Remote Interface

(CORE-3718)     The cient library could hang after an unsuccessful attempt to connect to the remote auxiliary (events) port.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-3475)     Parameters inside the CAST function were being wrongly described in the SQLDA as non-nullable.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3269)     The client would perform detach incorrectly when the server became unavailable.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-2484)     An erroneous Success message would be returned in the error status vector when failing to connect to a trash database file.

fixed by C. Valderrama C.

    ~ ~ ~     

(CORE-2431)     String values in error messages were not converted to the connection character set.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

Procedural Language

(CORE-4018)     Use of a system domain in declarations of arguments or return values in a stored procedure could prevent the procedure from being modifiable.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3737)     EXECUTE BLOCK parameter definitions were not being respected and could cause wrong behavior with respect to character sets.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3545)     Validation of domain CHECK constraints when used in PSQL declarations was inconsistent: it was using the type of the expression, instead of the type of the variable.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3055)     The names of variables or arguments could be wrong or absent in error messages when more than 256 variables were used.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3047)     Resolution of EXECUTE BLOCK parameter collations was using wrong logic.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2204)     Constraints on stored procedure output parameters were checked even when the procedure returned no rows.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-1620)     Incorrect error message (an absurd column number) was returned if an empty SQL string was prepared for EXECUTE STATEMENT.

fixed by D. Yemanov

    ~ ~ ~     

Data Definition Language

(CORE-3114)     Attempting to drop a non-existent generator (sequence) would result in a serious exception.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3056)     Problems could occur if further DDL commands were issued in the same transaction following a CREATE COLLATION command.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2696)     The ALTER TABLE command allowed the addition of a column with a NOT NULL definition, allowing a non-savvy DBAdmin to wreck the table.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-1748)     Unrestorable backup: a problem which would occur if ALTER TABLE...ADD COLUMN added a column with a NOT NULL constraint. The fix for CORE-2696 has now made it impossible to do this.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-1518)     Adding a non-nullable column to a populated table would render the table inconsistent. The fix for CORE-2696 has now made it impossible to do this.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-1355)     Client tools tended to be confused about how to interpret a NULL that is returned from a non-nullable column. The fix for CORE-2696 has now made it impossible to add a non-nullable column to a populated table.

It is not clear, though, whether this part of the fix makes it mandatory to specify a default value for a non-nullable column.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-634)     Bad behaviour of DELETE when the WHERE clause was a subquery involving FIRST/SKIP: the operation would zap every row in the table.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-304)     Any user could alter or drop generators and exceptionsߞa metadata security hole.

fixed by D. Yemanov

    ~ ~ ~     

Data Manipulation Language & DSQL

(CORE-4144)     When when preparing a query with UNION, the error context already in use (BLR error) was wrongly being thrown.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4005)     Recursive CTEs were returning a wrong error message.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-3416)     Inserting a word containing the 8-bit character 'ä' into a CHARACTER SET ASCII column would succeed instead of throwing a transliteration error.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3201)     The internal function ATAN2 was returning an incorrect value with arguments (0, 0).

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3174)     An expression index involving TRIM could lead to an incorrect indexed lookup.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2699)     A common table expression context could be used with parameters.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2606)     A multi-byte CHAR value requested as VARCHAR was returned with padded spaces.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2238)     With UTF8 and large varchar fields, IS DISTINCT FROM would cause the error Implementation limit exceeded.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-1188)     STARTING WITH ? (where the parameter value supplied is an empty string) would fail if the plan used a compound index.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-92)     Infinite insertion cycle: INSERT INTO THIS_TABLE SELECT ... FROM THIS_TABLE would loop forever until resources were exhausted.

fixed by V. Khorsun

    ~ ~ ~     

Command-line Utilities

(CORE-2547)     Utilities did not always honour the minimum number of characters required to recognise an option.

fixed by C. Valderrama C.

    ~ ~ ~     

Other old bugs that were fixed in utilities:

FbGuard

(CORE-2784)     Guardian would keep creating more and more threads each time FBServer died.

fixed by C. Valderrama C.

    ~ ~ ~     

(CORE-1595)     Firebird Guardian's tray icon would disappear after a Windows Explorer crash.

fixed by C. Valderrama C.

    ~ ~ ~     

isql

(CORE-4137)     isql was generating metadata script output with syntax errors in the CHARACTER SET clause, e.g., CHARACTER SETISO8859_1.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-3431)     isql was padding UTF-8 data incorrectly.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2788)     isql would extract the array dimensions after the character set name.

fixed by C. Valderrama C.

    ~ ~ ~     

gbak

(CORE-3575)     gbak did not support backup volumes of size greater than 4GB.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-2740)     gbak would restore invalid views without any warning to the user.

fixed by C. Valderrama C.

    ~ ~ ~     

(CORE-2545)     Several validations were lacking in gbak.

fixed by C. Valderrama C.

    ~ ~ ~     

nbackup

(CORE-2543)     nbackup could hide the real cause of a failure.

fixed by C. Valderrama C.

    ~ ~ ~     

International Language Support

(CORE-4136)     The Sharp-S character was being treated incorrectly in the UNICODE_CI_AI collation.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

Prev: Firebird 3.0 Second Alpha ReleaseFirebird Documentation IndexUp: Bugs FixedNext: Firebird 3.0 Project Teams
Firebird Documentation IndexFirebird 3.0.6 Release NotesBugs Fixed → Firebird 3.0 First Alpha Release