- 05 May, 2020 4 commits
-
-
Eugene Kosov authored
Now all access goes through _current_thd() and set_current_thd() functions. Some functions like THD::store_globals() can not fail now.
-
Kentoku SHIBA authored
MDEV-20502 Queries against spider tables return wrong values for columns following constant declarations. Add test cases.
-
mkaruza authored
-
Marko Mäkelä authored
fil_flush_file_spaces(): Remove the constant parameter. buf_flush_start(), buf_flush_end(): Use static linkage. fil_page_get_prev(), fil_page_get_next(), fil_addr_is_null(): Remove.
-
- 04 May, 2020 9 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
commit 5e7e7153 accidentally broke the build without WSREP, by misplacing an #endif.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
This is a follow-up fix to the changes that were made in MDEV-7962. assert_trx_is_free(): Assert !is_wsrep(). trx_init(): Do not initialize trx->wsrep, because it must have been initialized already. trx_t::commit_in_memory(): Invoke wsrep_commit_ordered(). This call was being skipped, because the transaction object had already been freed to the pool. trx_rollback_for_mysql(), innobase_commit_low(), innobase_close_connection(): Always reset trx->wsrep.
-
mkaruza authored
-
Thirunarayanan Balathandayuthapani authored
- InnoDB gives "table is marked as crashed and should be repaired" when table schema mismatch.
-
Vladislav Vaintroub authored
Disable IPO (interprocedural optimization, aka /GL) on Windows on libraries, from which server.dll exports symbols - exporting symbols does not work for objects compiled with /GL.
-
Jan Lindström authored
Variable was not updated after initialization.
-
- 30 Apr, 2020 2 commits
-
-
Marko Mäkelä authored
que_thr_t::magic_n: Remove. Access to freed data is best caught by AddressSanitizer. que_thr_t::start_running(): Replaces que_thr_move_to_run_state_for_mysql() and que_thr_move_to_run_state(), which were identical non-inline functions. que_thr_t::stop_no_error(): Replaces que_thr_stop_for_mysql_no_error(). que_fork_t::n_active_thrs, trx_lock_t::n_active_thrs: Make debug-only. que_fork_t::set_active(bool active): Update n_active_thrs.
-
Sujatha authored
Post push fix. when "replicate_wild_do_table" and "replicate_wild_ignore_table" filters and changed dynamically the filter list gets cleared but the corresponding "wild_do_table_inited" and "wild_ignore_table_inited" flags are not getting cleared. Fix: Clear the flags.
-
- 29 Apr, 2020 11 commits
-
-
Marko Mäkelä authored
-
Varun Gupta authored
Adding a test case for rowid filter, the crash was fixed by MDEV-22191
-
Sergei Petrunia authored
KEY_MULTI_RANGE::range_flag does not have correct flag bits for per-endpoint flags (NEAR_MIN, NEAR_MAX, NO_MIN_RANGE, NO_MAX_RANGE). It only has bits for flags that describe both endpoints. So - Document this. - Switch optimizer trace to using {start|end}_key.flag values, instead. This fixes the bug. - Switch records_in_column_ranges() to doing that too. (This used to work, because KEY_MULTI_RANGE::range_flag had correct flag value for the last key component, and EITS only uses one-component pseudo-indexes)
-
Marko Mäkelä authored
trx_t::rollback(): Renamed from trx_rollback_to_savepoint(). trx_t::rollback_low(): Renamed from trx_rollback_to_savepoint_low(). fts_sql_commit(): Defined as an alias of trx_commit_for_mysql(). fts_sql_rollback(): Defined as an alias of trx_t::rollback(). fts_rename_aux_tables_to_hex_format(): Fix the error handling that likely never worked because we failed to roll back the first transaction.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
trx_rollback_to_savepoint(): Invoke trx_t::is_wsrep().
-
Marko Mäkelä authored
Replace wsrep_on() with trx_t::is_wsrep() where possible. Also, rename some functions to member functions and remove unused DBUG_EXECUTE_IF instrumentation: trx_t::commit(): Renamed from trx_commit(). trx_t::commit_low(): Renamed from trx_commit_low(). trx_t::commit_in_memory(): Renamed from trx_commit_in_memory().
-
Alexey Botchkov authored
MDEV-22337 Assertion `Alloced_length >= (str_length + length + net_le… …ngth_size(length))' failed in Binary_string::q_net_store_data on long MULTIPOLYGON query with session_track_user_variables=1 (optimized builds). We have to reserve enough space in String to use q_something(). Also pointer calculations fixed.
-
Alexey Botchkov authored
…while using json_arrayagg() as a window function. We don't support JSON_ARRAYAGG and JSON_OBJECTAGG in window functions yet.
-
Marko Mäkelä authored
-
Sujatha authored
Problem: ======= SET @@GLOBAL.replicate_wild_ignore_table=''; SET @@GLOBAL.replicate_wild_do_table=''; Reports following valgrind error. Conditional jump or move depends on uninitialised value(s) Rpl_filter::set_wild_ignore_table(char const*) (rpl_filter.cc:439) Conditional jump or move depends on uninitialised value(s) at 0xF60390: delete_dynamic (array.c:304) by 0x74F3F2: Rpl_filter::set_wild_do_table(char const*) (rpl_filter.cc:421) Analysis: ======== List of values provided for options "wild_do_table" and "wild_ignore_table" are stored in DYNAMIC_ARRAYS. When an empty list is provided these dynamic arrays are not initialized. Existing code treats empty element list as an error and tries to clean the uninitialized list. This results in above valgrind issue. Fix: === The clean up should be initiated only when there is an error while parsing the 'wild_do_table' or 'wild_ignore_table' list and the dynamic_array is in initialized state. Otherwise for empty list it should simply return success.
-
- 28 Apr, 2020 14 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
During the UPDATE of PRIMARY KEY columns, we may miscalculate the size of the clustered index record. row_upd_clust_rec_by_insert(): Pass the total number of off-page columns, which may include such columns that were inherited from the record and not created as part of the UPDATE operation. This is based on mysql/mysql-server@490c45e8c8e07197958dbb21214fd45ed668b559 which is a follow-up to mysql/mysql-server@1fa475b85d24de4b9ce2958c0eed738c221fc82c which we filed and fixed as MDEV-21511. No test case was provided by Oracle.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
INSERT...SELECT reading from an InnoDB table is slow due to creating explicit record locks. Use the sequence engine instead. Also, remove the space before rtr_page_need_second_split to actually make the debug injection work.
-
Marko Mäkelä authored
-
Sergei Golubchik authored
when detecting running mysqld processes to stop, ignore processes in different namespaces.
-
Sergei Golubchik authored
-
Thirunarayanan Balathandayuthapani authored
- buf_page_get_gen() fails to set error value when it initializes the page with redo logs.
-
Jan Lindström authored
We need to make sure that hton is not same as view_pseudo_hton that is not NULL but not usable.
-
Marko Mäkelä authored
-
Sergei Golubchik authored
-
Marko Mäkelä authored
Several MYSQL_SYSVAR_STR parameters that employ both a validate function callback fail to copy the string for saving the validated value. The affected variables include the following: innodb_ft_aux_table innodb_ft_server_stopword_table innodb_ft_user_stopword_table innodb_buffer_pool_filename The test case is an enhanced version of mysql/mysql-server@0b0c30641fd66336e87394ac28587e40864f8af9 and the code changes are inspired by their fixes. We are also importing and adjusting the test innodb_fts.stopword to get coverage for the variable innodb_ft_user_stopword_table. buf_dump(), buf_load(): Protect srv_buf_dump_filename with LOCK_global_system_variables. fts_load_user_stopword(): Minor cleanup fts_load_stopword(): Remove the parameter global_stopword_table. innobase_fts_load_stopword(): Protect innodb_server_stopword_table against concurrent SET GLOBAL.
-
Alexey Botchkov authored
The json_arrayagg::val_str should handle NULL result.
-