Firebird Documentation Index → Firebird 2.5 Release Notes → Bugs Fixed → Firebird 2.5.2 Release |
The following improvements and bug fixes were reported as fixed prior to the v.2.5.2 release:
(CORE-3727)
Improvement ::
Support was added for C preprocessor flags in the Firebird build system.
implemented by A. Peshkov
~ ~ ~
(CORE-3656)
Improvement ::
Support for sweep information in Trace API.
implemented by V. Khorsun
~ ~ ~
(CORE-3598)
Improvement ::
TRACE now produces statistics of actions that happen after a transaction has finished.
implemented by V. Khorsun
~ ~ ~
(CORE-3539)
Improvement ::
TRACE now provides the ability to log errors that occur in runtime (lock conflicts, key violations, et al.)
implemented by V. Khorsun
~ ~ ~
(CORE-2668)
Improvement ::
A note is now written into firebird.log when an automatic sweep is started.
implemented by V. Khorsun
~ ~ ~
(CORE-2666)
Improvement ::
It is now possible to use the API to do a
remote backup/restore.
See also /doc/README.services_extension
in your Firebird installation.
implemented by A. Peshkov
~ ~ ~
(CORE-3877)
The functions CHAR_TO_UUID and UUID_TO_CHAR worked
wrongly on big-Endian platforms.
Fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-3855)
Blobs inserted into GLOBAL TEMPORARY
TABLE ON COMMIT DELETE ROWS could be placed into newly allocated pages even if there was enough
free space on an existing data page.
Fixed by V. Khorsun
~ ~ ~
(CORE-3853)
A database created in Firebird 2.5.1
could cause the “IS NULL” predicate to be evaluated differently if that database
was used with Firebird 2.5.0.
Fixed by D. Yemanov
~ ~ ~
(CORE-3844)
Validation was failing to detect a certain
case of index corruption.
Fixed by V. Khorsun
~ ~ ~
(CORE-3841)
A database could be left corrupted when rows
were inserted.
Fixed by V. Khorsun
~ ~ ~
(CORE-3825)
When a transaction started with the
isc_tpb_autocommit option) tried to run DDL using EXECUTE STATEMENT, it would
produce a bugcheck 287 (“too many savepoints”).
Fixed by V. Khorsun
~ ~ ~
(CORE-3799)
The WITH CALLER PRIVILEGES option would not
work with the AUTONOMOUS TRANSACTION option.
Fixed by V. Khorsun
~ ~ ~
(CORE-3792)
Performance of batch inserts was degraded.
Fixed by V. Khorsun
~ ~ ~
(CORE-3791)
Performance would degrade when the engine
was actively working with databases bigger than the available amount of RAM.
Fixed by N. Samofatov, D. Yemanov
~ ~ ~
(CORE-3761)
A conversion error could occur when using
a BLOB as an argument for the EXCEPTION statement.
Fixed by D. Yemanov
~ ~ ~
(CORE-3730)
The function isc_dsql_exec_immed2()
would lose an input parameter value when passing it to the RETURNING clause.
Fixed by D. Yemanov
~ ~ ~
(CORE-3722)
IS NOT DISTINCT FROM NULL was not using
an index when it could have done so.
Fixed by D. Yemanov
~ ~ ~
(CORE-3697)
A string truncation error could occur
when selecting from a VIEW with UNION inside.
Fixed by D. Yemanov
~ ~ ~
(CORE-3692)
It was impossible to drop a NOT NULL
constraint on a column participating in a UNIQUE constraint.
Fixed by D. Yemanov
~ ~ ~
(CORE-3690)
Wrong warning messages were being
returned for some ambiguous queries.
Fixed by V. Khorsun
~ ~ ~
(CORE-3677)
Utilities had to be prevented from
exporting entry points due to bugs that can occur when they were used with some external
functions in embedded mode.
The only exception is the Superserver binary, which must export the ISC API.
Fixed by A. Peshkov
~ ~ ~
(CORE-3675)
CREATE INDEX was treating NULL and
empty string in compound indices as though they were the same.
Fixed by D. Yemanov
~ ~ ~
(CORE-3631)
Duplicate records with NULLs were being
checked incorrectly.
Fixed by V. Khorsun
~ ~ ~
(CORE-3610)
It was possible to insert duplicate keys
into a unique index.
Fixed by V. Khorsun
~ ~ ~
(CORE-3601)
Incorrect TEXT BLOB charset transliteration
was occurring on VIEWs with triggers.
Fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-3599)
Dropping the system role RDB$ADMIN was
allowed.
Fixed by A. Peshkov
~ ~ ~
(CORE-3579)
A table could not be dropped
when a computed column depended on another column that was created after it.
Fixed by V. Khorsun
~ ~ ~
(CORE-3557)
The server would crash while preparing a
query against a table that was in the process of being dropped.
Fixed by V. Khorsun
~ ~ ~
(CORE-3490)
Concurrency problems could occur when
named cursors were being used.
Fixed by D. Yemanov
~ ~ ~
(CORE-3238)
Make GEN_UUID()
return a compliant RFC-4122 binary UUID.
Fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-3092)
ROW_COUNT was not being cleared before
the singleton INSERT statement.
Fixed by D. Yemanov
~ ~ ~
(CORE-2457)
UNICODE_CI collation was causing an
internal gds software consistency check.
Fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1997)
Foreign key handling for multi-segmented
index using multi-level collations was broken.
Fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1992)
Error “bad BLR -- invalid stream
for union select” was being thrown inappropriately.
Fixed by D. Yemanov
~ ~ ~
(CORE-927)
Grants would not work for procedures
used inside views.
Fixed by D. Yemanov
~ ~ ~
(CORE-3884)
The server could crash on preparing an
empty query when trace was enabled.
Fixed by D. Starodubov, V. Khorsun
~ ~ ~
(CORE-3873)
The server could crash while switching to the
shadow if a disk I/O fault happened while flushing the cache.
Fixed by D. Yemanov
~ ~ ~
(CORE-3834)
Using a NATURAL JOIN with a derived table
could crash the server.
Fixed by D. Yemanov
~ ~ ~
(CORE-3814)
The SuperClassic server could crash when
performing a database shutdown with Forced Writes off.
Fixed by V. Khorsun, D. Yemanov
~ ~ ~
(CORE-3636)
The Trace API was causing the v.2.5.1 server
to crash.
Fixed by V. Khorsun
~ ~ ~
(CORE-3627)
The server could crash with an access
violation when inserting a row into a table with a unique index.
Fixed by A. Peshkov
~ ~ ~
(CORE-3807)
Error “Invalid expression in the
select list” could be raised unexpectedly if a string literal were used inside a GROUP BY
clause in a multi-byte connection.
Fixed by D. Yemanov, A. dos Santos Fernandes
~ ~ ~
(CORE-3806)
Wrong data was being returned when a subquery
or a computed field referred to the base table in the ORDER BY clause.
Fixed by D. Yemanov
~ ~ ~
(CORE-3777)
Unexpected “conversion error from
string” errors could occur when using GROUP BY.
Fixed by D. Yemanov
~ ~ ~
(CORE-3683)
Wrong results were being produced if a
recursive query contained an embedded GROUP BY clause.
Fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-3736)
The WITH LOCK clause was being allowed
for users with read-only rights on some table, thus blocking others from updating that table.
Fixed by A. Peshkov
~ ~ ~
(CORE-3611)
Wrong results could occur while retrieving
from CTEs or derived tables where the same column names were repeated.
Fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-3686)
Incorrect (zero) values were being
reported for “acquire blocks” and “mutex wait” counters in the
fb_lock_print output.
Fixed by D. Yemanov
~ ~ ~
(CORE-3658)
The fbsvcmgr utility
was connecting to the server under the operating system user name instead of the value of the
ISC_USER environment variable.
Fixed by A. Peshkov
~ ~ ~
(CORE-3770)
The fbtracemgr
utility would load CPU up to around 55 per cent when no activity was present.
Fixed by A. Peshkov
~ ~ ~
(CORE-3769)
Message “Unknown tag (4) in
isc_svc_query() results” would appear when fbtracemgr was
interrupted by Ctrl-C.
Fixed by A. Peshkov
~ ~ ~
(CORE-3875)
gbak was failing to
check parameters correctly and would back up a random database specified
with -B “:”.
Fixed by A. Peshkov
~ ~ ~
(CORE-3802)
Firebird 2.5.1 could run out of memory
while restoring from a database backup.
Fixed by A. dos Santos Fernandes, D. Yemanov
~ ~ ~
(CORE-3733)
gbak was failing
to fix the system generators while restoring.
Fixed by A. Peshkov
~ ~ ~
(CORE-3649)
gbak was deleting
the backup file even if an error occurred after it had already already been successfully closed.
Fixed by A. Peshkov
~ ~ ~
(CORE-3762)
gsec would return
a zero return code (“no error”) on some errors.
Fixed by A. Peshkov
~ ~ ~
(CORE-3810)
In isql, a division
by zero and a core dump would result when the “-pag 0” command switch was used with a
SQL script that included the SET HEADING directive.
Fixed by V. Khorsun
~ ~ ~
(CORE-3625)
MON$IO_STATS was not reporting page writes
performed asynchronously (at the AST level).
Fixed by D. Yemanov
~ ~ ~
(CORE-2286)
Selecting from MON$CALL_STACK within a
PSQL module would sometimes return zero rows.
Fixed by D. Yemanov
~ ~ ~
(CORE-3860)
A faulty database filter in the Trace API
could crash the server.
Fixed by V. Khorsun
~ ~ ~
(CORE-3845)
When a “heavy” query was
interrupted, its duration would be logged as zero milliseconds in trace statistics.
Fixed by V. Khorsun
~ ~ ~
(CORE-3612)
gfix-related services
could lose an error value in the status vector in isc_service_start().
Fixed by A. Peshkov
~ ~ ~
(CORE-3912)
SuperClassic was exhibiting a segmentation
fault because the GlobalPtr<> for variable INET_select
was missing.
Fixed by A. Peshkov
~ ~ ~
(CORE-3750)
Increasing limits on POSIX could give
rise to errors.
Fixed by A. Peshkov
~ ~ ~
(CORE-3721)
The multi-user server startup script (/etc/init.d)
was picking up the ISC_ variables if they were set.
Fixed by A. Peshkov
~ ~ ~
(CORE-3646)
Segmentation faults were occurring in
FreePascal multi-threaded programs when using the v.2.5.x client library on Linux.
Fixed by A. Peshkov
~ ~ ~
(CORE-3609)
Option -t was being displayed twice by
fb_inet_server -h.
Fixed by A. Peshkov
~ ~ ~
(CORE-3607)
Solaris does not define the
RLIMIT_NPROC limit, thus causing compilation of src/remote/inet_server.cpp to fail
on that platform.
Fixed by A. Peshkov
~ ~ ~
(CORE-3606)
Linker commands that use a C or C++
compiler should apply CFLAGS and CXXFLAGS respectively, to avoid compilation problems on
Solaris.
Fixed by A. Peshkov
~ ~ ~
(CORE-3605)
GLOB_OPTIONS mixed CFLAGS and CXXFLAGS
as though they were interchangeable across platforms; yet they could have exclusive differences,
due to differences in compiler implementations.
Fixed by A. Peshkov
~ ~ ~
(CORE-3911)
The API entry points Bopen
and BLOB_open
were not visible on Mac OSX.
Fixed by A. Peshkov
~ ~ ~
(CORE-3786)
Firebird 2.5.1 Classic (32-bit) would hang
on creating a database in isql immediately after a reboot. Note, if
isql was then killed, retrying the operation would succeed and would not
fail again until the next reboot. The problem was reproducible about 90% of the time.
Fixed by P. Beach, A. Peshkov
~ ~ ~
(CORE-3740)
SELECT using the IN() operator with 153
or more elements in the argument would cause a crash in the standard 64-bit binary. This turned
out to be an issue with the optimization set (flag -O3) used with the compiler.
Fixed by P. Beach, A. Peshkov
~ ~ ~
(CORE-3682)
Firebird 2.5.1 would hang
on attaching to a second database.
Fixed by P. Beach, A. Peshkov
~ ~ ~
(CORE-3819)
Resolution of service name to port address
in the database connection string could be performed wrongly.
Fixed by V. Khorsun
~ ~ ~
(CORE-3812)
A client could lose its connection to
the database during a session where huge numbers of primary keys were being dropped and/or
altered.
Fixed by V. Khorsun
~ ~ ~
(CORE-3801)
Warnings could appear twice in the
status vector.
Fixed by V. Khorsun
~ ~ ~
(CORE-3778)
An access violation could occur
at connection shutdown.
Fixed by V. Khorsun
~ ~ ~
(CORE-3732)
Closing an attachment to a database
could cause a segmentation fault.
Fixed by A. Peshkov
~ ~ ~
(CORE-3569)
CHAR(32767) was presented in the XSQLVAR
with length 32765.
Fixed by D. Yemanov
~ ~ ~
Firebird Documentation Index → Firebird 2.5 Release Notes → Bugs Fixed → Firebird 2.5.2 Release |