Bugs fixed Firebird 2.5.3 release
<< Bugs fixed | Firebird 2.5.3 Release Notes | Firebird 2.5.2 security update 1, March 2013 >>
Bugs fixed
Firebird 2.5.3 release
The following improvements and bug fixes were reported as fixed prior to the v.2.5.3 release:
Core engine
(CORE-4460) Expressions containing some built-in functions might not have been optimized well.
fixed by D. Yemanov
~ ~ ~
(CORE-4444) The engine could hang and block all attachments in an out-of-disk-space condition during physical backup.
fixed by V. Khorsun
~ ~ ~
(CORE-2648) Writes to nBackup
's delta file were ignoring the Forced Writes database setting.
fixed by V. Khorsun
~ ~ ~
(CORE-4433) The global read/write lock (GlobalRWLock
) could not downgrade EX lock to SH if readers were present.
fixed by V. Khorsun
~ ~ ~
(CORE-4372) Deadlock was possible when two data pages contained record fragments pointing to each other.
fixed by V. Khorsun
~ ~ ~
(CORE-4353) Sorting records were unnecessarily large.
fixed by D. Yemanov
~ ~ ~
(CORE-4302) Lookup (or scan) in a descending index could be very inefficient for some keys.
fixed by V. Khorsun
~ ~ ~
(CORE-4299) Error Inappropriate self-reference of column when using WITH CHECK OPTION
with the EXTRACT()
function.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4283) Resource temporarily unavailable errors while registering events simultaneously.
fixed by A. Peshkov
~ ~ ~
(CORE-4251) The Guardian service could write garbage after the end of the message in the Event Log.
fixed by V. Khorsun
~ ~ ~
(CORE-4250) An access violation could occur in the Guardian at process shutdown.
fixed by V. Khorsun
~ ~ ~
(CORE-4216) Memory leak with TRIGGER ON TRANSACTION COMMIT
.
fixed by V. Khorsun
~ ~ ~
(CORE-4214) A global temporary table (GTT) could refer to a permanent relation, which it should not be able to do.
fixed by V. Khorsun
~ ~ ~
(CORE-4211) The embedded engine could hang for 5 seconds while closing, with errors about timeout in shutdown process and invalid mutex placed in firebird.log.
fixed by A. Peshkov
~ ~ ~
(CORE-4198) An incorrect token unknown error was raised when an SQL string ended with a hex number literal.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4145) Memory would leak during preparation of an EXECUTE BLOCK
that used domains.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4144) The error context already in use (BLR error) was raised when preparing a query with UNION
.
fixed by V. Khorsun
~ ~ ~
(CORE-4143) Memory was leaking in fbembed.dll
.
fixed by V. Khorsun
~ ~ ~
(CORE-4139) The error invalid stream could be raised in some cases while matching a computed index.
fixed by D. Yemanov
~ ~ ~
(CORE-4135) Sweep was blocking establishment of concurrent attachments in Superserver.
fixed by V. Khorsun
~ ~ ~
(CORE-4134) Race conditions could arise when auto-sweep was started.
fixed by V. Khorsun
~ ~ ~
(CORE-4118) An expression index might not be used for derived fields or view fields.
fixed by D. Yemanov
~ ~ ~
(CORE-4117) A COMPUTED BY
field was being evaluated as NULL
if used as an exception parameter directly.
fixed by D. Yemanov
~ ~ ~
(CORE-4113) EXECUTE BLOCK
prepare was failing.
fixed by D. Yemanov
~ ~ ~
(CORE-4102) Optimization of OR
predicates was poor when applied to unions.
fixed by D. Yemanov
~ ~ ~
(CORE-4101) Invalid I/O error during write operation entries would appear in the firebird.log
when no such database error existed.
fixed by V. Khorsun
~ ~ ~
(CORE-4100) Automatic sweep could be run when there was no need for it.
fixed by V. Khorsun
~ ~ ~
(CORE-4083) Full outer join in derived table with COALESCE
(or IIF
) was not returning NULL
s correctly.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4058) Remote stack buffer overflow in the server.
fixed by A. Peshkov and released in the special release Firebird 2.5.2 Update 1 (details below).
~ ~ ~
(CORE-4050) SQL Dialect was not being set in internal connections to the security database.
fixed by A. Peshkov
~ ~ ~
(CORE-4051) Memory was leaked when sorting records larger than 32 KB.
fixed by V. Khorsun
~ ~ ~
(CORE-4038) Optimization for stored DBKEY
s was broken.
fixed by D. Yemanov
~ ~ ~
(CORE-4036) Bugcheck or database corruption could occur when attempting to store long, incompressible data into a table.
fixed by D. Yemanov
~ ~ ~
(CORE-4005) A failing recursive CTE would return the wrong error message.
fixed by V. Khorsun
~ ~ ~
(CORE-4004) Sometimes long-running operations could not be interrupted by asynchronous shutdown / cancellation requests.
fixed by D. Yemanov
~ ~ ~
(CORE-4002) The error message index unexpectedly deleted could appear in a database trigger ON COMMIT TRANSACTION
.
fixed by V. Khorsun
~ ~ ~
(CORE-3989) Bad performance or slow response were exhibited when many concurrent sorts were being executed.
fixed by D. Yemanov, V. Khorsun
~ ~ ~
(CORE-3981) Predicate checking was sub-optimal while selecting from a view.
fixed by D. Yemanov
~ ~ ~
(CORE-3978) Invalid transaction counters could be reported in firebird.log
during a sweep.
fixed by D. Yemanov
~ ~ ~
(CORE-3940) I/O error during GetFileSize
operation for file XXXX
.
fixed by V. Khorsun
~ ~ ~
(CORE-3924) Bugcheck 291 (cannot find record back version) if a global temporary table (GTT) was modified concurrently with at least one read-committed read-only transaction.
fixed by D. Yemanov
~ ~ ~
(CORE-3921) Error record disappeared (186), file: vio.cpp line: 408, in company with CPU at 100 per cent (when bugcheckabort=1
and sweep starts at gap ~21000).
fixed by V. Khorsun
~ ~ ~
(CORE-3916) A false validation error could occur for large tables, viz., Index x is corrupt (missing entries) in table ...
fixed by V. Khorsun
~ ~ ~
(CORE-3902) Derived fields might not be optimized by use of an index.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-3874) Computed column was appearing in non-existent rows of a left-joined set.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-3817) Forced database shutdown did not work if a non-zero delay was specified.
fixed by D. Yemanov
~ ~ ~
(CORE-3360) UPDATE ... RETURNING ...
would raise error -551
(no permission to update) for a column present only in the RETURNING
clause.
fixed by A. Peshkov
~ ~ ~
(CORE-3305) BLOB not found error was being raised after creating or altering an invalid trigger.
fixed by D. Yemanov
~ ~ ~
(CORE-2848) lock conversion denied or lock denied error was being raised when contention was relatively high.
fixed by V. Khorsun
~ ~ ~
(CORE-2648) Writes to nBackup
's delta file were ignoring the Forced Writes database setting.
fixed by V. Khorsun
~ ~ ~
(CORE-2165) An unnecessary index read could occur when using a strict inequality condition.
fixed by V. Khorsun
~ ~ ~
(CORE-1604) An error would be raised at database creation if the user had a non-ascii name.
fixed by D. Yemanov
~ ~ ~
(CORE-1475) A database which had active attachments could not be replaced from a gbak
backup file even after the database was shut down.
fixed by D. Yemanov
~ ~ ~
(CORE-1295) Queries with DB_KEY
were poorly optimized.
fixed by D. Yemanov
~ ~ ~
Improvements
(CORE-4445) Physical backup (using ALTER DATABASE BEGIN/END BACKUP
or the nBackup
utility) was improved to speed up extension of the main database file when backup state changes from stalled to merge.
implemented by V. Khorsun
~ ~ ~
(CORE-4443) Fast file growth has been enabled on Linux systems that support fallocate()
.
implemented by V. Khorsun
~ ~ ~
(CORE-4432) Attachments no longer block others when the allocation table is being read for the first time.
implemented by V. Khorsun
~ ~ ~
(CORE-4431) Contention for the allocation table lock while a database is in the stalled physical backup state has been reduced.
implemented by V. Khorsun
~ ~ ~
(CORE-4386) More details are now reported for object in use errors.
implemented by D. Yemanov
~ ~ ~
(CORE-4252) The relation name is now added to the text of validation contraint error messages, to help identify the error context.
implemented by V. Khorsun
~ ~ ~
(CORE-4215) Execution of a SET STATISTICS INDEX
statement no longer blocks or slows down concurrent attachments.
implemented by V. Khorsun
~ ~ ~
(CORE-3994) The scan for limbo transactions scan at the end of a sweep has been improved.
implemented by D. Yemanov
~ ~ ~
(CORE-3881) Error reporting for index and constraint violations has been extended to include the problematic key value.
implemented by D. Yemanov
~ ~ ~
(CORE-3704) New context variables have been added to the SYSTEM
namespace to retrieve more information about the current connection and current transaction.
The added variables: SYSTEM::CLIENT_PID
and SYSTEM::CLIENT_PROCESS
for the current connection, SYSTEM::LOCK_TIMEOUT
and SYSTEM::READ_ONLY
for the current transaction.
implemented by D. Yemanov
~ ~ ~
(CORE-4438) Support for the UPDATE OR INSERT
statement has been implemented for Embedded SQL (ESQL).
implemented by D. Yemanov
~ ~ ~
(CORE-4437) Support for the RETURNING
clause has been implemented for Embedded SQL (ESQL).
implemented by D. Yemanov
~ ~ ~
(CORE-4047) The maximum number of input parameters for external functions (UDFs) has been increased to 15.
implemented by A. dos Santos Fernandes
~ ~ ~
Server crashes
(CORE-4319) The engine could crash when the trace config contained the line connection_id=NN
and an attempt was made to connect to a non-existent database/alias.
fixed by V. Khorsun
~ ~ ~
(CORE-4300) The server would terminate abnormally when iscDatabaseInfo()
was called with buffer size = 0
.
fixed by D. Yemanov
~ ~ ~
(CORE-4267) The server could crash while sweeping a database.
fixed by D. Yemanov
~ ~ ~
(CORE-4212) Dropping a foreign key constraint on a global temporary table (GTT) would crash the server.
fixed by V. Khorsun
~ ~ ~
(CORE-4127) When encountering an oversized key, the server would crash instead of reporting the error key size exceeds implementation restriction.
fixed by D. Yemanov
~ ~ ~
(CORE-4123) The server could crash when executing a stored procedure called by a trigger that converts string to uppercase.
fixed by D. Yemanov
~ ~ ~
(CORE-4121) A segmentation fault could occur when the engine was shutting down inside a BLOB GET/PUT
function that was invoked from a UDF.
fixed by A. Peshkov
~ ~ ~
(CORE-4093) The server would crash while converting an overscaled numeric to a string.
fixed by D. Yemanov
~ ~ ~
(CORE-4045) The server could crash during database shutdown.
fixed by D. Yemanov
~ ~ ~
(CORE-3996) Firebird would crash when trying to create a database in a restricted path.
fixed by A. Peshkov
~ ~ ~
(CORE-3993) The server could terminate or crash while shutting down a database with in-progress attachments.
fixed by A. Peshkov
~ ~ ~
(CORE-3988) The engine could crash when trace or audit was active.
fixed by V. Khorsun
~ ~ ~
(CORE-3979) The server could crash while unwinding changes in an autonomous transaction.
fixed by D. Yemanov
~ ~ ~
(CORE-3944) The server would crash when running a script that deleted attachments and moved the database offline.
fixed by A. Peshkov
~ ~ ~
([[https://tracker.firebirdsql.org/browse/CORE-3908 | CORE-3908]9) The engine could leak memory and crash when a large number of autonomous transactions had been started and finished.
fixed by A. Peshkov
~ ~ ~
Stored procedure/trigger language (PSQL)
(CORE-4247) DELETE WHERE CURRENT OF {cursor}
was failing for tables with newly added fields.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4244) Problem with creating a procedure that entailed concatenating text in the DOS864 character set.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4233) In PSQL modules with declared cursors, the engine could assign a value to the wrong variable.
fixed by V. Khorsun
~ ~ ~
(CORE-4210) Comments for output parameters were not being preserved after altering procedures.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4204) An error would be raised when compiling a procedure containing the statement IF (x = (SELECT ...))
.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-3054) User role was not being passed through the external EXECUTE STATEMENT
call.
fixed by V. Khorsun
~ ~ ~
(CORE-3998) Parameterized EXECUTE STATEMENT
calls could fail.
fixed by V. Khorsun
~ ~ ~
(CORE-3895) High memory usage was exhibited when PSQL code selected from a stored procedure that had modified some data.
fixed by V. Khorsun
~ ~ ~
International language support
(CORE-4136) The Sharp-S character was treated incorrectly in the UNICODE_CI_AI
collation.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4125) Using COLLATE UNICODE_CI_AI
in a non-indexed WHERE
clause was extremely slow.
fixed by A. dos Santos Fernandes, T. Martir
~ ~ ~
(CORE-3949) UNICODE
collations would not work with ICU 49
.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2912) An exception would be raised when uppercasing a string containing lowercase y trema (code 0xFF
in ISO8859_1
).
fixed by A. dos Santos Fernandes
~ ~ ~
Command-line utilities
gfix
(CORE-4297) gfix
would crash when the description of a limbo transaction in RDB$TRANSACTIONS
had a size larger than 1KB.
fixed by V. Khorsun
~ ~ ~
fbsvcmgr
(CORE-4298) fbsvcmgr
was failing to recognise sts_record_versions
and other sts
switches.
fixed by A. Peshkov
~ ~ ~
(CORE-3969) Memory would leak when doing a lot of iterations of fbsvcmgr
with action_trace_start
, _list
and _stop
.
fixed by V. Khorsun
~ ~ ~
fbtracemgr
gbak
(CORE-4417) gbak
was unable to commit an index or primary key containing characters with the German umlaut.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-3995) Switches -V
and -Y
were partially broken in v.2.5.2.
fixed by A. Peshkov
~ ~ ~
gsec
(CORE-3932) Using gsec
, one could create but not delete a user with user name containing double quotes.
fixed by A. Peshkov
~ ~ ~
qli
(CORE-4327) Error in qli
when copying NULL
blobs between databases.
fixed by A. Peshkov
~ ~ ~
isql
(CORE-4137) isql
was returning erroneous metadata from -extract
. Specifically, it would omit the space between the data type and character set arguments of a PSQL variable definition, thus causing a syntax error in the output script.
fixed by A. dos Santos Fernandes
~ ~ ~
Database monitoring/administration
(CORE-4010) Fetch could not be subsequently interrupted via DELETE FROM MON$STATEMENTS
.
fixed by D. Yemanov
~ ~ ~
(CORE-3977) DELETE FROM MON$STATEMENTS
would not interrupt a statement that was engaged in a fairly long fetch.
fixed by D. Yemanov
~ ~ ~
(CORE-3935) Could not connect to database via TCP/IP after DELETE FROM MON$ATTACHMENTS
had been issued on a different database on the same machine.
fixed by A. Peshkov
~ ~ ~
Trace/Audit
(CORE-4225) The server could crash when attempting to trace activity on a database having a database-level trigger.
fixed by V. Khorsun
~ ~ ~
(CORE-4094) Wrong parameter order was exhibited in trace output.
fixed by V. Khorsun
~ ~ ~
(CORE-3970) Trace was using an imprecise timer in POSIX.
fixed by A. Peshkov
~ ~ ~
Services Manager
(CORE-4303) Race conditions could arise during destruction of a service.
fixed by A. Peshkov
~ ~ ~
(CORE-4224) Database replace through the Services API was failing.
fixed by A. Peshkov
~ ~ ~
(CORE-3942) Some issues with error messages were evident when restoring from a gbak
backup using the Services API.
fixed by A. Peshkov
~ ~ ~
Windows-specific
(CORE-3243) CURRENT_USER
and MON$USER
would raise an error for trusted authentication.
fixed by D. Yemanov
~ ~ ~
(CORE-3183) fbembed.dll
would not load icuin30.dll
from the same folder as itself.
fixed by V. Khorsun
~ ~ ~
Improvements
(CORE-4439) The maximum number of connections on Windows for Superserver and Superclassic has been raised from 1024 to 2048 connections.
implemented by P. Beach
~ ~ ~
POSIX-specific
(CORE-4031) make install was wrong under Debian Ubuntu 64.
-fixed by A. Peshkov
~ ~ ~
(CORE-4011) Start/stop status was not being detected for SuperClassic and SuperServer running under Red Hat and Mageia.
fixed by P. Makowski
~ ~ ~
back to top of page
<< Bugs fixed | Firebird 2.5.3 Release Notes | Firebird 2.5.2 security update 1, March 2013 >>