Firebird Documentation Index → Firebird 2.5 Release Notes → 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-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 NULLs 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 DBKEYs 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
~ ~ ~
(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
~ ~ ~
(CORE-3908)
The engine could leak memory and crash
when a large number of autonomous transactions had been started and finished.
fixed by A. Peshkov
~ ~ ~
(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
~ ~ ~
(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
~ ~ ~
(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
~ ~ ~
(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
~ ~ ~
(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
~ ~ ~
(CORE-3932)
Using gsec, one
could create but not delete a user with user name containing double quotes.
fixed by A. Peshkov
~ ~ ~
(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
~ ~ ~
(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
~ ~ ~
(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
~ ~ ~
(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
~ ~ ~
(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
~ ~ ~
Firebird Documentation Index → Firebird 2.5 Release Notes → Bugs Fixed → Firebird 2.5.3 Release |