1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge 10.6 into 10.11

This commit is contained in:
Marko Mäkelä
2025-03-27 08:01:47 +02:00
463 changed files with 4278 additions and 1958 deletions

View File

@@ -499,7 +499,7 @@ int ha_init_errors(void)
SETMSG(HA_ERR_INDEX_COL_TOO_LONG, ER_DEFAULT(ER_INDEX_COLUMN_TOO_LONG));
SETMSG(HA_ERR_INDEX_CORRUPT, ER_DEFAULT(ER_INDEX_CORRUPT));
SETMSG(HA_FTS_INVALID_DOCID, "Invalid InnoDB FTS Doc ID");
SETMSG(HA_ERR_DISK_FULL, ER_DEFAULT(ER_DISK_FULL));
SETMSG(HA_ERR_DISK_FULL, "Disk got full writing '%s'");
SETMSG(HA_ERR_FTS_TOO_MANY_WORDS_IN_PHRASE, "Too many words in a FTS phrase or proximity search");
SETMSG(HA_ERR_FK_DEPTH_EXCEEDED, "Foreign key cascade delete/update exceeds");
SETMSG(HA_ERR_TABLESPACE_MISSING, ER_DEFAULT(ER_TABLESPACE_MISSING));
@@ -672,6 +672,8 @@ int ha_initialize_handlerton(void *plugin_)
DBUG_EXECUTE_IF("unstable_db_type", {
static int i= (int) DB_TYPE_FIRST_DYNAMIC;
while (installed_htons[i])
i++;
hton->db_type= (enum legacy_db_type)++i;
});
@@ -2291,7 +2293,7 @@ int ha_rollback_trans(THD *thd, bool all)
"conf %d wsrep_err %s SQL %s",
thd->thread_id, thd->query_id, thd->wsrep_trx().state(),
wsrep::to_c_string(thd->wsrep_cs().current_error()),
thd->query());
wsrep_thd_query(thd));
}
#endif /* WITH_WSREP */
}
@@ -2307,7 +2309,7 @@ int ha_rollback_trans(THD *thd, bool all)
if (WSREP(thd) && thd->is_error())
{
WSREP_DEBUG("ha_rollback_trans(%lld, %s) rolled back: msg %s is_real %d wsrep_err %s",
thd->thread_id, all? "TRUE" : "FALSE",
thd->thread_id, all ? "TRUE" : "FALSE",
thd->get_stmt_da()->message(), is_real_trans,
wsrep::to_c_string(thd->wsrep_cs().current_error()));
}
@@ -2800,6 +2802,7 @@ static my_bool xarecover_handlerton(THD *unused, plugin_ref plugin,
}
if (IF_WSREP((wsrep_emulate_bin_log &&
wsrep_is_wsrep_xid(info->list + i) &&
!wsrep_is_xid_gtid_undefined(info->list + i) &&
x <= wsrep_limit), false) ||
tc_heuristic_recover == TC_HEURISTIC_RECOVER_COMMIT)
{
@@ -4455,8 +4458,12 @@ void handler::print_error(int error, myf errflag)
break;
case ENOSPC:
case HA_ERR_DISK_FULL:
textno= ER_DISK_FULL;
SET_FATAL_ERROR; // Ensure error is logged
my_printf_error(ER_DISK_FULL, "Disk got full writing '%s.%s' (Errcode: %M)",
MYF(errflag | ME_ERROR_LOG),
table_share->db.str, table_share->table_name.str,
error);
DBUG_VOID_RETURN;
break;
case HA_ERR_KEY_NOT_FOUND:
case HA_ERR_NO_ACTIVE_RECORD: