52 KiB
v5.0.1
Improvements
-
#8181: Ensure the standalone CS listener on Linux uses the SO_REUSEADDR socket option
Contributor(s): Dmitry Yemanov -
#8165: Added shutdown handler for Classic Server
Contributor(s): Alexander Zhdanov -
#8104: More efficient evaluation of expressions like
RDB$DB_KEY <= ?
after mass delete
Contributor(s): Vlad Khorsun -
#8066: Make protocol schemes case-insensitive
Contributor(s): Vlad Khorsun -
#8061: Unnest
IN/ANY/EXISTS
subqueries and optimize them using semi-join algorithm
Contributor(s): Dmitry Yemanov -
#8042: Improve conflict resolution on replica when table have both primary and unique keys
Contributor(s): Vlad Khorsun -
#8030: Better cardinality estimation when empty data pages exist
Contributor(s): Vlad Khorsun -
#8010: Remove gfix -cache option
Contributor(s): Vlad Khorsun -
#7978: Update Windows distributions with zlib version 1.3.1
Contributor(s): Vlad Khorsun -
#7928: Make TempCacheLimit setting to be per-database (not per-attachment) for SuperClassic
Contributor(s): Vlad Khorsun
Bugfixes
-
#8189: Slow connection times with a lot of simultaneous connections and active trace session present
Contributor(s): Alex Peshkoff -
#8186: Fixed a few issues with IPC used by remote profiler
Contributor(s): Vlad Khorsun -
#8185: SIGSEGV in Firebird 5.0.0.1306 Embedded during update on cursor
Contributor(s): Adriano dos Santos Fernandes, Dmitry Yemanov -
#8180: Sometimes a system trace session is terminated spontaneously
Contributor(s): Artyom Abakumov -
#8178: Fix boolean conversion to string inside
DataTypeUtil::makeFromList()
Contributor(s): Dmitry Yemanov -
#8176: Firebird 5 hangs after starting remote profiling session
Contributor(s): Vlad Khorsun -
#8172: File include/firebird/impl/iberror_c.h is missing from the Linux x64 tar archive
Contributor(s): Adriano dos Santos Fernandes -
#8171: Trace plugin unloaded if called method is not implemented
Contributor(s): Vlad Khorsun -
#8168:
MAKE_DBKEY
bug after backup/restore
Contributor(s): Vlad Khorsun -
#8156: Can not specify concrete IPv6 address in ES/EDS connection string.
Contributor(s): Vlad Khorsun -
#8151: Deadlock happens when run 'List Trace Sessions' service and there are many active trace sessions
Contributor(s): Vlad Khorsun -
#8150: Process could attach to the deleted instance of shared memory
Contributor(s): Alexander Peshkov, Vlad Khorsun -
#8149: The hung or crash could happen when connection fires TRACE_EVENT_DETACH event and new trace session created concurrently
Contributor(s): Vlad Khorsun -
#8138: Bugcheck when replicator state is changed concurrently
Contributor(s): Vlad Khorsun -
#8136: Server crashes with
IN (dbkey1, dbkey2, ...)
condition
Contributor(s): Dmitry Yemanov -
#8123: Procedure manipulation can lead to wrong dependencies removal
Contributor(s): Adriano dos Santos Fernandes -
#8120: Cast dies with numeric value is out of range error
Contributor(s): Vlad Khorsun -
#8115: Unexpected results using
LEFT JOIN
withWHEN
function
Contributor(s): Dmitry Yemanov -
#8114: Segfault in connections pool during server shutdown
Contributor(s): Vlad Khorsun -
#8112: Error isc_read_only_trans (335544361) should report SQLSTATE 25006
Contributor(s): Adriano dos Santos Fernandes -
#8110: Firebird 5 crashes on Android API level 34
Contributor(s): Vlad Khorsun -
#8108: ICU 63.1 suppresses conversion errors
Contributor(s): Dmitry Kovalenko -
#8101: Firebird crashes if a plugin factory returns
nullptr
and no error in status
Contributor(s): Vlad Khorsun, Dimitry Sibiryakov -
#8100: The
isc_array_lookup_bounds
function returns invalid values for low and high array bounds
Contributor(s): Adriano dos Santos Fernandes -
#8094: Creation index error when restore with parallels workers
Contributor(s): Vlad Khorsun -
#8089: AV when attaching database while low of free memory
Contributor(s): Vlad Khorsun -
#8087: AV when preparing a query with
IN
list that contains both literals and sub-query
Contributor(s): Vlad Khorsun -
#8086:
IN
predicate with string-type elements is evaluated wrongly against a numeric field
Contributor(s): Dmitry Yemanov -
#8085: Memory leak when executing a lot of different queries and StatementTimeout > 0
Contributor(s): Vlad Khorsun -
#8084: Partial index uniqueness violation
Contributor(s): Vlad Khorsun -
#8083: AV when writting into internal trace log
Contributor(s): Vlad Khorsun -
#8079: Engine could crash when executing some trigger(s) while another attachment modifies them
Contributor(s): Vlad Khorsun -
#8078:
SIMILAR TO
with constant pattern using ‘|’, ‘*’, ‘?’ or ‘{0,N}’ doesn't work as expected
Contributor(s): Adriano dos Santos Fernandes -
#8077: Error "Too many recursion levels" does not stop execution of code that uses
ON DISCONNECT
trigger
Contributor(s): Alexander Peshkov, Vlad Khorsun -
#8063:
(VAR)CHAR
variables/parameters assignments fail in stored procedures with subroutines
Contributor(s): Adriano dos Santos Fernandes -
#8058: DDL changes in replication does not set the correct grantor
Contributor(s): Dmitry Yemanov -
#8056: "Too many temporary blobs" with blob_append when select a stored procedue using rows-clause
Contributor(s): Vlad Khorsun -
#8040: Bugcheck 183 (wrong record length) could happen on replica database after UK violation on insert
Contributor(s): Vlad Khorsun -
#8039: Segfault when opening damaged (last TIP is missing in RDB$PAGES, user's FW was OFF) database
Contributor(s): Alexander Peshkov -
#8037: Remove directory entries from debug symbols tarbal
Contributor(s): Alexander Peshkov -
#8034: (re)set owner/group in tarbal of non-root builds
Contributor(s): Alexander Peshkov -
#8033: Invalid result when string compared with indexed
NUMERIC(x,y)
fieldwhere x > 18 and y != 0
Contributor(s): Alexander Peshkov -
#8027: Broken gbak statistics
Contributor(s): Alexander Peshkov -
#8026: Crash LI-V5.0.0.1306 in libEngine13.so
Contributor(s): Alexander Peshkov -
#8016: Free memory issued for isql command list but has never been freed on output file write
Contributor(s): -
#8011:
DECFLOAT
error working withINT128
in UDR
Contributor(s): Alexander Peshkov -
#8006:
INT128
datatype not supported in FB_MESSAGE macro
Contributor(s): Alexander Peshkov -
#8003: gbak can't backup database in ODS < 13
Contributor(s): Vlad Khorsun -
#7998: Сrash during partial index checking if the condition raises a conversion error
Contributor(s): Dmitry Yemanov -
#7997: Unexpected results when comparing integer with string containing value out of range of that integer datatype
Contributor(s): Alexander Peshkov -
#7996: gbak terminates/crashes when a read error occurs during restore
Contributor(s): Vlad Khorsun -
#7995: Unexpected results after creating partial index
Contributor(s): Dmitry Yemanov -
#7993: Unexpected results when using
CASE WHEN
withRIGHT JOIN
Contributor(s): Dmitry Yemanov -
#7992: Assertion (space > 0) failure during restore
Contributor(s): Vlad Khorsun -
#7985: Hang in case of error when sweep thread is attaching to database (CS case)
Contributor(s): Alexander Peshkov -
#7979: Hang when database with disconnect trigger using MON$ tables is shutting down
Contributor(s): Alexander Peshkov -
#7976: False validation error for short unpacked records
Contributor(s): Dmitry Yemanov -
#7974: Restore of wide table can fail with "adjusting an invalid decompression length from to "
Contributor(s): Vlad Khorsun -
#7969: Characters are garbled when replicating fields with type
BLOB SUB_TYPE TEXT
if the character set of the connection and the field are different
Contributor(s): Dmitry Yemanov -
#7962: System procedure/function inconsistency between
SHOW FUNCTIONS
andSHOW PROCEDURES
in isql
Contributor(s): -
#7950: Unable to restore database when .fbk was created on host with other ICU
Contributor(s): Alexander Peshkov -
#7942: Error: database file appears corrupted after restore from backup
Contributor(s): Vlad Khorsun -
#7937: Inner join raises error "no current record for fetch operation" if a stored procedure depends on some table via input parameter and also has an indexed relationship with another table
Contributor(s): Dmitry Yemanov -
#7927: Some default values is set incorrectly for SC/CS architectures
Contributor(s): Vlad Khorsun -
#7921: FB5 uses PK for ordered plan even if less count of fields matching index exists
Contributor(s): Dmitry Yemanov -
#7899: Inconsistent state of master-detail occurs after RE-connect + 'SET AUTODDL OFF' + 'drop ' which is ROLLED BACK
Contributor(s): Vlad Khorsun -
#7896: replication.log remains empty (and without any error in firebird.log) until concurrent FB instance is running under different account and generates segments on its master. Significant delay required after stop concurrent FB it in order allow first one to write in its replication log.
Contributor(s): Vlad Khorsun -
#7873: Wrong memory buffer alignment and I/O buffer size when working in direct I/O mode
Contributor(s): Vlad Khorsun -
#7869: GBAK can write uninitialized data into
RDB$RETURN_ARGUMENT
andRDB$ARGUMENT_POSITION
fields
Contributor(s): Dmitry Kovalenko -
#7863: Non-correlated sub-query is evaluated multiple times if it is based on a VIEW rather than on appropriate derived table
Contributor(s): Dmitry Yemanov -
#7394: autoconf 2.72
Contributor(s): Alexander Peshkov
v5.0 Final Release
(no changes)
v5.0 Release Candidate 2
Improvements
-
#7918: Allow to configure Firebird in posix using relative directories with options --with-fb*
Contributor(s): Adriano dos Santos Fernandes -
#7910: Add backward compatibility option that disables joins transformation
Contributor(s): Dmitry Yemanov -
#7854: Performance issue with time zones
Contributor(s): Adriano dos Santos Fernandes, Vlad Khorsun -
#7819: Difficulty returning the product version with the legacy connection
Contributor(s): Vlad Khorsun -
#7818: Extend rdb$get_context('SYSTEM', '***') with other info from MON$ATTACHMENT
Contributor(s): Vlad Khorsun -
#7814: Don't update database-level statistics on every page cache operation
Contributor(s): Vlad Khorsun -
#7810: Improve SKIP LOCKED implementation
Contributor(s): Vlad Khorsun -
#7755: Update Windows distribution with new zlib version 1.3 (released 2023-08-18)
Contributor(s): Vlad Khorsun
Bugfixes
-
#7917: Hang in a case of error when the sweep thread is attaching the database
Contributor(s): Alexander Peshkov -
#7905: Segfault during TIP cache initialization
Contributor(s): Alexander Peshkov -
#7904: FB5 bad plan for query
Contributor(s): Dmitry Yemanov -
#7903: Unexpected Results when Using CASE-WHEN with LEFT JOIN
Contributor(s): Dmitry Yemanov -
#7885: Unstable error messages in services due to races related with service status vector
Contributor(s): Alexander Peshkov -
#7879: Unexpected Results when Using Natural Right Join
Contributor(s): Dmitry Yemanov -
#7867: Error "wrong page type" during garbage collection on v4.0.4
Contributor(s): Ilya Eremin -
#7860: Crash potentially caused by BETWEEN Operator
Contributor(s): Vlad Khorsun -
#7853: Do not consider non-deterministic expressions as invariants in pre-filters
Contributor(s): Dmitry Yemanov -
#7851: [FB1+, GBAK, Restore] The skip of att_functionarg_field_precision does not check RESTORE_format
Contributor(s): Dmitry Kovalenko -
#7846: FB4 can't backup/restore int128-array
Contributor(s): Dmitry Kovalenko -
#7844: Removing first column with SET WIDTH crashes ISQL
Contributor(s): Adriano dos Santos Fernandes -
#7839: Potential bug in BETWEEN Operator
Contributor(s): Vlad Khorsun -
#7832: Firebird 5 and 6 crash on "... RETURNING * " without INTO in PSQL
Contributor(s): Adriano dos Santos Fernandes -
#7831: Incorrect type of UDF-argument with array
Contributor(s): Dmitry Kovalenko -
#7827: Problem using python firebird-driver with either intel or m1 Mac buiilds with version 4.0.3 or 5.0+
Contributor(s): Adriano dos Santos Fernandes -
#7817: Memory leak is possible for UDF array arguments
Contributor(s): Dmitry Yemanov -
#7812: Service backup does not work in multiple engines configuration
Contributor(s): Alexander Peshkov -
#7800: Default publication status is not preserved after backup/restore
Contributor(s): Dmitry Yemanov -
#7795: NOT IN returns incorrect result if NULLs are present inside the value list
Contributor(s): Dmitry Yemanov -
#7779: Firebird 4.0.3 is constantly crashing with the same symptoms (fbclient.dll) (incl. DMP File Analysis)
Contributor(s): Vlad Khorsun -
#7772: Blob corruption in FB 4.0.3 (embedded)
Contributor(s): Vlad Khorsun -
#7770: restore takes 25% more time vs 4.0.0
Contributor(s): Vlad Khorsun -
#7767: Slow drop trigger command execution under FB5.0
Contributor(s): Dmitry Yemanov -
#7762: Crash on "Operating system call pthread_mutex_destroy failed. Error code 16" in log
Contributor(s): Alexander Peshkov -
#7761: Regression when displaying line number of errors in ISQL scripts
Contributor(s): Adriano dos Santos Fernandes -
#7760: Parameters inside the IN list may cause a string truncation error
Contributor(s): Dmitry Yemanov -
#7759: Routine calling overhead increased by factor 6 vs Firebird 4.0.0
Contributor(s): Adriano dos Santos Fernandes -
#7461: Differencies in field metadata descriptions between Firebird 2.5 and Firebird 4
Contributor(s): Dmitry Yemanov
v5.0 Release Candidate 1
New features
-
#7682: Use ParallelWorkers setting from firebird.conf as default for all parallelised operations
Contributor(s): Vlad Khorsun -
#7469: Make Android port (client / embedded) work inside apps
Contributor(s): Adriano dos Santos Fernandes -
#5959: Add support for
QUARTER
toEXTRACT
,FIRST_DAY
andLAST_DAY
Contributor(s): Adriano dos Santos Fernandes
Improvements
-
#7752: Avoid the access path information inside the
PLG$PROF_RECORD_SOURCES
table from being truncated to 255 characters
Contributor(s): Adriano dos Santos Fernandes -
#7720: MacOS: build libicu and static libc++ using vcpkg
Contributor(s): Adriano dos Santos Fernandes -
#7707: Better processing and optimization if
IN <list>
predicates
Contributor(s): Dmitry Yemanov -
#7692: Make trace config parser resolve symlinks in database file path in trace configuration
Contributor(s): Vlad Khorsun -
#7688: Profiler should not miss query's top-level access paths nodes
Contributor(s): Adriano dos Santos Fernandes -
#7687: Add
LEVEL
column toPLG$PROF_RECORD_SOURCES
andPLG$PROF_RECORD_SOURCE_STATS_VIEW
Contributor(s): Adriano dos Santos Fernandes -
#7685: Add overload
FbVarChar::set
function for non null-terminated string
Contributor(s): Adriano dos Santos Fernandes -
#7680: Make boot build on Windows a bit more user-friendly
Contributor(s): Vlad Khorsun -
#7652: Make the profiler store aggregated requests by default, with option for detailed store
Contributor(s): Adriano dos Santos Fernandes -
#7642: Getting the current
DECFLOAT ROUND/TRAPS
settings
Contributor(s): Alexander Peshkov -
#7637: Run as application not specifying switch -a
Contributor(s): Vlad Khorsun -
#7634: Include Performance Cores only in default affinity mask
Contributor(s): Vlad Khorsun -
#7576: Allow nested parenthesized joined table
Contributor(s): Mark Rotteveel -
#7559: Optimize creation of expression and partial indices
Contributor(s): Dmitry Yemanov -
#7550: Add support for -parallel in combination with gfix -icu
Contributor(s): Vlad Khorsun -
#7542: Compiler warnings raise when build cloop generated Firebird.pas in RAD Studio 11.3
Contributor(s): Vlad Khorsun -
#7539:
RDB$GET/SET_CONTEXT()
: enclosing in apostrophes or double quotes of a missed namespace/variable will make output more readable
Contributor(s): Vlad Khorsun -
#7536: Add ability to query current value of parallel workers for an attachment
Contributor(s): Vlad Khorsun -
#7506: Reduce output of the
SHOW GRANTS
command
Contributor(s): Artyom Ivanov -
#7494: Firebird performance issue - unnecessary index reads
Contributor(s): Vlad Khorsun -
#7475:
SHOW SYSTEM
command: provide list of functions belonging to system packages
Contributor(s): Alexander Peshkov -
#7466: Add COMPILE trace events for procedures/functions/triggers
Contributor(s): Dmitry Yemanov -
#7425: Add REPLICA MODE to the output of the isql
SHOW DATABASE
command
Contributor(s): Dmitry Yemanov -
#7405: Surface internal optimization modes (all rows vs first rows) at the SQL and configuration levels
Contributor(s): Dmitry Yemanov -
#7213: Use Windows private namespace for kernel objects used in server-to-server IPC
Contributor(s): Vlad Khorsun -
#7046: Make ability to add comment to mapping (
COMMENT ON MAPPING ... IS ...
)
Contributor(s): Alexander Peshkov -
#7001: ISQL showing publication status
Contributor(s): Dmitry Yemanov
Bugfixes
-
#7747: Fix an issue where the garbage collection in indexes and blobs is not performed in VIO_backout
Contributor(s): Ilya Eremin -
#7738: Crash on multiple connections/disconnections
Contributor(s): Alexander Peshkov -
#7737: Fix cases where the precedence relationship between a record page and a blob page is not set
Contributor(s): Ilya Eremin -
#7731: Display length of timestamp with timezone is wrong in dialect 1
Contributor(s): Alexander Peshkov -
#7730: Server ignores the size of VARCHAR when performing
SET BIND ... TO VARCHAR(N)
Contributor(s): Alexander Peshkov -
#7729:
SET BIND OF TS WITH TZ TO VARCHAR(128)
uses the date format of dialect 1
Contributor(s): Alexander Peshkov -
#7727: Index for integer column cannot be used when
INT128/DECFLOAT
value is being searched
Contributor(s): Dmitry Yemanov -
#7723: Wrong error message on login if the user doesn't exists and WireCrypt is disabled
Contributor(s): Alexander Peshkov -
#7713:
FOR SELECT
statement can not see any changes made inDO
block
Contributor(s): Vlad Khorsun -
#7710: Expression index - more than one null value cause attempt to store duplicate value error - FB5.0 beta 2
Contributor(s): Vlad Khorsun -
#7703: Requests leak in AutoCacheRequest
Contributor(s): Alexander Peshkov -
#7696:
select from external procedure
validates output parameters even when fetch method returns false
Contributor(s): Adriano dos Santos Fernandes -
#7694: Fix false positives of "missing entries for record X" error during index validation when a deleted record version is committed and has a backversion
Contributor(s): Ilya Eremin -
#7691:
with caller privileges
has no effect in triggers
Contributor(s): Alexander Peshkov -
#7683:
rdb$time_zone_util.transitions
returns an infinite resultset
Contributor(s): Adriano dos Santos Fernandes -
#7676: "Attempt to evaluate index expression recursively"
Contributor(s): Dmitry Yemanov -
#7670: Cursor name can duplicate parameter and variable names in procedures and functions
Contributor(s): Adriano dos Santos Fernandes -
#7665: Wrong result ordering in
LEFT JOIN
query
Contributor(s): Dmitry Yemanov -
#7664:
DROP TABLE
executed for a table with big records may lead to "wrong page type" or "end of file" error
Contributor(s): Vlad Khorsun, Ilya Eremin -
#7662: Fix performance issues in prepare_update()
Contributor(s): Ilya Eremin -
#7661: Classic Server rejects new connections
Contributor(s): Vlad Khorsun -
#7658: Segfault when closing database in valgrind-enabled build
Contributor(s): Alexander Peshkov -
#7649: Switch Linux performance counter timer to CLOCK_MONOTONIC_RAW
Contributor(s): Adriano dos Santos Fernandes -
#7641: Fix wrong profiler measurements due to overflow.
Contributor(s): Adriano dos Santos Fernandes -
#7638:
OVERRIDING USER VALUE
should be allowed forGENERATED ALWAYS AS IDENTITY
Contributor(s): Adriano dos Santos Fernandes -
#7627: The size of the database with big records becomes bigger after backup/restore
Contributor(s): Ilya Eremin -
#7626: Segfault when new attachment is done to shutting down database
Contributor(s): Alexander Peshkov -
#7611: Can't backup/restore database from v3 to v4 with
SEC$USER_NAME
field longer than 10 characters
Contributor(s): Adriano dos Santos Fernandes -
#7610: Uninitialized/random value assigned to
RDB$ROLES
->RDB$SYSTEM PRIVILEGES
when restoring from FB3 backup
Contributor(s): Adriano dos Santos Fernandes -
#7604: PSQL functions do not convert the output BLOB to the connection character set.
Contributor(s): Adriano dos Santos Fernandes -
#7603:
BIN_SHR
onINT128
does not apply sign extension
Contributor(s): Alexander Peshkov -
#7599: Conversion of text with '\0' to
DECFLOAT
without errors
Contributor(s): Alexander Peshkov -
#7598: DDL statements hang when the compiled statements cache is enabled
Contributor(s): Vlad Khorsun -
#7582: Missing isc_info_end in Firebird.pas
Contributor(s): Alexander Peshkov -
#7579: Cannot nbackup a firebird 3.0 database in firebird 4.0 service with engine12 setup in Providers
Contributor(s): Alexander Peshkov -
#7574: Derived table syntax allows dangling
AS
Contributor(s): Adriano dos Santos Fernandes -
#7569: Multi-level order by and offset/fetch ignored on parenthesized query expressions
Contributor(s): Adriano dos Santos Fernandes -
#7562: Profiler elapsed times are incorrect in Windows
Contributor(s): Adriano dos Santos Fernandes -
#7556: FB Classic can hang when attempts to attach DB while it is starting to encrypt/decrypt
Contributor(s): Alexander Peshkov -
#7555: Invalid configuration for random fresh created database may be used after drop of another one with alias in databases.conf
Contributor(s): Alexander Peshkov -
#7554: Firebird 5 partial index creation causes server hang up
Contributor(s): Vlad Khorsun -
#7553: Firebird 5 profiler error with subselects
Contributor(s): Adriano dos Santos Fernandes -
#7548:
SET BIND OF TIMESTAMP WITH TIME ZONE TO CHAR
is not working with UTF8 connection charset
Contributor(s): Adriano dos Santos Fernandes -
#7537: Wrong name in error message when unknown namespace is passed into RDB$SET_CONTEXT()
Contributor(s): Vlad Khorsun -
#7535: High CPU usage connect to Firebird 3 database using Firebird 4 Classic and SuperClassic service
Contributor(s): Vlad Khorsun -
#7514: Segfault when detaching after deleting shadow on Classic
Contributor(s): Alexander Peshkov -
#7504: Segfault when closing SQL statement in remote provider during shutdown
Contributor(s): Alexander Peshkov -
#7499: Problem with restore
Contributor(s): Vlad Khorsun -
#7488: Invalid real to string cast
Contributor(s): Alexander Peshkov, Artyom Abakumov -
#7486: No initialization of rpb's runtime flags causes problems with
SKIP LOCKED
when config ReadConsistency = 0 and SuperServer
Contributor(s): Adriano dos Santos Fernandes -
#7484: External engine
SYSTEM
not found
Contributor(s): Adriano dos Santos Fernandes -
#7480: Firebird server stops accepting new connections after some time
Contributor(s): Alexander Peshkov -
#7472: Window functions may lead to crash interacting with others exceptions
Contributor(s): Adriano dos Santos Fernandes -
#7464: Crash on repeating update in 5.0
Contributor(s): Adriano dos Santos Fernandes -
#7456: Impossible drop function in package with name of PSQL-function
Contributor(s): Adriano dos Santos Fernandes -
#7445: Fix problem with client-only build requiring btyacc's generated files present
Contributor(s): Adriano dos Santos Fernandes -
#7387: Unreliable replication behaviour in Linux Classic
Contributor(s): Dmitry Yemanov -
#7233: Postfix for #5385 (CORE-5101): Fix slow database restore when Classic server mode is used
Contributor(s): Ilya Eremin
v5.0 Beta 1 (27-Mar-2023)
New features
-
#7447: Parallel sweeping and index creation inside the engine
Reference(s): /doc/README.parallel_features
Contributor(s): Vlad Khorsun -
#7397: Inline minor ODS upgrade
Contributor(s): Dmitry Yemanov -
#7350: SKIP LOCKED clause for SELECT WITH LOCK, UPDATE and DELETE
Reference(s): /doc/sql.extensions/README.skip_locked.md
Contributor(s): Adriano dos Santos Fernandes -
#7216: New built-in function
BLOB_APPEND
Reference(s): /doc/sql.extensions/README.blob_append.md
Contributor(s): Vlad Khorsun -
#7144: Compiled statement cache
Contributor(s): Adriano dos Santos Fernandes -
#7086: PSQL and SQL profiler
Reference(s): /doc/sql.extensions/README.profiler.md
Contributor(s): Adriano dos Santos Fernandes -
#7050: Add table
MON$COMPILED_STATEMENTS
and columnMON$COMPILED_STATEMENT_ID
to bothMON$STATEMENTS
andMON$CALL_STACK
tables
Reference(s): /doc/README.monitoring_tables
Contributor(s): Adriano dos Santos Fernandes -
#6910: Add way to retrieve statement BLR with
Statement::getInfo
and ISQL'sSET EXEC_PATH_DISPLAY
BLR
Contributor(s): Adriano dos Santos Fernandes -
#6798: Add built-in functions
UNICODE_CHAR
andUNICODE_VAL
to convert between Unicode code point and character
Reference(s): /doc/sql.extensions/README.builtin_functions.txt
Contributor(s): Adriano dos Santos Fernandes -
#6713: System table
RDB$KEYWORDS
with keywords [CORE6482]
Contributor(s): Adriano dos Santos Fernandes -
#6681: Support for
WHEN NOT MATCHED BY SOURCE
forMERGE
statement [CORE6448]
Reference(s): /doc/sql.extensions/README.merge.txt
Contributor(s): Adriano dos Santos Fernandes -
#3750: Partial indices [CORE3384]
Reference(s): /doc/sql.extensions/README.partial_indices
Contributor(s): Dmitry Yemanov, Vlad Khorsun -
#1783: New GBAK switch to backup / restore tables/indexes in parallel
Reference(s): /doc/README.gbak
Contributor(s): Vlad Khorsun
Improvements
-
#7441: More cursor-related details in the plan output
Contributor(s): Dmitry Yemanov -
#7437: Update zlib to 1.2.13
Contributor(s): Vlad Khorsun -
#7411: Unify display of system procedures & packages with other system objects
Contributor(s): Alexander Peshkov -
#7399: Simplify client library build
Contributor(s): Adriano dos Santos Fernandes -
#7382: Performance improvement for BLOB copying
Contributor(s): Adriano dos Santos Fernandes -
#7331: Cost-based choice between nested loop join and hash join
Contributor(s): Dmitry Yemanov -
#7294: Allow FB-known macros in replication.conf
Contributor(s): Dmitry Yemanov -
#7293: Create Android packages with all necessary files in all architectures (x86, x64, arm32, arm64)
Contributor(s): Adriano dos Santos Fernandes -
#7284: Change release filenames as the following examples
Contributor(s): Adriano dos Santos Fernandes -
#7259: Remove TcpLoopbackFastPath and use of SIO_LOOPBACK_FAST_PATH
Contributor(s): Vlad Khorsun -
#7208: Trace: provide performance statistics for DDL statements
Contributor(s): Vlad Khorsun -
#7194: Make it possible to avoid fbclient dependency in pascal programs using firebird.pas
Contributor(s): Alexander Peshkov -
#7186: Nbackup
RDB$BACKUP_HISTORY
cleanup
Contributor(s): Vlad Khorsun -
#7169: Improve ICU version mismatch diagnostics
Contributor(s): Adriano dos Santos Fernandes -
#7168: Ignore missing UDR libraries during restore
Contributor(s): Adriano dos Santos Fernandes -
#7165: Provide ability to see in the trace log events related to missing security context
Contributor(s): Vlad Khorsun -
#7093: Improve indexed lookup speed of strings when the last keys characters are part of collated contractions
Contributor(s): Adriano dos Santos Fernandes -
#7092: Improve performance of
CURRENT_TIME
Contributor(s): Adriano dos Santos Fernandes -
#7083:
ResultSet::getInfo()
implementation
Contributor(s): Dmitry Yemanov -
#7065: Connection hangs after delivery of 256GB of data
Contributor(s): Alexander Peshkov -
#7051: Network support for bi-directional cursors
Contributor(s): Dmitry Yemanov -
#7046: Make ability to add comment to mapping
('COMMENT ON MAPPING ... IS ...')
Contributor(s): Alexander Peshkov -
#7042:
ON DISCONNECT
triggers are not executed during forced attachment shutdown
Contributor(s): Ilya Eremin -
#7041: Firebird port for Apple M1
Contributor(s): Adriano dos Santos Fernandes -
#7038: Improve performance of
STARTING WITH
with insensitive collations
Contributor(s): Adriano dos Santos Fernandes -
#7025: Results of negation must be the same for each datatype (smallint / int / bigint / int128) when argument is least possible value for this type
Contributor(s): Alexander Peshkov -
#6992: Transform
OUTER
joins intoINNER
ones if theWHERE
condition violates the outer join rules
Contributor(s): Dmitry Yemanov -
#6959:
IBatch::getInfo()
implementation
Contributor(s): Alexander Peshkov -
#6957: Add database creation time to the output of ISQL's command
SHOW DATABASE
Contributor(s): Vlad Khorsun -
#6954: fb_info_protocol_version support
Contributor(s): Alexander Peshkov -
#6929: Add support of PKCS v.1.5 padding to RSA functions, needed for backward compatibility with old systems.
Contributor(s): Alexander Peshkov -
#6915: Allow attribute DISABLE-COMPRESSIONS in UNICODE collations
Contributor(s): Adriano dos Santos Fernandes -
#6903: Unable to create ICU-based collation with locale keywords
Contributor(s): tkeinz, Adriano dos Santos Fernandes -
#6874: Literal 65536 (interpreted as int) can not be multiplied by itself w/o cast if result more than 2^63-1
Contributor(s): Alexander Peshkov -
#6873:
SIMILAR TO
should use index when pattern starts with non-wildcard character (asLIKE
does)
Contributor(s): Adriano dos Santos Fernandes -
#6872: Faster execution of indexed
STARTING WITH
with UNICODE collation
Contributor(s): Adriano dos Santos Fernandes -
#6815: Support multiple rows for DML
RETURNING
Contributor(s): Adriano dos Santos Fernandes -
#6810: Use precise limit of salt length when signing messages and verifying the sign
Contributor(s): Alexander Peshkov -
#6809: Integer hex-literal support for INT128
Contributor(s): Alexander Peshkov -
#6794: Improvement: add
MON$SESSION_TIMEZONE
toMON$ATTACHMENTS
Contributor(s): Adriano dos Santos Fernandes -
#6740: Allow parenthesized query expression for standard-compliance [CORE6511]
Contributor(s): Adriano dos Santos Fernandes -
#6730: Trace: provide ability to see STATEMENT RESTART events (or their count) [CORE6500]
Contributor(s): Vlad Khorsun -
#6571: Improve memory consumption of statements and requests [CORE6330]
Contributor(s): Adriano dos Santos Fernandes -
#5589: Support full SQL standard character string literal syntax [CORE5312]
Contributor(s): Adriano dos Santos Fernandes -
#5588: Support full SQL standard binary string literal syntax [CORE5311]
Contributor(s): Adriano dos Santos Fernandes -
#4769: Allow sub-routines to access variables/parameters defined at the outer/parent level [CORE4449]
Contributor(s): Adriano dos Santos Fernandes -
#4723: Optimize the record-level RLE algorithm for a denser compression of shorter-than-declared strings and sets of subsequent NULLs [CORE4401]
Contributor(s): Dmitry Yemanov -
#1708: Avoid data retrieval if the
WHERE
clause always evaluates toFALSE
[CORE1287]
Contributor(s): Dmitry Yemanov -
#281:
RDB$BLOB_UTIL
system package
Contributor(s): Adriano dos Santos Fernandes
Bugfixes
-
#7388: Different invariants optimization between views and CTEs
Contributor(s): Dmitry Yemanov -
#7314: Multitreaded activating indices restarts server process
Contributor(s): Vlad Khorsun -
#7304: Events in system attachments (like garbage collector) are not traced
Contributor(s): Alexander Peshkov -
#7298: Info result parsing
Contributor(s): Alexander Peshkov -
#7296: During shutdown op_disconnect may be sent to invalid handle
Contributor(s): Alexander Peshkov -
#7295: Unexpected message 'Error reading data from the connection' when fbtracemgr is closed using Ctrl-C
Contributor(s): Alexander Peshkov -
#7283: Suspicious error message during install
Contributor(s): Alexander Peshkov -
#7262: Repeated op_batch_create leaks the batch
Contributor(s): Alexander Peshkov -
#7045: International characters in table or alias names causes queries of
MON$STATEMENTS
to fail
Contributor(s): Adriano dos Santos Fernandes -
#6968: On Windows, engine may hung when works with corrupted database and read after the end of file
Contributor(s): Vlad Khorsun -
#6854: Crash occurs when use
SIMILAR TO
Contributor(s): Adriano dos Santos Fernandes -
#6845: Result type of
AVG
overBIGINT
column results in typeINT128
Contributor(s): Alexander Peshkov -
#6838: Deleting multiple rows from a view with triggers may cause triggers to fire just once
Contributor(s): Dmitry Yemanov -
#6836:
fb_shutdown()
does not wait for self completion in other thread
Contributor(s): Alexander Peshkov -
#6832: Segfault using "commit retaining" with GTT
Contributor(s): Alexander Peshkov -
#6825: Correct error message for
DROP VIEW
Contributor(s): Ilya Eremin -
#6817: -fetch_password passwordfile does not work with gfix
Contributor(s): Alexander Peshkov -
#6807: Regression in FB 4.x : "Unexpected end of command" with incorrect line/column info
Contributor(s): Adriano dos Santos Fernandes -
#6801: Error recompiling a package with some combination of nested functions
Contributor(s): Adriano dos Santos Fernandes -
#5749: Token unknown error on formfeed in query [CORE5479]
Contributor(s): Adriano dos Santos Fernandes -
#5534: String truncation exception on
UPPER/LOWER
functions, UTF8 database and some multibyte characters [CORE5255]
Contributor(s): Adriano dos Santos Fernandes -
#5173: Compound
ALTER TABLE
statement withADD
andDROP
the same constraint failed if this constraint involves index creation (PK/UNQ/FK) [CORE4878]
Contributor(s): Ilya Eremin -
#5082: Exception "too few key columns found for index" raises when attempt to create table with PK and immediatelly drop this PK within the same transaction [CORE4783]
Contributor(s): Ilya Eremin -
#4893: Syntax error when
UNION
subquery ("query primary") in parentheses [CORE4577]
Contributor(s): Adriano dos Santos Fernandes -
#4085:
RDB$INDICES
information stored inconsistently after aCREATE INDEX
[CORE3741]
Contributor(s): Dmitry Yemanov -
#3886:
RECREATE TABLE T
with PK or UK is impossible after duplicate typing w/o commit when ISQL is launched in AUTODDL=OFF mode [CORE3529]
Contributor(s): Ilya Eremin -
#3812: Query with SP doesn't accept explicit plan [CORE3451]
Contributor(s): Dmitry Yemanov -
#3357: Bad execution plan if some stream depends on multiple streams via a function [CORE2975]
Contributor(s): Dmitry Yemanov -
#1210: Server hangs on I/O error during "open" operation for file "/tmp/firebird/fb_trace_ksVDoc" [CORE2917]
Contributor(s): Alexander Peshkov -
#3218: Optimizer fails applying stream-local predicates before merging [CORE2832]
Contributor(s): Dmitry Yemanov