Release Notes - Firebird Core - Version 3.0 Alpha 1 - HTML format

Bug

  • [CORE-92] - infinite insertion cycle
  • [CORE-195] - Bugcheck 291
  • [CORE-304] - Metadata security hole - any user can alter/drop generators and exceptions
  • [CORE-634] - Bad treatment of FIRST/SKIP in subselect
  • [CORE-927] - Grants don't work for procedures used inside views
  • [CORE-1089] - Wrong ordering with views, distinct, left join and order by
  • [CORE-1188] - Select Starting with :Param (Empty string) doesn't work if using index with many fields
  • [CORE-1274] - Wrong results when PLAN MERGE is chosen and datatypes of the equality predicate arguments are different
  • [CORE-1295] - Bad optimization of queries with DB_KEY
  • [CORE-1355] - Zero display instead of NULL
  • [CORE-1518] - Adding a non-null restricted column to a populated table renders the table inconsistent
  • [CORE-1550] - Unnecessary index scan happens when the same index is mapped to both WHERE and ORDER BY clauses
  • [CORE-1595] - Tray icon of Firebird Guardian disappears after explorer crash
  • [CORE-1604] - Error at database creation by user with non-ascii name
  • [CORE-1605] - Bugcheck 232 (invalid operation) for an aggregated query
  • [CORE-1619] - Some aggregate functions doesn't support NULL-constant in 3-d dialect
  • [CORE-1620] - Incorrect error message (column number) if the empty SQL string is prepared
  • [CORE-1712] - Buffer overflow in conversion
  • [CORE-1748] - Unrestorable backup
  • [CORE-1752] - Results of a join with different collations depend on the execution plan
  • [CORE-1992] - bad BLR -- invalid stream for union select
  • [CORE-1997] - Broken foreign key handling for multi-segmented index using multi-level collations
  • [CORE-2155] - Join of SP with view or table may fail with 'No current record for fetch operation'
  • [CORE-2204] - constraints on sp output parameters are checked even when the sp returns zero rows
  • [CORE-2238] - UTF8 and large varchar fields, is disinct from > Implementation limit exceeded.
  • [CORE-2286] - Selecting from MON$CALL_STACK within a Trigger or SP sometimes return 0 rows.
  • [CORE-2374] - ALTER TRIGGER / PROCEDURE wrong error message
  • [CORE-2431] - String values in error messages are not converted to connection charset
  • [CORE-2457] - UNICODE_CI internal gds software consistency check
  • [CORE-2484] - Success message when connecting to tiny trash database file
  • [CORE-2508] - Tricky index names can defeat the parsing logic when generating a human readable plan
  • [CORE-2543] - nbackup may hide the real cause of failure
  • [CORE-2545] - Lack of several validations in gbak
  • [CORE-2547] - Utilities need to honor their minimum number of characters to recognize an option
  • [CORE-2578] - select rdb$db_key from a view with a more than 1 table joined, results in conversion error
  • [CORE-2606] - Multibyte CHAR value requested as VARCHAR is returned with padded spaces.
  • [CORE-2628] - FB 2.5-beta2-win32 denied FreeAdhocUDF library functions.
  • [CORE-2675] - Small memory leak per every blob transliteration
  • [CORE-2678] - Full outer join cannot use available indices (very slow execution)
  • [CORE-2684] - Error page NNN is of wrong type (expected 7, found N)
  • [CORE-2685] - System triggers on view with check option are not removed
  • [CORE-2696] - "alter table" command can add a field which has "not null" definition
  • [CORE-2699] - Common table expression context could be used with parameters
  • [CORE-2711] - Embedded can't load ib_util.dll
  • [CORE-2720] - Wrong evaluation result with divide and unary plus\minus operations
  • [CORE-2721] - Issue with SIMILAR TO and UTF8 on 2.5 Beta 2 (and 1)
  • [CORE-2722] - Storage of malformed blob is allowed when copying from a blob with NONE/OCTETS charset
  • [CORE-2723] - When execute command UPDATE OR INSERT the server crashes
  • [CORE-2725] - Server crashes when sending wrong BLR for parameters in op_execute
  • [CORE-2729] - Current connection may be used by EXECUTE STATEMENT instead of creation of new attachment
  • [CORE-2730] - Bus error when working with DB_KEY on RISC machines
  • [CORE-2731] - Recursive EXECUTE STATEMENT works wrong
  • [CORE-2735] - isql hangs when trying to show a view based on a procedure
  • [CORE-2739] - ASSERT at parse.cpp line 22885
  • [CORE-2740] - gbak restores invalid views without any warning to the user
  • [CORE-2741] - Naive metadata extraction code in isql is defeated by "check" keyword typed in mixed case
  • [CORE-2742] - Server may stop responding to a particular client attachment under some conditions
  • [CORE-2750] - Physical backup cannot restart operations after the explicit difference file has been dropped
  • [CORE-2755] - SIMILAR TO works wrongly
  • [CORE-2756] - substring from timestamp - unexpected result
  • [CORE-2760] - FB 2.5 freezes during data pump operations
  • [CORE-2765] - Use of RDB$ADMIN role does not provide SYSDBA rights in GRANT/REVOKE
  • [CORE-2766] - Error "page 0 is of wrong type (expected 6, found 1)" is thrown while accessing a non-corrupted table
  • [CORE-2768] - ALTERING OR DROPPING PROCEDURE which has type of domain parameter leads to attempt to delete that domain
  • [CORE-2771] - AV at backup of database with GTT
  • [CORE-2775] - Linux packages miss fbtrace.conf
  • [CORE-2778] - SegFault in services when using same handle in different threads
  • [CORE-2779] - User list header is displayed at the end of each returning data call to fbsvcmgr
  • [CORE-2781] - AV in fbtracemgr when command line swithes set wrongly
  • [CORE-2783] - AV using recursive query as subquery in SELECT list and ORDER'ing by them
  • [CORE-2784] - Guardian creates more and more threads each time FBServer dies
  • [CORE-2785] - BLOB transliteration problem in a specific case
  • [CORE-2788] - isql extracts the array dimensions after the character set name
  • [CORE-2790] - Authentication fails with mixed parameter in firebird.conf
  • [CORE-2792] - Bad extraction syntax for procedure's parameter based on table's field
  • [CORE-2793] - Binary representation of the backup file is inconsistent among subsequent backup/restore cycles
  • [CORE-2796] - DB_KEY is always zero for external tables
  • [CORE-2797] - Problem with default value of SP parameter
  • [CORE-2798] - Incomplete plan output (lack of view names) when selecting from views containing procedures inside
  • [CORE-2804] - Problems with COMMENT ON and strings using introducer (charset)
  • [CORE-2806] - Views based on procedures can't be created if the proc's output fields participate in an expression
  • [CORE-2807] - Problem with tracing on Linux
  • [CORE-2814] - Bus error while sorting/merging on SPARC
  • [CORE-2815] - PIP page could be marked after it was really changed
  • [CORE-2817] - If stored procedure or trigger contains query with PLAN ORDER it could fail after disconnect of attachment where procedure\trigger executed first time
  • [CORE-2820] - Small memory leak in query with PLAN ORDER
  • [CORE-2822] - Error "no current row for fetch operation" when subquery includes a non-trivial derived table
  • [CORE-2824] - Small memory and handles leak at every connect\disconnect
  • [CORE-2825] - some patches for building on Debian/kFreeBSD and FreeBSD
  • [CORE-2826] - Join condition fails for UTF-8 databases.
  • [CORE-2827] - Very slow prepare for complex interrelated metadata with many triggers indirectly involved in the operation being prepared
  • [CORE-2831] - isql shouldn't display db and user name when extracting a script
  • [CORE-2833] - Changing data that affects an expression index that contains references to null date fields fails
  • [CORE-2836] - fb_cancel_operation() incorrectly modifies rdb_status_vector
  • [CORE-2837] - Asynchronous query cancellation (via Ctrl+C) does not work
  • [CORE-2840] - Engine crashes if the NULL attachment handle is passed from the Y-valve
  • [CORE-2842] - Timeout with latchs in CCH does not work
  • [CORE-2846] - Cannot connect to the database if GFIX -shut <mode> -attach <timeout> fails after the specified timeout (because of connections being still active)
  • [CORE-2851] - Problem with fb_cancel_operation
  • [CORE-2852] - Server crash when executing syntactically wrong SQL statement with an active trace session
  • [CORE-2856] - Non-NULL key in unique index could be not found when key is removed
  • [CORE-2858] - Possible memory trashing when raising some exceptions to signal failed security checks
  • [CORE-2861] - Cannot remove user with dot in login
  • [CORE-2862] - configure --with-fbudf breaks build on CentOS
  • [CORE-2864] - Listener process of Classic Server leak handles
  • [CORE-2871] - Outer ORDER BY clause has no effect
  • [CORE-2875] - String right truncation error when char column longer than 4096 bytes compared with string constant
  • [CORE-2876] - Wrong backup mode when using "alter database add difference file"
  • [CORE-2879] - Sweep could raise error : page 0 is of wrong type (expected 6, found 1)
  • [CORE-2886] - Query with "NOT IN <subselect from view>" fails
  • [CORE-2888] - A memory corruption cause incorrect query evaluation and may crash the server
  • [CORE-2893] - Expression in a subquery may be treated as invariant and produce incorrect results
  • [CORE-2896] - Embedded connections done by root (like gbak, gsec, gfix) hang in linux
  • [CORE-2898] - CHAR_TO_UUID and UUID_TO_CHAR works different in big/little endian architectures
  • [CORE-2900] - "AV - The code attempted to access a virtual address without privilege to do so" using aggregate distinct
  • [CORE-2907] - Exception handling with EXECUTE STATEMENT
  • [CORE-2912] - Exception when upper casing string with lowercase y trema (code 0xFF in ISO8859_1 )
  • [CORE-2913] - COLLATE expressions are applied incorrectly
  • [CORE-2914] - Server crashes while restoring a database having an expression index referencing a non-existent UDF
  • [CORE-2916] - Broken error handling in the case of a conversion error happened during index creation
  • [CORE-2919] - Installation script ignores non-standard ports
  • [CORE-2920] - Incorrect execution of volatile SQL statements inside EXECUTE STATEMENT
  • [CORE-2922] - Character set used in constants is not registered as dependency
  • [CORE-2923] - Problem with dependencies between a procedure and a view using that procedure
  • [CORE-2926] - "make install" fails on linux
  • [CORE-2928] - Buffer overflow in gsec
  • [CORE-2929] - "Invalid ESCAPE sequence" when connecting to the database
  • [CORE-2930] - DROP VIEW drops output parameters of used stored procedures
  • [CORE-2932] - Wrong field position after ALTER POSITION
  • [CORE-2933] - Very slow execution of a script that creates a lot of metadata
  • [CORE-2934] - Memory leak in FB2.5 trace plugin
  • [CORE-2936] - Wrong page type (expected 7 found N) error
  • [CORE-2940] - Trace output could contain garbage data left from filtered out statements
  • [CORE-2942] - Huge (>10Gb) memory consumption by some fb_inet_server processes
  • [CORE-2943] - parsing error recursive query with two recursive parts
  • [CORE-2948] - Segfault when server is exiting
  • [CORE-2952] - Case-sensitive character class names in SIMILAR TO
  • [CORE-2956] - Problems with requests of procedure's parameters
  • [CORE-2957] - count(*) from big table returns negative result
  • [CORE-2965] - Incorrect ROW_COUNT value after SINGULAR condition
  • [CORE-2966] - Wrong results or unexpected errors while sorting a large data set
  • [CORE-2971] - Invalid UPDATE OR INSERT usage may lead to successive "request depth exceeded. (Recursive definition?)" error
  • [CORE-2981] - Error in Trace plugin (use local symbols in query)
  • [CORE-2984] - gbak -v srv:db stdout creates a broken backup
  • [CORE-2985] - The new 2.5 feature to alter COMPUTED columns doesn't handle dependencies well
  • [CORE-2988] - Concurrent transaction number not reported if lock timeout occurs
  • [CORE-2993] - Fatal lock manager error "Invalid lock id (NNN)" while working with monitoring tables on a highly loaded system
  • [CORE-2995] - Same error in status vector reported twice
  • [CORE-3000] - Error on delete user "ADMIN"
  • [CORE-3001] - Install fails to create user & group "firebird"
  • [CORE-3003] - Procedure suspend check may cause restore to fail
  • [CORE-3006] - /tmp/firebird and files in it may get 'root' (i.e. GID == 0) group
  • [CORE-3015] - Various "Cannot initialize the shared memory region" errors
  • [CORE-3016] - On disconnect it is possible to see "Fatal lock manager error: invalid lock id (0), errno: 0" in firebird.log
  • [CORE-3017] - Files left at Firebird's lock directory
  • [CORE-3019] - Startup failure of SS and SC on linux gentoo
  • [CORE-3021] - Segfault in DEV_BUILD
  • [CORE-3022] - gpre C++ compiler warnings with GCC 4.4.1
  • [CORE-3024] - Error "no current record for fetch operation" after ALTER VIEW
  • [CORE-3029] - Bugcheck "Too many savepoints (287)" at rollback after exception at EXECUTE BLOCK with exception handler
  • [CORE-3038] - The insert failed because a column definition includes validation constraints. validation error for variable
  • [CORE-3046] - Assertion after ALTER TABLE
  • [CORE-3047] - Wrong logic is used to resolve EXECUTE BLOCK parameters collations
  • [CORE-3052] - Wrong resultset
  • [CORE-3055] - Variable/argument name could be absent or be wrong in error messages when more than 256 variables are used
  • [CORE-3056] - Problems may happen when issuing DDL commands in the same transaction after CREATE COLLATION was issued
  • [CORE-3058] - New generators are created with wrong value when more than 32K generators was previously created
  • [CORE-3059] - RemoteFileOpenAbility fails on windows
  • [CORE-3064] - Using both the procedure name and alias inside an explicit plan crashes the server
  • [CORE-3067] - Objects not unmapped when shared memory is closed
  • [CORE-3079] - Strong slowing down inserts with EVENT-s in a single transaction.
  • [CORE-3089] - Attempt of execute statement on external datasource failed when datasource is interbase 4.1
  • [CORE-3090] - Incorrect LEFT JOIN result using table and derived constant subquery
  • [CORE-3091] - Built-in function POWER(X, Y) does not work when the X argument is negative and the Y value is scaled numeric but integral
  • [CORE-3092] - ROW_COUNT is not cleared before the singleton INSERT statement
  • [CORE-3094] - Parameters doesn't work with NOT IN from a selectable procedure
  • [CORE-3095] - Client receive event's with count equal to 1 despite of how many times EVENT was POSTed in same transaction
  • [CORE-3100] - Wait mode and lock timeout of external transaction of EXECUTE STATEMENT not matched to corresponding parameters of local transaction
  • [CORE-3101] - Cannot alter the domain after migrating from older versions
  • [CORE-3109] - Server crashes when isc_dql_exec_immed3_m() is called for "create database ..." and NULL transaction
  • [CORE-3114] - Attempt to drop non-existing generator produces bad error
  • [CORE-3115] - Bugs in the internal record compression routines
  • [CORE-3116] - gsec outputs list of users to stderr instead stdout
  • [CORE-3119] - 100% CPU USAGE (endless loop) in the remote protocol code related to events processing
  • [CORE-3125] - AV in Worker::shutdown
  • [CORE-3131] - WIN1257_LV (Latvian) collation is wrong for 4 letters: A E I U.
  • [CORE-3137] - Partial rollback is possible for a selectable procedure modifying data
  • [CORE-3138] - Internal error or crash occurs when accessing any MON$ table after altering its structure
  • [CORE-3143] - Segmentation fault may occur when user interrupts gstat
  • [CORE-3148] - SQZ_apply_differences
  • [CORE-3156] - Problems using UDFs on Mac
  • [CORE-3157] - COMMENT ON PARAMETER - Statement leads in a consumption of 1.7 GB RAM and a runtime of more than 1 Minute
  • [CORE-3164] - Parameterized requests involving blob fields fails when connected using charset UTF8
  • [CORE-3168] - exclude_filter doesn't work for <services></section> section of the Trace facility
  • [CORE-3170] - Engine could enter infinite loop if EVENT's are posted but no subscribers exists
  • [CORE-3173] - Empty result when select from SP that contains two CTE (second of them with GROUP BY clause) and INNER join
  • [CORE-3174] - Expression index with TRIM may lead to incorrect indexed lookup
  • [CORE-3185] - Firebird compilation on a box, already running firebird server
  • [CORE-3188] - page 0 is of wrong type (expected 6, found 1)
  • [CORE-3194] - Number of connections to linux superclassic has limit equal 508
  • [CORE-3199] - nbackup fails due to O_NOATIME flag in database open
  • [CORE-3201] - ATAN2 returns incorrect value for (0, 0)
  • [CORE-3202] - execute_immediate API call family may crash the remote server
  • [CORE-3204] - Constraint violation error of CAST is not raised inside views
  • [CORE-3205] - isc_dsql_exec_immed2() doesn't return error codes isc_stream_eof and isc_sing_select_err
  • [CORE-3207] - AccessViolationException inside FB_965910463_Class.isc_start_multiple on begin transaction.
  • [CORE-3208] - Significant memory leaks with recursive queries
  • [CORE-3212] - Error compile 2.5 for FreeBSD
  • [CORE-3217] - Server crashes inside the lock manager when multiple connections attaching/detaching simultaneously
  • [CORE-3218] - Statement cancellation request might be silently ignored by the currently running SQL code
  • [CORE-3219] - trace manager crash server with DSQL_unprepare
  • [CORE-3220] - isc_info_svc_get_users returns error message in the result cluster
  • [CORE-3227] - ASCII_VAL() fails if argument contains multi-byte character anywhere
  • [CORE-3228] - RIGHT() fails with multibyte text blobs > 1024 chars
  • [CORE-3229] - Records: "operating system directive open failed, Too many links" in firebird.log
  • [CORE-3232] - Non-transportable backup created without "-se service_mgr" switch results in an backup file ~50% larger than the source database.
  • [CORE-3233] - LIKE, STARTING and CONTAINING fail if second operand >= 32K
  • [CORE-3237] - Slow compilation of stored procedures
  • [CORE-3238] - Makes GEN_UUID return a compliant RFC-4122 UUID.
  • [CORE-3239] - UTF8 UNICODE_CI collate can not be used in compound index
  • [CORE-3243] - CURRENT_USER and MON$USER raise an error for trusted authentication and non-ASCII OS user name
  • [CORE-3244] - POSITION: Wrong result with '' if third argument present
  • [CORE-3245] - SUBSTRING on long blobs truncates result to 32767 if third argument not present
  • [CORE-3249] - .gbak file is not truncated during backup operation
  • [CORE-3250] - Cannot start firebird server under any username other than "root", "firebird" , "interbas"or "interbase"
  • [CORE-3259] - Deadlock and sefgault when processing ctrl-C in user code
  • [CORE-3260] - Interlock.h not portable
  • [CORE-3261] - Assertion when running restore service
  • [CORE-3266] - Race condition between async service detach request and running user trace service
  • [CORE-3269] - When server gets unavailbale, client does not perform detach correctly
  • [CORE-3277] - Wrong result for RIGHT(UTF8 varchar)
  • [CORE-3282] - EXECUTE STATEMENT parses the SQL text using wrong charset
  • [CORE-3283] - BAD PLAN with using LEFT OUTER JOIN in SUBSELECT
  • [CORE-3297] - nbackup.exe exits without info when firebird.conf is missing
  • [CORE-3302] - Distinct aggregates return wrong (duplicated) data
  • [CORE-3310] - RDB$GET_CONTEXT and between in view
  • [CORE-3311] - Error "data type unknown" while preparing UPDATE/DELETE statements with the parameterized ROWS clause
  • [CORE-3314] - Dependencies are not removed after dropping the procedure and the table it depends on in the same transaction
  • [CORE-3315] - Audit plugin records a sencond *FAILED* EXECUTE_STATEMENT_FINISH after a "normal" one
  • [CORE-3317] - Success of deleting rows depending on order of row insertion
  • [CORE-3320] - Some MERGE syntax can crash the server
  • [CORE-3325] - At high load it is possible that new process could fail to map shared memory
  • [CORE-3326] - Fast mutex could be left in locked state by dead process
  • [CORE-3327] - Thread pool in network server could create more threads than necessary
  • [CORE-3328] - Client writes error messages into firebird.log when database is shutted down
  • [CORE-3329] - Windows administrator gets RDB$ADMIN role when this is not expected
  • [CORE-3330] - Server crashes while recreating the table with a NULL -> NOT NULL change
  • [CORE-3335] - Wrong results (internal wrapping occured) for the multi-byte blob SUBSTRING function and its boundary arguments
  • [CORE-3338] - Regression: Code changes disabled support for expression indexes with COALESCE, CASE and DECODE
  • [CORE-3349] - Constants isc_lock_conflict / isc_eds_statement not recognized in PSQL
  • [CORE-3351] - Windows client could put 10054 error messages into firebird.log at connection time
  • [CORE-3353] - Predicate (blob_field LIKE ?) describes the parameter as VARCHAR(30) rather than as BLOB
  • [CORE-3355] - Wrong comparsion of DATE and TIMESTAMP if index is used
  • [CORE-3360] - update ... returning ... raises -551 (no perm to update) for a column present only in the returning clause
  • [CORE-3373] - It is possible to store string with lenght 31 chars into column varchar(25)
  • [CORE-3374] - Server may crash or corrupt data if SELECT WITH LOCK is issued against records not in the latest format
  • [CORE-3382] - CLONE -Incomplete description of POSITION() function
  • [CORE-3387] - Client library could hang infinitely waiting for a reply packet on a forcibly disconnected server socket
  • [CORE-3389] - isc_dsql_exec_immed2 with zero transaction handle could lead to a BUGCHECK(147)
  • [CORE-3394] - Failed attempt to violate unique constraint could leave unneeded "lock conflict" error in status-vector
  • [CORE-3397] - Unresolved symbols in intl and trace libraries
  • [CORE-3401] - Collation errors with [type of] <domain>, type of column
  • [CORE-3416] - Inserting Käse into a CHARACTER SET ASCII column succeeds
  • [CORE-3418] - Database trigger created as INACTIVE is really active
  • [CORE-3419] - Recurse leads to hangs/crash server
  • [CORE-3420] - BOOLEAN not present in system table RDB$TYPES
  • [CORE-3421] - [FB3] AV with "UPDATE OR INSERT"
  • [CORE-3423] - [FB3] Wrong RDB$PARAMETER_MECHANISM
  • [CORE-3427] - Server crashing with UTF8 blobs
  • [CORE-3431] - ISQL pads UTF-8 data incorrectly
  • [CORE-3440] - AV in engine if isc_que_events queued 0 events
  • [CORE-3443] - Races in UDF library lookup
  • [CORE-3447] - Collation is not installed with icu > 4.2
  • [CORE-3461] - DDL operations fail after backup/restore
  • [CORE-3464] - Dirty page could be written without releasing (or downgrading) page lock. It results in "lock denied" or "lock conversion denied" bugcheck
  • [CORE-3465] - Nbackup state lock could be not released after cache error. It results in "Can't lock state for write" bugcheck when backup state is going to be changed.
  • [CORE-3466] - Some changes could be lost during the merge of delta file into main database file
  • [CORE-3468] - Attempt to read after the end of file when nbackup state is stalled
  • [CORE-3475] - Parameters inside the CAST function are described as not nullable
  • [CORE-3476] - LIST function wrongly concatenates binary blobs
  • [CORE-3477] - Passing non-existing SQL parameters always crash server
  • [CORE-3479] - ASCII_VAL raises error instead of return 0 for empty strings
  • [CORE-3482] - nbackup ctrl-c segfaults and leaves db locked (delta file continues to grow)
  • [CORE-3489] - Blob transliteration may not happen inside the union
  • [CORE-3490] - Concurrency problem when using named cursors
  • [CORE-3491] - Altering of a TYPE OF COLUMN parameter affects the original column
  • [CORE-3493] - Adding a value to a timestamp below '16.11.1858 00:00:01' throws 'value exceeds the range for valid timestamp'
  • [CORE-3502] - DROP VIEW ignores the existing non-column dependencies
  • [CORE-3503] - ALTER VIEW crashes the server if the new version has an artificial (aggregate or union) stream at the position of a regular context in the older version
  • [CORE-3508] - MON$DATABASE_NAME and MON$ATTACHMENT_NAME fields contain question marks instead of non-ASCII characters regardless of the connection charset
  • [CORE-3511] - Unquoted role names with non-ASCII characters passed in DPB are upper-cased wrongly
  • [CORE-3512] - Server hangs when trace is running
  • [CORE-3515] - Index corruption. Validation put "missing entries" message into firebird.log
  • [CORE-3521] - Delta file contents is not flushed to disk
  • [CORE-3523] - SIMILAR TO: False matches on descending ranges
  • [CORE-3525] - Autonomous transactions wrongly inherit run-time flags of "parent" transaction
  • [CORE-3532] - Server hangs starting new session when trace is running
  • [CORE-3535] - Write target of dirty page could be undefined if error happens when nbackup state is changed
  • [CORE-3545] - Inconsistent domain's constraint validation in PSQL
  • [CORE-3547] - Floating-point negative zero doesn't match positive zero in the index
  • [CORE-3549] - Database corruption after end of session : page xxx is of wrong type expected 4 found 7
  • [CORE-3553] - Nested loop plan is chosen instead of the sort merge for joining independent streams using keys of different types
  • [CORE-3554] - Server crashes during prepare or throws incorrect parsing error if the remotely passed SQL query is empty
  • [CORE-3557] - AV in engine when preparing query against dropping table
  • [CORE-3569] - CHAR(32767) present in XSQLVAR with length 32765
  • [CORE-3575] - Support of backup volumes with size more than 4Gb
  • [CORE-3576] - fb3 cannot use icu-4.8.1
  • [CORE-3579] - Can't drop table when computed field depends on later created another field
  • [CORE-3589] - Internal shared resource leak
  • [CORE-3599] - Possible drop role RDB$ADMIN
  • [CORE-3601] - Incorrect TEXT BLOB charset transliteration on VIEW with trigger
  • [CORE-3605] - GLOB_OPTIONS mixes CFLAGS and CXXFLAGS which could be exclusively different
  • [CORE-3606] - Linker commands that use c or c++ compiler should apply CFLAGS and CXXFLAGS respectively
  • [CORE-3607] - Solaris does not define the RLIMIT_NPROC limit
  • [CORE-3610] - Can insert DUPLICATE keys in UNIQUE index
  • [CORE-3611] - Wrong data while retrieving from CTEs (or derived tables) with same column names.
  • [CORE-3612] - gfix-related services may loose error value in status vector in isc_service_start()
  • [CORE-3625] - MON$IO_STATS doesn't report page writes performed asynchronously (at the AST level)
  • [CORE-3627] - Server crashes with access violation when inserting row into table with unique index
  • [CORE-3636] - Firebird 2.5.1 server crashes with Trace API
  • [CORE-3638] - Introduce FR_CA_CI_AI collation and change FR_FR and FR_FR_CI_AI to be identical to FR_CA and FR_CA_CI_AI respectively.
  • [CORE-3646] - Segmentation fault in FreePascal multi-threaded program when using 2.5.x client library on Linux
  • [CORE-3649] - gbak deletes backup file even if error happens when it's already successfully closed
  • [CORE-3658] - FBSVCMGR connects to server as OS user name rather than value of ISC_USER environment variable
  • [CORE-3672] - computed index by substring function for long columns
  • [CORE-3677] - Stop utilities to export entrypoints
  • [CORE-3683] - Wrong results if the recursive query contains an embedded GROUP BY clause
  • [CORE-3686] - Incorrect (zero) values are reported for "acquire blocks" and "mutex wait" counters in the fb_lock_print output
  • [CORE-3690] - Wrong warning message for ambiguous query
  • [CORE-3692] - Cannot drop a NOT NULL constraint on a field participating in the UNIQUE constraint
  • [CORE-3694] - internal Firebird consistency check in query with grouping by subquery+stored procedure+aggregate
  • [CORE-3718] - Client Library Hangs after unsuccessful connection to remote auxiliary (events) port
  • [CORE-3721] - Multiuser server startup (/etc/init.d) script picks up the ISC_ variables if set.
  • [CORE-3722] - IS NOT DISTINCT FROM NULL doesn't use index
  • [CORE-3730] - isc_dsql_exec_immed2() loses input parameter value with RETURNING clause
  • [CORE-3733] - GBAK fails to fix system generators while restoring
  • [CORE-3735] - Unprivileged user can delete from RDB$DATABASE, RDB$COLLATIONS, RDB$CHARACTER_SETS
  • [CORE-3736] - WITH LOCK clause is allowed for users with read-only rights on some table, thus blocking others from updating this table
  • [CORE-3737] - EXECUTE BLOCK parameters definitions are not respected and may cause wrong behavior related to character sets
  • [CORE-3753] - The trigger together with the operator MERGE if in a condition of connection ON contains new isn't compiled
  • [CORE-3754] - SIMILAR TO works wrongly
  • [CORE-3759] - Problem with fetch on DDL statement in the remote protocol
  • [CORE-3762] - gsec returns 0 return code on some errors
  • [CORE-3769] - The message `Unknown tag (4) in isc_svc_query() results` appears when fbtracemgr is interrupted by Ctrl-C
  • [CORE-3770] - fbtracemgr loads CPU up to ~55% when no activity is present
  • [CORE-3786] - Firebird 2.5.1 Classic (32-bit) Hangs on MacOSX 10.7 (Lion) on DB create after reboot
  • [CORE-3791] - Performance degrades when actively working with databases bigger than the available RAM amount
  • [CORE-3792] - Performance of batch inserts is degraded
  • [CORE-3798] - fb server die when carry out the LEFT + INNER JOIN
  • [CORE-3799] - with caller privileges option don't work with autonomous transaction option
  • [CORE-3801] - Warnings could be put twice in status-vector
  • [CORE-3806] - Wrong data returned if a sub-query or a computed field refers to the base table in the ORDER BY clause
  • [CORE-3807] - Error "Invalid expression in the select list" can be unexpectedly raised if a string literal is used inside a GROUP BY clause in a multi-byte connection
  • [CORE-3810] - isql: zero divide + coredump when use "-pag 0" command switch & set heading on inside .sql script
  • [CORE-3812] - Connection lost to database during massive dropping and altering primary keys of tables
  • [CORE-3814] - SuperClassic server crashes when performing a database shutdown (FW=OFF)
  • [CORE-3817] - Forced database shutdown does not work if non-zero delay was specified
  • [CORE-3819] - Wrong service name to port address resolution in database connectiong string
  • [CORE-3820] - RDB$TYPES contain duplicate character sets
  • [CORE-3825] - If an autocommit transaction (i.e. transaction started with isc_tpb_autocommit option) run DDL using EXECUTE STATEMENT it will produce a bugcheck 287 (Too many savepoints)
  • [CORE-3841] - Corrupted database after inserting rows
  • [CORE-3844] - Validation not detects one specific case of index corruption
  • [CORE-3845] - Interruption of 'heavy query' leads to 0 ms (zero duration) in it`s statistics in trace log
  • [CORE-3855] - Blobs, inserted into GLOBAL TEMPORARY TABLE ON COMMIT DELETE ROWS, could be placed into newly allocated pages even if there is enough free place on some existing data page
  • [CORE-3873] - Server crashes while switching to the shadow if the disk I/O fault happens while flushing the cache
  • [CORE-3874] - Computed column appears in non-existant rows of left join
  • [CORE-3875] - GBak does not check correctly parameters and backups random database with -B ":"
  • [CORE-3883] - Ambiguous field name in the trigger when it does a select from the table
  • [CORE-3887] - CHAR_TO_UUID and UUID_TO_CHAR works different in big endian architectures - similar to CORE-2898
  • [CORE-3893] - Cannot restored tpcc database in FB 3.0
  • [CORE-3894] - Wrong numbers in error message for decreasing char/varchar columns
  • [CORE-3895] - High memory usage when PSQL code SELECT's from stored procedure which modified some data
  • [CORE-3899] - row_number(), rank() and dense_rank() return BIGINT datatype in dialect 1
  • [CORE-3902] - Derived fields may not be optimized via an index
  • [CORE-3908] - Engine leaks memory and crashes when lot of autonomous transactions have been started and finished
  • [CORE-3912] - segfault in superclassic
  • [CORE-3916] - gfix & "Index x is corrupt (missing entries) in table ..." all indexes on large tables
  • [CORE-3924] - Bugcheck 291 (cannot find record back version) if GTT is modified concurrently using at least one read-committed read-only transaction
  • [CORE-3929] - Invalid "attempted update of read-only column" error when trying select minvalue from list with more than 255 elements
  • [CORE-3932] - can create but cant delete user with username containing double quotes with gsec
  • [CORE-3934] - Value of log_sweep parameter in trace configuration is ignored by trace plugin (assumed always true)
  • [CORE-3935] - Could not connect to production via TCP after delete from mon$attachments issued on *different* database on the same machine
  • [CORE-3940] - I/O error during "GetFileSize" operation for file XXXX
  • [CORE-3941] - Memory alignment problem with unique expression index
  • [CORE-3942] - Restore from gbak backup using service doesn't report an error
  • [CORE-3943] - Mailformed string error in case of the appeal to monitoring tables
  • [CORE-3946] - UNICODE collations does not work with ICU 49
  • [CORE-3947] - Wrong results when the column with collation using option (NUMERIC-SORT=1) is in where clause
  • [CORE-3964] - It is not possible to create a ddl-trigger with "any DDL statement" clause
  • [CORE-3965] - Creating a procedure containing "case when" expression leads to a server crash:
  • [CORE-3966] - Creating a stored procedure with an "update or insert" statement with MATCHING fails
  • [CORE-3967] - subselect with reference to outer select fails
  • [CORE-3973] - Original table name and column name and owner missing from SQLDA for aliased column in grouped query
  • [CORE-3977] - DELETE FROM MON$STATEMENTS does not interrupt a longish fetch
  • [CORE-3979] - Server crashes while unwinding changes in an autonomous transaction
  • [CORE-3981] - Sub-optimal predicate checking while selecting from a view
  • [CORE-3988] - Engine crashed when trace or audit is active
  • [CORE-3992] - No records in the table rdb$dependencies for ddl trigger
  • [CORE-3993] - Server terminates or crashes while shutting down a database with in-progress attachments
  • [CORE-3996] - Firebird crashes when trying to create database in restricted path
  • [CORE-4002] - Error message "index unexpectedly deleted" in database trigger on commit transaction
  • [CORE-4004] - Sometimes long-running operations cannot be interrupted by asynchronous shutdown / cancellation requests
  • [CORE-4005] - wrong error message with recursive CTE
  • [CORE-4006] - using a result from a procedure in a substring expression leads to server crash
  • [CORE-4010] - Fetch cannot be subsequently interrupted via DELETE FROM MON$STATEMENTS
  • [CORE-4011] - start stop status undetected for superclassic and superserver under RH and Mageia
  • [CORE-4018] - Using system domain in procedures arguments/returns cause the proc to be unchangeable
  • [CORE-4027] - Creating table with computed fields containing "SELECT FIRST" produces corrupted result
  • [CORE-4031] - make install wrong under Debian Ubuntu 64
  • [CORE-4036] - Bugcheck or database corruption when attempting to store long incompressible data into a table
  • [CORE-4038] - Broken optimization for the stored dbkeys
  • [CORE-4051] - Memory leak when sorting records larger than 32 KB
  • [CORE-4061] - isql does not insert boolean values correctly, always shown as False
  • [CORE-4066] - jrd/exe.cpp - build failure
  • [CORE-4067] - Problem with "CREATE DATABASE ... COLLATION ..." and 1 dialect
  • [CORE-4068] - create package fails on creating header as soon as there is at least 1 procedure name
  • [CORE-4070] - NOT-NULL-column can be used as primary key and filled with NULL-values
  • [CORE-4071] - external function declaration with "returns parameter" crashes the server
  • [CORE-4073] - Constant columns getting empty value with subselect from procedure
  • [CORE-4074] - Computed by columns and position function
  • [CORE-4081] - Regression: Built-in functions and subselect no longer supported in "update or insert" value list
  • [CORE-4082] - Wrong error message
  • [CORE-4083] - Full outer join in derived table with coalesce (iif)
  • [CORE-4084] - Regression: Group by fails if subselect-column is involved
  • [CORE-4091] - Incorrect full join result with ROW_NUMBER() Function in CTE
  • [CORE-4093] - Server crashes while converting an overscaled numeric to a string
  • [CORE-4094] - Wrong parameters order in trace output
  • [CORE-4100] - Automatic sweep could be run when there is no need for it
  • [CORE-4101] - Invalid "I/O error during "write" operation" entries in firebird.log but no database error exists
  • [CORE-4102] - Bad optimization of OR predicates applied to unions
  • [CORE-4108] - Regression: Server crashes when executing sql query "delete from mytable order by id desc rows 2"
  • [CORE-4119] - Metadata source becomes wrong after twice transliteration to the metadata charset.
  • [CORE-4121] - Segfault when engine is shutting down inside blob get/put function invoked from UDF
  • [CORE-4122] - Metadata export with isql (option -ex) does not export functions properly
  • [CORE-4123] - Firebird crash when executing an stored procedure called by a trigger that converts string to upper
  • [CORE-4125] - Using COLLATE UNICODE_CI_AI in WHERE clause (not indexed) is extremely slow
  • [CORE-4126] - gbak -r fails in restoring all stored procedures/functions in packages
  • [CORE-4127] - Server crashes instead of reporting the error "key size exceeds implementation restriction"
  • [CORE-4131] - Error when processing an empty data set by window function, if reading indexed
  • [CORE-4132] - gbak requires exclusive access
  • [CORE-4134] - Race condition when auto-sweep is started
  • [CORE-4135] - In SS sweep blocks establishment of concurrent attachments
  • [CORE-4136] - Sharp-S character treated incorrectly in UNICODE_CI_AI collation
  • [CORE-4137] - Wrong metadata output script generate by isql / CHARACTER SETISO8859_1 sintaxe error.
  • [CORE-4140] - EXECUTE BLOCK's TYPE OF parameters with NONE charset may have be transformed to the connection charset
  • [CORE-4142] - Regression: Server crashes while preparing a query with DISTINCT and ORDER BY
  • [CORE-4144] - Error "context already in use (BLR error)" when preparing a query with UNION

Improvement

  • [CORE-672] - "Over the wire" connection encryption
  • [CORE-675] - Add entries to RDB$Types
  • [CORE-800] - Easy metadata extract improvements
  • [CORE-832] - Add support for parametrised exceptions
  • [CORE-1117] - Remove or extend limit of command text length (64K)
  • [CORE-1180] - DDL syntax to change (not) nullable state of columns
  • [CORE-1609] - PSQL output parameter size limited
  • [CORE-1898] - Increase the password length from 8 characters to 15 characters or more
  • [CORE-1906] - Allow interactive arguments (seconds and intervals) of fb_lock_print to be 32-bit integers
  • [CORE-2005] - Support SQL 2008 syntax for MERGE statement with DELETE extension
  • [CORE-2006] - SUBSTRING with regular expression (SIMILAR TO) capability
  • [CORE-2187] - Return the Hostname in mon$attachments
  • [CORE-2305] - Make mon$statement_id value constant among monitoring snapshots
  • [CORE-2540] - Utilities need a more coherent way to show help and version
  • [CORE-2541] - Too many hardcoded messages in nbackup
  • [CORE-2542] - qli and nbackup accept arbitrary input after the first letter of an option
  • [CORE-2553] - Grants access on generators (gen_id, next value for)
  • [CORE-2554] - Grant execute on UDF
  • [CORE-2565] - Many hardcoded messages in Trace Manager
  • [CORE-2575] - Make ISQL "input" command open relative filenames based on the directory of last opened (and not closed) input file
  • [CORE-2666] - Make it possible to use API to do remote backups/restores
  • [CORE-2668] - Write note into log when automatic sweep is started
  • [CORE-2697] - Support the "? in (SELECT some_col FROM some_table)" subqueries
  • [CORE-2712] - Do not print "invalid request BLR" for par.cpp errors with valid BLR
  • [CORE-2724] - Validate or transform string of DML queries so that engine internals doesn't receive malformed strings
  • [CORE-2748] - allow gsec to grant RDB$ADMIN role in the security database
  • [CORE-2752] - Set the SO_KEEPALIVE option on the client TCP socket
  • [CORE-2754] - Hint the user about -FIX_FSS_METADATA and -FIX_FSS_DATA when restore fail with malformed string error
  • [CORE-2767] - Add ability to the trace plugin to configure traced services events on per-service name basis
  • [CORE-2769] - Make XNET_CONNECT_TIMEOUT in xnet.h user configurable
  • [CORE-2773] - Let "Start trace session" service report ID of newly created trace session
  • [CORE-2774] - Let "Start trace session" service report if there was no trace plugin's loaded by the engine
  • [CORE-2780] - Include client library version and protocol version in mon$attachments
  • [CORE-2787] - Make rdb$system_flag not null
  • [CORE-2812] - Prohibit any improper mixture of explicit and implicit joins
  • [CORE-2821] - Add indication about log size limit for trace API
  • [CORE-2868] - increase trigger or stored procedure body size above 32k
  • [CORE-3008] - Add attachment's CHARACTER SET name into corresponding trace records
  • [CORE-3020] - add clause RETURNING ... INTO ... to MERGE statement
  • [CORE-3057] - Allow the usage of blobs in COMPUTED BY expressions
  • [CORE-3076] - Better performance for (table.field = :param or :param = -1) in where clause
  • [CORE-3085] - Add clause ALTER DOMAIN <name> [NOT] NULL
  • [CORE-3140] - Preserve comments for parameters after altering procedures
  • [CORE-3184] - Port for linux/hppa and linux/alpha
  • [CORE-3234] - Support for text BLOBs >= 32K as first argument for TRIM()
  • [CORE-3248] - Set unused bytes of varchar values in message buffer to 0
  • [CORE-3251] - Use SSL/TLS support for both encryption and user authentication
  • [CORE-3323] - Ability to cancel waiting in lock manager
  • [CORE-3324] - ftracemgr should flush its output from time to time
  • [CORE-3343] - RETURNING clause is not supported in positioned (WHERE CURRENT OF) UPDATE and DELETE statements
  • [CORE-3399] - Allow write operations to temporary tables in read only transactions
  • [CORE-3413] - Improve diagnostics of internal trace errors
  • [CORE-3433] - Improve GBAK restore performance (records insertion)
  • [CORE-3446] - Allow conversion from/to BLOBs and others types in the API functions (XSQLVAR or blr messages)
  • [CORE-3457] - Optimize the temporary space manager regarding small chunk allocations
  • [CORE-3462] - Add metadata only restore to Services API
  • [CORE-3467] - provide a silent install switch
  • [CORE-3536] - Garbage collection in GTT is unnecessary delayed by active transactions in another attachments
  • [CORE-3537] - There is no need to undo changes made in GTT created with ON COMMIT DELETE ROWS option when transaction is rolled back.
  • [CORE-3539] - TRACE: add ability for logging ERRORs that occur in runtime (lock conflicts, PK/UK/FK violations et al)
  • [CORE-3546] - Aliases for the RETURNING clause
  • [CORE-3588] - More detail in message "wrong page type"
  • [CORE-3594] - Include expected and actual string lenght into error message for sqlcode -802
  • [CORE-3598] - TRACE: add statistics of actions that were after transaction finished
  • [CORE-3639] - Allow the use of multiple WHEN MATCHED / NOT MATCHED clauses in MERGE, as per the SQL 2008 specification
  • [CORE-3656] - Support for sweep information in Trace API
  • [CORE-3704] - Add new context variables to the SYSTEM namespace
  • [CORE-3727] - Support C preprocessor flags in firebird build system
  • [CORE-3779] - Report OS user name in MON$ATTACHMENTS
  • [CORE-3788] - Make all utilities follow same rules when expanding database name
  • [CORE-3879] - Make fb_lock_print a bit more handy
  • [CORE-3919] - Improve SIMILAR TO performance
  • [CORE-3963] - isql doesn't know the difference between UDF's and psql-functions
  • [CORE-3972] - Allow the selection of SQL_INT64, SQL_DATE and SQL_TIME in dialect 1
  • [CORE-3994] - Improve the limbo transactions scan at the end of the sweep
  • [CORE-3995] - Slight problem with GBAK parameter checking
  • [CORE-4157] - If record with BLOBs is inserted into temporary table, create copy of BLOB content in temporary space

New Feature

  • [CORE-462] - New option in addition to -V switch to specify a custom verbose interval
  • [CORE-657] - Database encryption
  • [CORE-685] - location of users lists /DB permission/
  • [CORE-726] - Boolean data type
  • [CORE-775] - True SMP support for SuperServer
  • [CORE-816] - Stored Procedures, Triggers and Functions in Java
  • [CORE-1209] - CONTINUE statement
  • [CORE-1288] - Subprocedures in PSQL and EXECUTE BLOCK
  • [CORE-1385] - Identity columns
  • [CORE-1952] - deprecate Implementation IDs, easing new ports
  • [CORE-2047] - User-defined PSQL functions
  • [CORE-2225] - Allow configuring emdedded version via API
  • [CORE-2310] - DDL triggers
  • [CORE-2312] - PSQL packages
  • [CORE-2470] - Support for alternate format of strings literals
  • [CORE-2639] - Pseudo-table with list of users, available for management to current user
  • [CORE-2700] - C++ API supporting functions, triggers and stored procedures
  • [CORE-2744] - Implement the inverse hyperbolic trigonometric functions as native functions, too
  • [CORE-2777] - Make possible to alter the default database character set without manual update of system table
  • [CORE-2884] - New object rights for enhanced security
  • [CORE-2890] - SQLSTATE should also be available as a PSQL context variable like GDSCODE/SQLCODE
  • [CORE-3018] - RECREATE, ALTER and CREATE OR ALTER SEQUENCE/GENERATOR statements
  • [CORE-3291] - New pseudocolumn (RDB$RECORD_VERSION) to get number of the transaction that created a record version
  • [CORE-3332] - Provide more detailed information about the query execution plan
  • [CORE-3364] - Blob filter to translate internal debug info into text representation
  • [CORE-3626] - Subfunctions in PSQL and EXECUTE BLOCK
  • [CORE-4047] - Increase number of input parameters for External Functions (UDFs) to 15
  • [CORE-4089] - Runtime architecture configuration

Task

  • [CORE-2517] - Not coping library on FreeBSD

Sub-task

  • [CORE-2090] - Support OVER () clause with current aggregate functions
  • [CORE-2133] - OVER (PARTITION BY ...) clause for window functions
  • [CORE-2823] - Support the ORDER BY subclause for current aggregate functions (except LIST)
  • [CORE-2830] - Window functions: DENSE_RANK, RANK and ROW_NUMBER
  • [CORE-2869] - Window functions: LAG and LEAD
  • [CORE-2996] - Fix error code incompatibility introduced in fix for CORE-2552
  • [CORE-3147] - Fix SUBSTRING(SIMILAR) in regard to initial and final shortest matching specified in the standard
  • [CORE-3369] - Initial implementation - just add new config parameter and adjust plugins to work with it
  • [CORE-3372] - Simplify process of non-default security database creation.
  • [CORE-3615] - add silent_install target to firebird's Makefile
  • [CORE-3619] - Window Function: first_value(value any)
  • [CORE-3620] - Window Function: last_value(value any)
  • [CORE-3621] - Window Function: nth_value(value any, nth integer) [from first | from last]
  • [CORE-3631] - Duplicate records with NULLs checked incorrectly
  • [CORE-3990] - Fix broken EDIT in isql

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.