- 17 Aug, 2023 1 commit
-
-
Sergei Golubchik authored
don't use ps2 mode for selects with side effects
-
- 11 Aug, 2023 3 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 10 Aug, 2023 14 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Monty authored
This is also related to MDEV-31348 Assertion `last_key_entry >= end_pos' failed in virtual bool JOIN_CACHE_HASHED::put_record() Valgrind exposed a problem with the join_cache for hash joins: =25636== Conditional jump or move depends on uninitialised value(s) ==25636== at 0xA8FF4E: JOIN_CACHE_HASHED::init_hash_table() (sql_join_cache.cc:2901) The reason for this was that avg_record_length contained a random value if one had used SET optimizer_switch='optimize_join_buffer_size=off'. This causes either 'random size' memory to be allocated (up to join_buffer_size) which can increase memory usage or, if avg_record_length is less than the row size, memory overwrites in thd->mem_root, which is bad. Fixed by setting avg_record_length in JOIN_CACHE_HASHED::init() before it's used. There is no test case for MDEV-31893 as valgrind of join_cache_notasan checks that. I added a test case for MDEV-31348.
-
Oleksandr Byelkin authored
-
Daniel Black authored
With session tracking on the tx_isolation of importance to connector frameworks, its important that tracking of tx_isolation does get informed if a user `set session transaction_isolation=X` as the alias for tx_isolation. Rather than just implement this for one variable alias, it is implemented for all aliases. To assist with this the key hash of session_tracker is now made up of the offset, not the sys_var pointer. The impacts of aliases are: - If track one variable, its alias changes, you get a tracking change on the variable you are monitoring. - If you track two aliased variables of each other, changing a variable will have a tracking events for only one of them. Aliases of Sys_var_bit are not implemented, because we don't have them, so would've been no way to verify that the new code works. Post-Review edits by Sergei Golubchik <serg@mariadb.com>
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 09 Aug, 2023 8 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
# Conflicts: # mysql-test/main/sp.result # mysql-test/main/sp.test
-
Oleksandr Byelkin authored
-
Sergei Petrunia authored
Remove redundant delete_explain_query() calls in sp_instr_set::exec_core(), sp_instr_set_row_field::exec_core(), sp_instr_set_row_field_by_name::exec_core(). These calls are made before the SP instruction's tables are "closed" by close_thread_tables() call. When we call close_thread_tables() after that, we no longer can collect engine's counter variables, as they use the data structures that are located in the Explain Data Structures. Also, these delete_explain_query() calls are redundant, as sp_lex_keeper::reset_lex_and_exec_core() has another delete_explain_query() call, which is located in the right location after the close_thread_tables() call.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 08 Aug, 2023 7 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Thirunarayanan Balathandayuthapani authored
- InnoDB aborts when table is dropping the column. This is caused by 5f09b53b (MDEV-31086). While iterating the altered table fields, we fail to consider the dropped columns.
-
Yuchen Pei authored
-
- 07 Aug, 2023 3 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 06 Aug, 2023 1 commit
-
-
Sergei Golubchik authored
when validating vcol's (default, check, etc) in ALTER TABLE vcol_info->flags are modified in place. This means that if ALTER TABLE fails for any reason we need to restore them to their original values. (mroonga was freeing the memory on ::reset() but not on ::close())
-
- 05 Aug, 2023 1 commit
-
-
Oleksandr Byelkin authored
-
- 04 Aug, 2023 2 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-