Firebird Documentation IndexFirebird 3.0.2 Release NotesBugs Fixed → Firebird 3.0 First Beta Release
Firebird Home Firebird Home Prev: Firebird 3.0 Second Beta Release: ImprovementsFirebird Documentation IndexUp: Bugs FixedNext: Firebird 3.0 Second Alpha Release

Firebird 3.0 First Beta Release

Core Engine
Server Crashes
API/Remote Interface
Utilities

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

Core Engine

(CORE-4576)     The Cache Writer thread could not start.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4574)     Regression: Incorrect result in subquery with aggregate.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4570)     ALTER PACKAGE was returning a wrong error.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4566)     Incorrect size of the output parameter or argument when EXECUTE BLOCK, procedure or function used a system field in the metadata character set.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4565)     GDSCODE could have value = 0 in WHEN-section under some concurrent environments. This bug affected Superclassic and Classic models but not Superserver.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4555)     A DDL trigger was remaining active after being dropped.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4530)     A DB_KEY based join of two tables could be ineffective.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4522)     DDL permissions were not protecting against removal of BLOB filters.

fixed by R. Simakov

    ~ ~ ~     

(CORE-4515)     Regression: trace was reporting UPDATEs in statistics when doing INSERT into <some_table>.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4505)     Use of a named cursor would fail if a statement was not executed.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4488)     A FOR SELECT <L> FROM <T> AS CURSOR <C> seems to return a wrong result if table <T> is modified inside the cursor's BEGIN...END block. Cursor references, which are not variables, should represent the current state of the record. If it was updated "in place" (via "where current of"), then cursor references should return the new values. The first example reported in CORE-4488 should return NULLs.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4478)     Failure to load a provider or plugin was not reported anywhere.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4477)     The field RDB$MAP_TO_TYPE was missing from the system table RDB$TYPES.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4468)     CREATE USER GRANT ADMIN ROLE did not work.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4464)     Duplicate tags for CREATE/ALTER USER were not handled correctly.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4453)     Regression: The NOT NULL constraint, if declared in a domain, did not work.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4447)     A positioned UPDATE statement would preclude its index usage for the subsequent cursor field references.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4444)     Engine could hang and block all attachments in an out-of-disk-space condition during physical backup.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4433)     GlobalRWLock could not downgrade an EX lock to SH if readers were present.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4435)     After calling release() instead of detach() for an attachment to a database in embedded mode, the attachment would remain interminably active.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4430)     Properties of a user created in Legacy_UserManager were padded with spaces up to 10 characters.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4415)     Pointless extraction of generic DDL trigger.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4396)     A query executed via EXECUTE STATEMENT was returning the wrong result.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4395)     EXECUTE STATEMENT ON EXTERNAL was not finding a Firebird 2.5 database.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4394)     "Cursor not found error" when using the legacy API.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4388)     SELECT WITH LOCK could enter an infinite loop for a single record.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4381)     Run-time errors were returning incorrect line/column information.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4379)     Explicit cursors containing correlated subqueries in the select list were performing poorly.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4376)     Preparation of an erroneous DDL statement was not indicating that the main command failed.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4375)     A procedure would execute infinitely if it contained more than 32767 statements inside any BEGIN/END block.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4374)     Truncation error when using EXECUTE STATEMENT with a BLOB.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4373)     Package compilation was not checking for duplicate names.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4372)     Deadlock could occur when two data pages contained record fragments pointing to each other.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4371)     A CREATE FUNCTION or CREATE PROCEDURE statement that referred to a non-existent exception would return the error message “Error while parsing function's BLR” instead of “exception not defined”.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4366)     A WHERE predicate containing NULL IS NOT DISTINCT FROM (select min(NULL) from ...) was returning the wrong result.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4365)     Equality predicate distribution was not working for some complex queries.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4360)     SELECT from derived table which contains GROUP BY on a column with a literal value was returning wrong results.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4354)     Parsing of a recursive query would return the error “Column does not belong to referenced table” when the source table did have such a column.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4353)     Sorting records were larger than was really necessary.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4344)     Error “no current record for fetch operation” when table inner joins procedure inner joins table.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4334)     Resources (e.g. sort files) owned by a trigger could be left unreleased when the trigger was interrupted asynchronously.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4331)     LAG, LEAD and NTH_VALUE would raise an error when the second argument was NULL.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4330)     The function LAG returned an incorrect result if the OFFSET value was assigned from a table.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4326)     The keyword SET was required in the ALTER USER statement when it should have been optional.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4318)     Regression: Predicates involving PSQL variables or parameters were not pushed inside the aggregation.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4313)     Error “Attempt to reopen an open cursor” could be raised if the query handle was reused in a different transaction.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4309)     The 'Cache Writer' record in MON$ATTACHMENTS would vanish when deleting, via delete from MON$ATTACHMENTS, another connection that was running a heavy update on a big table.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4307)     Any fields present only in the WHERE clause of a view WITH CHECK OPTION would cause an invalid CHECK CONSTRAINT violation.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4303)     Possible races during service destruction.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4301)     Non-ASCII data in SEC$USERS was not read correctly.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4286)     The error “Statement already has a cursor assigned” would be thrown when trying to execute another SQL statement using a different cursor name.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4118)     Expression index might be overlooked for derived fields or view fields.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-3305)     A “BLOB not found” error would be returned after creating or altering an invalid trigger.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-2350)     An over-long column name for a SELECT alias was not being rejected, as it should have been.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-1475)     A database which had active attachments could not be replaced from a backup file even after the database was shut down.

fixed by D. Yemanov

    ~ ~ ~     

Server Crashes

(CORE-4575)     The server would crash in the garbage collector thread at disconnect of the last attachment.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4568)     The server could crash while disconnecting from the database under load.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4510)     A database validation bug could cause the server to crash.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4506)     The server would crash when executing almost any "show ..." commands after a reconnect.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4500)     Firebird would crash after an unsuccessful remapping of the lock table's shared memory.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4498)     The server would crash when getting an explained plan for a DBKEY-based retrieval.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4422)     The server would crash when using ROW_NUMBER()over( PARTITION BY x) in an ORDER by clause.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4419)     The server could crash while sorting records longer than 128KB.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4322)     The engine would crash when aggregate or window functions were used in a recursive query.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4321)     Regression: isql was not destroying the SQL statement.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4319)     The engine would crash when the Trace config contained the line “connection_id=NN” and an attempt was made to connect to a non-existent database or alias.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4304)     The engine would crash when an attempt to REcreate a table with a foreign key was made after a syntax error that preceded the RECREATE attempt.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

API/Remote Interface

(CORE-4275)     CREATE DATABASE would fault if fbclient.dll was loaded from another directory (Providers = Engine12).

fixed by V. Khorsun

    ~ ~ ~     

Utilities

isql

(CORE-4480)     isql would issue the warning “Bad debug info format” when connecting to a database with stored functions after a restore.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4440)     isql would crash without connecting when executing the command SHOW VERSION.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4380)     isql would truncate a BLOB when reading an empty segment.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4320)     Regression: isql would crash when receiving statistics from the execution of a SQL query.

fixed by V. Khorsun

    ~ ~ ~     

gbak

(CORE-4470)     gbak restore would fail on a database containing dependency between views and packaged functions.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4425)     User collations based on UNICODE were not being upgraded to a newer ICU version on restore.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4417)     gbak refused to commit the index for a primary key with characters accented with an umlaut.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4346)     V.3 gbak was unable to restore backups made on earlier server versions.

fixed by D. Yemanov

    ~ ~ ~     

nBackup

(CORE-4461)     nBackup was printing error messages to stdout instead of stderr.

fixed by A. Peshkov

    ~ ~ ~     

qli

(CORE-4327)     qli was throwing an error when copying NULL blobs between databases.

fixed by A. Peshkov

    ~ ~ ~     

Prev: Firebird 3.0 Second Beta Release: ImprovementsFirebird Documentation IndexUp: Bugs FixedNext: Firebird 3.0 Second Alpha Release
Firebird Documentation IndexFirebird 3.0.2 Release NotesBugs Fixed → Firebird 3.0 First Beta Release