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

Merge branch '11.8' into 12.0

main/statistics_json.result is updated for f8ba5ced55 (MDEV-36099)

The test uses 'delete from t1' in many places and then populates
the table again. The natural order of rows in a MyISAM table is well
defined and the test was implicitly relying on that.

before f8ba5ced55 delete was deleting rows one by one, using
ha_myisam::delete_row() because the connection was stuck in rbr mode.
This caused rows to be shown in the reverse insertion order (because of
the delete link list).

MDEV-36099 fixes this bug and the server now correctly uses
ha_myisam::delete_all_rows(). This makes rows to be shown in the
insertion order as expected.
This commit is contained in:
Sergei Golubchik
2025-07-31 20:55:47 +02:00
426 changed files with 11594 additions and 2855 deletions

View File

@@ -5822,6 +5822,7 @@ public:
TMP_TABLE_SHARE *find_tmp_table_share(const char *key, size_t key_length);
bool open_temporary_table(TABLE_LIST *tl);
bool check_and_open_tmp_table(TABLE_LIST *tl);
bool open_temporary_tables(TABLE_LIST *tl);
bool close_temporary_tables();
@@ -5926,7 +5927,6 @@ public:
uint32 wsrep_rand;
rpl_group_info *wsrep_rgi;
bool wsrep_converted_lock_session;
char wsrep_info[128]; /* string for dynamic proc info */
ulong wsrep_retry_counter; // of autocommit
bool wsrep_PA_safe;
char* wsrep_retry_query;
@@ -6237,6 +6237,18 @@ public:
return false;
return !is_set_timestamp_forbidden(this);
}
/**
@brief
Return true if current statement uses cursor protocol for execution.
@details
Cursor protocol execution is determined by checking if lex->result is a
Select_materialize object, which is exclusively used by the server for
cursor result set materialization.
*/
bool is_cursor_execution() const;
/*
Return true if we are in stored procedure, not in a function or
trigger.
@@ -6247,6 +6259,8 @@ public:
!(in_sub_stmt & (SUB_STMT_FUNCTION | SUB_STMT_TRIGGER)));
}
bool reparsing_sp_stmt= {false};
/* Data and methods for bulk multiple unit result reporting */
DYNAMIC_ARRAY *unit_results;
void stop_collecting_unit_results();