Bugs fixed Firebird 2.5.2 release
<< Firebird 2.5.2 security update 1, March 2013 | Firebird 2.5.3 Release Notes | Firebird 2.5.1 release >>
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:
Improvements
(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 engine
(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
~ ~ ~
() 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.
Note: 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 NULL
s 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 VIEW
s 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
~ ~ ~
Server crashes
(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
~ ~ ~
Data Manipulation Language
(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
~ ~ ~
Command-line utilities
fb_lock_print
(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
~ ~ ~
fbsvcmgr
(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
~ ~ ~
fbtracemgr
(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
~ ~ ~
gbak
(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
~ ~ ~
gsec
(CORE-3762) gsec
would return a zero return code (no error) on some errors.
Fixed by A. Peshkov
~ ~ ~
isql
(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
~ ~ ~
Database monitoring/administration
(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
~ ~ ~
Trace/Audit
(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
~ ~ ~
Services Manager
(CORE-3612) gfix
-related services could lose an error value in the status vector in isc_service_start()
.
Fixed by A. Peshkov
~ ~ ~
POSIX-only bugs
(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
~ ~ ~
Mac OS X Lion
(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
~ ~ ~
Remote interface/API
(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
~ ~ ~
back to top of page
<< Firebird 2.5.2 security update 1, March 2013 | Firebird 2.5.3 Release Notes | Firebird 2.5.1 release >>