Download | Release Notes | Changelog | Overview of 10.9
Alternate download from mariadb.org
Release date: 14 Aug 2023
MariaDB 10.9 is a previous short-term stable series of MariaDB, maintained until August 2023. It is an evolution of MariaDB 10.8 with several entirely new features.
MariaDB 10.9.8 is a Stable (GA) release.
MariaDB 10.9.8 is the last release of the MariaDB 10.9 release series.
For an overview of MariaDB 10.9 see theWhat is MariaDB 10.9? page.
Thanks, and enjoy MariaDB!
As per the , this will be the final release of
MariaDB now detects and converts previously incompatible MySQL partition schemes ()
As per the , this will be the last release of for Ubuntu 18.04 LTS "Bionic" and Ubuntu 22.10 "Kinetic"
doesn't ignore error as it should ()
280 Bytes lost in mysys/array.c, mysys/hash.c, sql/sp.cc, sql/sp.cc, sql/item_create.cc, sql/item_create.cc, sql/sql_yacc.yy:10748 when using oracle sql_mode ()
SQL/PL package body does not appear in I_S.ROUTINES.ROUTINE_DEFINITION
version >= 6 are now stored without byte-swapping, UUIDs with version >=8 and variant=0 are now considered invalid, old tables are supported, old (always byte swapped) and new (swapped for version < 6) UUIDs can be compared and converted transparently ()
UBSAN: null pointer passed as argument 1, which is declared to never be null in my_strnncoll_binary on SELECT ... COUNT or GROUP_CONCAT ()
Possibly wrong result or Assertion 0' failed in
Crashing on I/O error is unhelpful ()
SIGSEGV in log_sort_flush_list() in InnoDB crash recovery ()
InnoDB tables are being flagged as corrupted on an I/O bound server ()
Duplicate entry allowed into a ()
Various crashes upon INSERT/UPDATE after changing Aria settings ()
Various crashes/asserts/corruptions when Aria encryption is enabled/used, but the encryption plugin is not loaded ()
SIGSEGV in spider_db_open_item_field and SIGSEGV in spider_db_print_item_type, on SELECT ()
that double as table params overriding mechanism is buggy ()
InnoDB engine statistics for each table ()
Assertion ``last_key_entry >= end_pos'failed in virtual boolJOIN_CACHE_HASHED::put_record()` ()
Problem with open ranges on prefix blobs keys ()
Equal on two
Parallel Slave SQL Thread Can Update Seconds_Behind_Master with Active Workers ()
ends up in optimistic parallel slave binlog out-of-order ()
takes very long time on a busy system ()
On slave fail to return an error in read-only mode ()
Node never returns from Donor/Desynced to Synced when wsrep_mode = BF_ABORT_mariadb-backup ()
Node has been dropped from the cluster on Startup / Shutdown with async replica ()
KILL QUERY maintains nodes data consistency but breaks GTID sequence ()
Assertion failure
Fixes for the following :
CVE--``#
For a complete list of changes made in , with links to detailed information on each push, see the .
For a full list of contributors to , see the .
Unexpected result when combining , subselect and (MDEV-28285)
variables do not get assigned from subselects (MDEV-31250)
Crash after setting global session_track_system_variables to an invalid value (MDEV-25237)
ODKU of non-versioning column inserts history row (MDEV-23100)
UPDATE not working properly on transaction precise system versioned table (MDEV-25644)
Assertion ``const_item_cache == true'failed inItem_func::fix_fields` (MDEV-31319)
ANALYZE doesn't work with pushed derived tables (MDEV-29284)
get_partition_set is never executed in ha_partition::multi_range_key_create_key due to bitwise & with 0 constant (MDEV-24712)
Client can crash the server with a mysql_list_fields("view") call (MDEV-30159)
I_S.parameters not immediatly changed updated after procedure change (MDEV-31064)
bzero wipes more bytes than necessary in set_global_from_ddl_log_entry (MDEV-31521)
Assertion ``0'failed inType_handler_row::field_typeuponTO_CHAR` with wrong argument (MDEV-29152)
mysql_upgrade fails due to old_mode="", with "Cannot load from mysql.proc. The table is probably corrupted" (MDEV-28915)
Assertion ``(length % 4) == 0'failed inmy_lengthsp_utf32onSELECT` (MDEV-29019)
UBSAN: negation of -X cannot be represented in type 'long long int'; cast to an unsigned type to negate this value to itself in Item_func_mul::int_op and Item_func_round::int_op (MDEV-30932)
Assorted assertion failures in json_find_path with certain collations (MDEV-23187)
Server Status is reported in seconds (MDEV-29311)
innochecksum dies with Floating point exception (MDEV-31641)
Add InnoDB engine information to the (MDEV-31558)
Deadlock with 3 concurrent by (MDEV-10962)
innodb protection against dual processes accessing data insufficient (MDEV-31568)
ER_DUP_KEY in mysql.innodb_table_stats upon RENAME on sequence (MDEV-31607)
Assertion ``!strcmp(index->table->name.m_name, "SYS_FOREIGN") || !strcmp(index->table->name.m_name, "SYS_FOREIGN_COLS")'failed inbtr_node_ptr_max_size` (MDEV-19216)
InnoDB: Failing assertion: page_type == i_s_page_type[page_type].type_value (MDEV-31386)
btr_estimate_n_rows_in_range() accesses unfixed, unlatched page (MDEV-30648)
MODIFY COLUMN can break FK constraints, and lead to unrestorable dumps (MDEV-31086)
Recovery or backup failure after (MDEV-31487)
Assertion 'n & PENDING' failed in fil_space_t::set_needs_flush() (MDEV-31442)
fil_node_open_file() releases fil_system.mutex allowing other thread to open its file node (MDEV-31256)
ASAN errors in dict_v_col_t::detach upon adding key to virtual column (MDEV-31416)
Purge trying to access freed secondary index page (MDEV-31264)
Freed data pages are not always being scrubbed (MDEV-31253)
InnoDB recovery hangs after reporting corruption (MDEV-31353)
!cursor->index->is_committed() in row0ins.cc after update to 10.4.13 from 10.3.21 (MDEV-22739)
fails to wait for purge of enough transaction history (MDEV-31355)
SET GLOBAL does not free space when no undo logs exist (MDEV-31382)
(linear read-ahead) does not work (MDEV-29967)
InnoDB recovery and mariadb-backup --prepare fail to report detailed progress (MDEV-29911)
fil_ibd_create() may hijack the file handle of an old file (MDEV-31347)
recovery results in a corrupted undo log (MDEV-31373)
Server freeze due to and (MDEV-31088)
Change buffer entries are left behind when freeing a page, causing secondary index corruption when the page is later reused (MDEV-31385)
Foreign Key Constraint actions don't affect Virtual Column (MDEV-18114)
Recursive CTE execution is interrupted without errors or warnings (MDEV-31214)
Assertion ``s->table->opt_range_condition_rows <= s->found_records'failed inapply_selectivity_for_table` (MDEV-31449)
Inconsistency between MRR and SQL layer costs can cause poor query plan (MDEV-31479)
MAX_SEL_ARG memory exhaustion is not visible in the optimizer trace (MDEV-30964)
not working properly with lower_case_table_names=2 (MDEV-30765)
Segfault on select query using index for group-by and filesort (MDEV-30143)
Server crash in store_length, assertion failure in Type_handler_string_result::sort_length (MDEV-31743)
Calling a function from a different database in a slave side trigger crashes (MDEV-29894)
rpl.rpl_manual_change_index_file occasionally fails in BB with Result length mismatch (MDEV-30214)
!lock.was_chosen_as_deadlock_victim in trx0trx.h:1065MariaDB stuck on starting commit state (waiting on commit order critical section) (MDEV-29293)
Assertion state() == s_aborting || state() == s_must_replay failed in int wsrep::transaction::after_rollback() (MDEV-30013)
Assertion !wsrep_has_changes(thd) || (thd->lex->sql_command == SQLCOM_CREATE_TABLE && !thd->is_current_stmt_binlog_format_row()) || thd->wsrep_cs().transaction().state() == wsrep::transaction::s_aborted failed (MDEV-30388)
Server crashes when wsrep_sst_donor and wsrep_cluster_address set to NULL (MDEV-28433)
Create temporary sequence can cause inconsistency (MDEV-31335)
Galera 4 unable to query cluster state if not primary component (MDEV-21479)
This page is licensed: CC BY-SA / Gnu FDL