FirebirdSQL logo

Firebird 5.0 Release Candidate 2: Bug Fixes

Core Engine

#7904 — FB5 bad plan for query

Implemented by Dmitry Yemanov


#7903 — Unexpected results when using CASE-WHEN with LEFT JOIN

Implemented by Dmitry Yemanov


#7885 — Unstable error messages in services due to races related with service status vector

Implemented by Alexander Peshkov


#7879 — Unexpected results when using natural right join

Implemented by Dmitry Yemanov


#7867 — Error "wrong page type" during garbage collection on v4.0.4

Implemented by Ilya Eremin


#7853 — Do not consider non-deterministic expressions as invariants in pre-filters

Implemented by Dmitry Yemanov


#7839 — Potential bug in BETWEEN operator

Implemented by Vlad Khorsun


#7831 — Incorrect type of UDF-argument with array

Implemented by Dmitry Kovalenko


#7827 — Problem using Python firebird-driver with either Intel or M1 Mac builds with version 4.0.3 or 5.0+

Implemented by Adriano dos Santos Fernandes


#7817 — Memory leak is possible for UDF array arguments

Implemented by Dmitry Yemanov


#7795 — NOT IN <list> returns incorrect result if NULLs are present inside the value list

Implemented by Dmitry Yemanov


#7772 — Blob corruption in FB4.0.3 (embedded)

Implemented by Vlad Khorsun


#7767 — Slow drop trigger command execution under FB5.0

Implemented by Dmitry Yemanov


#7760 — Parameters inside IN list may cause a string truncation error

Implemented by Dmitry Yemanov


#7759 — Routine calling overhead increased by factor 6 vs Firebird 4.0.0

Implemented by Adriano dos Santos Fernandes


#7461 — Differences in field metadata descriptions between Firebird 2.5 and Firebird 4

Implemented by Dmitry Yemanov


Server Crashes/Hangups

#7917 — Hang in case of error when the sweep thread is attaching the database

Implemented by Alexander Peshkov


#7905 — Segfault during TIP cache initialization

Implemented by Alexander Peshkov


#7860 — Crash potentially caused by BETWEEN operator

Implemented by Vlad Khorsun


#7832 — Firebird 5 and 6 crash on "…​ RETURNING * " without INTO in PSQL

Implemented by Adriano dos Santos Fernandes


#7779 — Firebird 4.0.3 is constantly crashing with the same symptoms (fbclient.dll) (incl. DMP File Analysis)

Implemented by Vlad Khorsun


#7762 — Crash on "Operating system call pthread_mutex_destroy failed. Error code 16" in log

Implemented by Alexander Peshkov


isql

#7844 — Removing first column with SET WIDTH crashes ISQL

Implemented by Adriano dos Santos Fernandes


#7761 — Regression when displaying line number of errors in ISQL scripts

Implemented by Adriano dos Santos Fernandes


gbak

#7851 — [FB1+, GBAK, Restore] The skip of att_functionarg_field_precision does not check RESTORE_format

Implemented by Dmitry Kovalenko


#7846 — FB4 can’t backup/restore int128-array

Implemented by Dmitry Kovalenko


#7812 — Service backup does not work in multiple engines configuration

Implemented by Alexander Peshkov


#7800 — Default publication status is not preserved after backup/restore

Implemented by Dmitry Yemanov


#7770 — Restore takes 25% more time vs 4.0.0

Implemented by Vlad Khorsun


Firebird 5.0 Release Candidate 1: Bug Fixes

Core Engine

#7747 — Fix an issue where the garbage collection in indexes and blobs is not performed in VIO_backout

Fixed by Ilya Eremin


#7737 — Fix cases where the precedence relationship between a record page and a blob page is not set

Fixed by Ilya Eremin


#7731 — Display length of TIMESTAMP WITH TIMEZONE is wrong in Dialect 1

Fixed by Alexander Peshkov


#7730 — Server ignores the size of VARCHAR when performing SET BIND …​ TO VARCHAR(N)

Fixed by Alexander Peshkov


#7729 — SET BIND OF TIMESTAMP WITH TIMEZONE TO VARCHAR(128) uses the date format of Dialect 1

Fixed by Alexander Peshkov


#7727 — Index for integer column cannot be used when INT128/DECFLOAT value is being searched

Fixed by Dmitry Yemanov


#7723 — Wrong error message on login if the user doesn’t exist and WireCrypt is disabled

Fixed by Alexander Peshkov


#7713 — FOR SELECT statement can not see any changes made in DO block

Fixed by Vlad Khorsun


#7710 — Expression index — more than one null value cause attempt to store duplicate value error

Fixed by Vlad Khorsun


#7703 — Requests leak in AutoCacheRequest

Fixed by Alexander Peshkov


#7696 — SELECT from external procedure validates output parameters even when fetch method returns false

Fixed by Adriano dos Santos Fernandes


#7694 — Fix false positives of “missing entries for record X” error during index validation when a deleted record version is committed and has a backversion

Fixed by Ilya Eremin


#7691 — WITH CALLER PRIVILEGE has no effect in triggers

Fixed by Alexander Peshkov


#7683 — RDB$TIME_ZONE_UTIL.TRANSITIONS returns an infinite result set

Fixed by Adriano dos Santos Fernandes


#7676 — Error “attempt to evaluate index expression recursively

Fixed by Dmitry Yemanov


#7670 — Cursor name can duplicate parameter and variable names in procedures and functions

Fixed by Adriano dos Santos Fernandes


#7665 — Wrong result ordering in LEFT JOIN query

Fixed by Dmitry Yemanov


#7664 — DROP TABLE executed for a table with big records may lead to “wrong page type” or “end of file” error

Fixed by Vlad Khorsun, Ilya Eremin


#7662 — Fix performance issues in prepare_update()

Fixed by Ilya Eremin


#7661 — Classic Server rejects new connections

Fixed by Vlad Khorsun


#7649 — Switch Linux performance counter timer to CLOCK_MONOTONIC_RAW

Fixed by Adriano dos Santos Fernandes


#7641 — Fix wrong profiler measurements due to overflow

Fixed by Adriano dos Santos Fernandes


#7638 — OVERRIDING USER VALUE should be allowed for GENERATED ALWAYS AS IDENTITY

Fixed by Adriano dos Santos Fernandes


#7627 — The size of a database with big records becomes bigger after backup/restore

Fixed by Ilya Eremin


#7626 — Segfault when new attachment is done to shutting down database

Fixed by Alexander Peshkov


#7611 — Can’t backup/restore database from v3 to v4 with SEC$USER_NAME field longer than 10 characters

Fixed by Adriano dos Santos Fernandes


#7610 — Uninitialized/random value assigned to RDB$ROLESRDB$SYSTEM PRIVILEGES when restoring from FB3 backup

Fixed by Adriano dos Santos Fernandes


#7604 — PSQL functions do not convert the output BLOB to the connection character set

Fixed by Adriano dos Santos Fernandes


#7603 — BIN_SHR on INT128 does not apply sign extension

Fixed by Alexander Peshkov


#7599 — Conversion of text with '\0' to DECFLOAT without errors

Fixed by Alexander Peshkov


#7598 — DDL statements hang when the compiled statements cache is enabled

Fixed by Vlad Khorsun


#7582 — Missing isc_info_end in Firebird.pas

Fixed by Alexander Peshkov


#7574 — Derived table syntax allows dangling AS

Fixed by Adriano dos Santos Fernandes


#7569 — Multi-level order by and offset/fetch ignored on parenthesized query expressions

Fixed by Adriano dos Santos Fernandes


#7562 — Profiler elapsed times are incorrect in Windows

Fixed by Adriano dos Santos Fernandes


#7556 — FB Classic can hang when attempts to attach DB while it is starting to encrypt/decrypt

Fixed by Alexander Peshkov


#7555 — Invalid configuration for random fresh created database may be used after drop of another one with alias in databases.conf

Fixed by Alexander Peshkov


#7553 — Firebird 5 profiler error with subselects

Fixed by Adriano dos Santos Fernandes


#7548 — SET BIND OF TIMESTAMP WITH TIME ZONE TO CHAR is not working with UTF8 connection charset

Fixed by Adriano dos Santos Fernandes


#7537 — Wrong name in error message when unknown namespace is passed into RDB$SET_CONTEXT()

Fixed by Vlad Khorsun


#7535 — High CPU usage connect to Firebird 3 database using Firebird 4 Classic and SuperClassic service

Fixed by Vlad Khorsun


#7499 — Error during restore: “Index cannot be used in the specified plan

Fixed by Vlad Khorsun


#7488 — Invalid real to string cast

Fixed by Alexander Peshkov, Artyom Abakumov


#7486 — No initialization of rpb’s runtime flags causes problems with SKIP LOCKED when config ReadConsistency = 0 and SuperServer

Fixed by Adriano dos Santos Fernandes


#7484 — External engine SYSTEM not found

Fixed by Adriano dos Santos Fernandes


#7480 — Firebird server stops accepting new connections after some time

Fixed by Alexander Peshkov


#7456 — Impossible to drop function in package with name of PSQL-function

Fixed by Adriano dos Santos Fernandes


#7387 — Unreliable replication behaviour in Linux Classic

Fixed by Dmitry Yemanov


#7233 — Postfix for #5385 (CORE-5101): Fix slow database restore when Classic server mode is used

Fixed by Ilya Eremin


Server Crashes/Hangups

#7738 — Crash on multiple connections/disconnections

Fixed by Alexander Peshkov


#7658 — Segfault when closing database in valgrind-enabled build

Fixed by Alexander Peshkov


#7554 — Firebird 5 partial index creation causes server hang up

Fixed by Vlad Khorsun


#7514 — Segfault when detaching after deleting shadow on Classic

Fixed by Alexander Peshkov


#7504 — Segfault when closing SQL statement in remote provider during shutdown

Fixed by Alexander Peshkov


#7472 — Window functions may lead to crash interacting with others exceptions

Fixed by Adriano dos Santos Fernandes


#7464 — Crash on repeating update in 5.0

Fixed by Adriano dos Santos Fernandes


nbackup

#7579 — Cannot nbackup a Firebird 3.0 database in Firebird 4.0 service with engine12 setup in Providers

Fixed by Alexander Peshkov


Firebird 5.0 Beta 1 Release: Bug Fixes

Note

This sections enumerates only bugfixes not already fixed in maintenance releases of earlier Firebird versions.

Core Engine

#7422 — Seek in temporary blob level 0 makes read return wrong data

Fixed by Adriano dos Santos Fernandes


#7388 — Different invariants optimization between views and CTEs

Fixed by Dmitry Yemanov


#7304 — Events in system attachments (like garbage collector) are not traced

Fixed by Alex Peshkov


#7227 — Dependencies of subroutines are not preserved after backup restore

Fixed by Adriano dos Santos Fernandes


#7220 — TYPE OF COLUMN dependency not tracked in package header and external routines

Fixed by Adriano dos Santos Fernandes


#7183 — Regression when derived table has column evaluated as result of subquery with IN, ANY or ALL predicate: “invalid BLR at offset …​ / context already in use

Fixed by Adriano dos Santos Fernandes


#7164 — Multi-way hash/merge joins are impossible for expression-based keys

Fixed by Dmitry Yemanov


#7133 — ORDER BY for big (>34 digits) int128 values is broken when index on that field is used

Fixed by Alex Peshkov


#7077 — EXECUTE BLOCK (without RETURNS) do not work with batches

Fixed by Adriano dos Santos Fernandes


#7009 — IReplicatedTransaction receives wrong savepoint event

Fixed by Dimitry Sibiryakov, Dmitry Yemanov


#6942 — Incorrect singleton error with MERGE and RETURNING

Fixed by Adriano dos Santos Fernandes


#6869 — Domain CHECK-expression can be ignored when we DROP objects that are involved in it

Fixed by Adriano dos Santos Fernandes


#6807 — Regression: error “Unexpected end of command” with incorrect line/column info

Fixed by Adriano dos Santos Fernandes


#5749 — “Token unknown” error on formfeed in query

Fixed by Adriano dos Santos Fernandes


#3812 — Query with a stored procedure doesn’t accept explicit plan

Fixed by Dmitry Yemanov


#3218 — Optimizer fails applying stream-local predicates before merging

Fixed by Dmitry Yemanov


Server Crashes/Hangups

#7195 — Crash when accessing already cleared memory in the sorting module

Fixed by Andrey Kravchenko


gbak

#7436 — Backup error for wide table

Fixed by Alex Peshkov