Firebird Documentation IndexFirebird 3.0.2 Release NotesBugs Fixed → Firebird 3.0 Second Beta Release: Bug Fixes
Firebird Home Firebird Home Prev: Firebird 3.0 Release Candidate 1: Bug Fixes and Minor ImprovementsFirebird Documentation IndexUp: Bugs FixedNext: Firebird 3.0 Second Beta Release: Improvements

Firebird 3.0 Second Beta Release: Bug Fixes

Core Engine
Server Crashes
API/Remote Interface
Utilities

The following bug fixes were reported prior to the v.3.0.0 Beta 2 release:

Core Engine

(CORE-4819)     failure of the engine to check the validity of RETURNING_VALUES for EXECUTE PROCEDURE and INTO for EXECUTE STATEMENT could lead to bugchecks.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4809)     HASH/MERGE JOIN was not used for more than two streams if they were joined via USING/NATURAL clauses and the join was based on DBKEY concatenations.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4806)     Regression: generators could be seen and modified by unprivileged users.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4798)     Regression: MIN() or MAX() with a join would ignore possible index navigation.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4789)     Timestamps that were out of valid range were not prevented from being cast to VARCHAR or CHAR.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4786)     When an attempt was made to insert a duplicate value into a primary or unique key column, where the length of the key was 127 characters or more, the problematic key was not shown in the error message.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4781)     Maximum string length (32765 bytes) was not being validated by the parser.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4774)     Table aliasing was being required unnecessarily when doing UPDATE ... RETURNING RDB$ pseudo-columns.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4768)     CREATE USER ... TAGS ( argument_1 = 'value1', ..., argument_N = 'valueN' ) would return wrong results from the statement when there were many arguments.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4767)     In CREATE USER ... TAGS ( attr = 'prefix #suffix' ) the character “#” in the attribute value would cause the subsequent characters to be dropped from storage.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4760)     A user with non-ascii (multi-byte) characters in the name could not be created.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4759)     A request synchronization error could occur when building an expression index.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4755)     A parameterized exception would produce wrong output when the number of arguments exceeded seven.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4754)     Manipulations with a GTT from several attachments (using EXECUTE STATEMENT with an ON EXTERNAL clause and different roles) could lead to the error “Internal Firebird consistency check (invalid SEND request (167), file: JrdStatement.cpp line: 325)”.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4753)     Firebird could hang in the embedded mode.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4752)     EXECUTE STATEMENT using BLOB parameters would result in an “Invalid BLOB ID” error.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4747)     The error “Invalid BLOB ID” could occur when retrieving MON$STATEMENTS.MON$SQL_TEXT using EXECUTE STATEMENT with an ON EXTERNAL clause with the db_connect argument unspecified.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4744)     The statement ALTER DATABASE SET DEFAULT CHARACTER SET exhibited two faults: 1) it would take effect only once for the current attachment; 2) it was not checking that the new character set existed until it was actually used.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4743)     A granted role would not work with a non-ASCII user name.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4740)     SIMILAR TO with quantifier {n,} in the pattern was failing in v.2.5 with the error “Invalid pattern” and was producing strange results in v.3.0.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4733)     The command ALTER TABLE <T> ALTER TYPE <C> DOMAIN_WITH_NOT_NULL was not verifying the data in column <C> and would make incorrect assignments in <C> to ZERO / JULIAN_DATE / ASCII(0) for types INT, TIMESTAMP and VARCHAR.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4725)     Inconsistencies were exhibited with ALTER DOMAIN and ALTER TABLE involving DROP NOT NULL and PRIMARY KEYs.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4719)     The message “Statement failed, SQLSTATE = 00000 + unknown ISC error 0” would appear when issuing REVOKE ALL ON ALL FROM <existing_user>.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4713)     A “BLOB not found” error would be thrown at rollback after inserting into a table with an expression index.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4712)     Messages stating “Error in isc_release_request() ... when working with legacy security database” were appearing in firebird.log for the Classic server when connecting with legacy authentication.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4702)     Join order was less optimal than in v2.x.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4684)     An error was being thrown while preparing a complex query (“Too many Contexts of Relation/Procedure/Views. Maximum allowed is 256”.)

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4675)     Conditions like WHERE <field> = <cursor>.<field> would not use an existing index.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4673)     A computed index based on a computed column would store NULL for all its keys.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4670)     Constraint violation errors could be swallowed in some cases.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4668)     SELECT FROM MON$TABLE_STATS did not work on Superclassic and Classic.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4665)     Search criteria would produce wrong results on WHERE <field_C> STARTING WITH <:value> ORDER BY <field_N> when field_C was the leading part of a compound index key consisting of { field_C, field_N }.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4659)     A bug was introduced when implementing support for multiple user managers, whereby the error “Missing security context for .....\SECURITY3.FDB” could appear when performing some operations where per-database security was configured.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4656)     The server could hang while chasing dead record versions.

fixed by D. Starodubov

    ~ ~ ~     

(CORE-4655)     MSVC8 and MSVC9 builds of Beta 1 were failing.

fixed by D. Starodubov

    ~ ~ ~     

(CORE-4648)     A user with the RDB$ADMIN role was denied the privilege for CREATE DATABASE.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4644)     Security context and open database errors could present under heavy concurrent load.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4634)     The error “No current record for fetch operation” could occur when the same indexed column was specified in both the WHERE and the ORDER BY clauses.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4631)     When the shared memory region backing the lock table could not be remapped, the status vector would return the error message “Lock manager out of room” without any low-level details (e.g. OS level error), thus hiding the real cause of the problem.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4624)     Firebird's handling of ':' characters in mount table entries was invalid.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4623)     PSQL variables based on “Domain” and “Type Of” referring to BLOB with sub_type < 0 were no longer working.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4622)     Triggers with the UPDATE OR INSERT statement and IIF() were not working as expected.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4618)     Rollback was failing to undo changes when a MERGE statement was updating the same target rows multiple times and the optimizer used PLAN MERGE.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4604)     EXECUTE STATEMENT was inflating the CHAR_LENGTH() size for VARCHARs.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4599)     The REPLACE() function was not working correcting with multi-byte character sets.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4583)     The embedded engine would try to load the ICU DLLs from PATH folders.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4582)     During the “linger” period, problems would occur when attempting to change some database properties.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4581)     The embedded server was trying to load UDFs from wrong place.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4572)     The incorrect error message was returned for PSQL functions when the number of actual arguments did not match the number of formal arguments.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4571)     Selecting from a table with ICU columns would fail where the database had been created on Linux with ICU 4.2.1 and then copied to Windows.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4561)     BUGCHECK(183) was thrown when using a cursor with ORDER BY ID+0 and FOR UPDATE WITH LOCK.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4539)     The server would not accept the right plan.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4507)     Procedure source could not be deleted.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4472)     The message “Modifying function <F> which is currently in use” was displayed when <F> was called from an internal function declared in another unit.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4384)     Problems would occur when a table grew beyond 65535 pointer pages.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4383)     Index and BLOBs garbage collection was not working for in-place updates.

fixed by D. Sibiryakov & D. Yemanov

    ~ ~ ~     

(CORE-4382)     User savepoints were not being released on COMMIT.

fixed by D. Sibiryakov

    ~ ~ ~     

(CORE-4369)     BUGCHECK(177) was being thrown for a MERGE involving multiple matches.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4280)     Stored PSQL functions would accept duplicate input arguments.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4161)     It was not possible to insert records into a table having a column GENERATED BY DEFAULT AS IDENTITY in its DDL.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-3373)     It was possible to store a 31-character string in a VARCHAR(25) column.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2932)     Field position would be wrong after ALTER POSITION.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-2848)     Page-level “lock conversion denied” or “lock denied” errors could occur under high load when no deadlocks were apparent.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-214)     COUNT (DISTINCT ...) was too slow.

fixed by D. Yemanov

    ~ ~ ~     

Server Crashes

(CORE-4766)     An access violation would occur on an attempt to manage the users list using EXECUTE STATEMENT on behalf of a non-SYSDBA user having the RDB$ADMIN role.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4705)     Superclassic would crash at disconnect after running EXECUTE STATEMENT as non-current user.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4653)     Infinite mutual stored procedure calls were causing the server to crash instead of returning the appropriate error, “Too many concurrent executions of the same request”.

fixed by V. Khorsun

    ~ ~ ~     

(CORE-4075)     The server would bugcheck or crash on an exception in a calculated index.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-3632)     The application would crash after calling fork() in a process using libfbembed.so.

fixed by A. Peshkov

    ~ ~ ~     

API/Remote Interface

(CORE-4795)     fbclient was executing the event callback function twice.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4794)     isc_cancel_events() was returning the error “invalid events id (handle) (code: 335545021)” if an event was no longer queued.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4788)     The Superclassic server could hang when receiving a network packet.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4785)     Bad op_execute packet would kill the server.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4756)     Events were broken in Firebird 3.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4646)     Attachment would fail when using LegacyAuth on the server and the default configuration on the client.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4639)     Linux servers could reject connections with a transliteration error.

fixed by D. Yemanov

    ~ ~ ~     

(CORE-4471)     The Legacy_Auth plugin would not connect from a FB3 to a FB2.5 server when tried after Win_Sspi.

fixed by A. Peshkov

    ~ ~ ~     

Utilities

isql

(CORE-4782)     SHOW TABLE command in isql would fail when the table contained a field with Unicode collation in its DDL.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4706)     isql was padding BLOB columns wrongly when the column alias had more than 17 characters.

fixed by A. dos Santos Fernandes

    ~ ~ ~     

(CORE-4578)     In isql, INPUT files were not being properly closed.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4503)     In isql, the command SHOW USERS would display only the current user.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4259)     The call to setlocale(LC_CTYPE, "") should not be made in isql for Windows.

fixed by F. Schlottmann-Goedde & D. Yemanov

    ~ ~ ~     

gbak

(CORE-4715)     Restore of a shadowed database would fail if the -k (“restore without shadow”) switch was used.

fixed by A. Peshkov

    ~ ~ ~     

(CORE-4704)     Permissions for generators and exceptions were being corrupted after backup/restore.

fixed by D. Yemanov

    ~ ~ ~     

gsec

(CORE-4698)     Typing add -user SYSDBA -pw masterkey -admin yes into gsec would crash firebird.exe.

fixed by V. Khorsun & A. Peshkov

    ~ ~ ~     

Prev: Firebird 3.0 Release Candidate 1: Bug Fixes and Minor ImprovementsFirebird Documentation IndexUp: Bugs FixedNext: Firebird 3.0 Second Beta Release: Improvements
Firebird Documentation IndexFirebird 3.0.2 Release NotesBugs Fixed → Firebird 3.0 Second Beta Release: Bug Fixes