- 15 Apr, 2020 2 commits
-
-
Varun Gupta authored
-
Varun Gupta authored
-
- 17 Feb, 2020 3 commits
-
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
- 16 Feb, 2020 1 commit
-
-
Sergei Petrunia authored
Don't use LIMIT-based query plans if we don't have an accurate estimate of join output cardinality (the primary reason for that is lack of data about condition selectivity).
-
- 09 Feb, 2020 18 commits
-
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
Extend the join prefix to ensure all tables in the duplicate range either are inside or outside the sort nest
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
Varun Gupta authored
-
- 08 Feb, 2020 5 commits
-
-
Alexander Barkov authored
Rewriting GRANT/REVOKE grammar to use more bison stack and use Sql_cmd_ style 1. Removing a few members from LEX: - uint grant, grant_to_col, which_columns - List<LEX_COLUMN> columns - bool all_privileges 2. Adding classes Grand_object_name, Lex_grant_object_name 3. Adding classes Grand_privilege, Lex_grand_privilege 4. Adding struct Lex_column_list_privilege_st, class Lex_column_list_privilege 5. Rewriting the GRANT/REVOKE grammar to use new classes and pass them through bison stack (rather than directly access LEX members) 6. Adding classes Sql_cmd_grant* and Sql_cmd_revoke*, changing GRANT/REVOKE to use LEX::m_sql_cmd. 7. Adding the "sp_handler" grammar rule and removing some duplicate grammar for GRANT/REVOKE for different kinds of SP objects. 8. Adding a new rule comma_separated_ident_list, reusing it in: - with_column_list - colum_list_privilege
-
Marko Mäkelä authored
ut_align_down(): Preserve the const qualifier. Use C++ casts. ha_delete_hash_node(): Correct an assertion expression. fil_page_get_type(): Perform an assumed-aligned read. page_align(): Preserve the const qualifier. Assume (some) alignment. page_get_max_trx_id(): Check the index page type. page_header_get_field(): Perform an assumed-aligned read. page_get_autoinc(): Perform an assumed-aligned read. page_dir_get_nth_slot(): Perform an assumed-aligned read. Preserve the const qualifier.
-
Marko Mäkelä authored
recv_sys_t::ALIGNMENT: The recv_sys_t::alloc() alignment
-
Marko Mäkelä authored
-
Martin Liska authored
When using LTO, one can see optimization of stack variables that are passed to check_stack_overrun as argument buf. That prevents proper stack overrun detection.
-
- 07 Feb, 2020 6 commits
-
-
Marko Mäkelä authored
Add explicit casts when assigning ulint to m_user_space_id.
-
Marko Mäkelä authored
mtr_log_t and mtr_t::m_log_mode have the same range 0 to 3.
-
Marko Mäkelä authored
mtr_t::get_log_mode(): Use equivalent static_assert(). mtr_t::m_n_log_recs: Do not exceed the number of bits in uint16_t.
-
Marko Mäkelä authored
Use bit-fields for some mtr_t members to improve locality of reference. Because mtr_t is never shared between threads, there are no considerations regarding concurrent access.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Since commit 5e62b6a5 (MDEV-16264), purge_sys_t::stop() no longer waited for all purge activity to stop. This caused problems on FLUSH TABLES...FOR EXPORT because of purge running concurrently with the buffer pool flush. The assertion at the end of buf_flush_dirty_pages() could fail. The, implemented by Vladislav Vaintroub, aims to eliminate race conditions when stopping or resuming purge: waitable_task::disable(): Wait for the task to complete, then replace the task callback function with noop. waitable_task::enable(): Restore the original task callback function after disable(). purge_sys_t::stop(): Invoke purge_coordinator_task.disable(). purge_sys_t::resume(): Invoke purge_coordinator_task.enable(). purge_sys_t::running(): Add const qualifier, and clarify the comment. The purge coordinator task will remain active as long as any purge worker task is active. purge_worker_callback(): Assert purge_sys.running(). srv_purge_wakeup(): Merge with the only caller purge_sys_t::resume(). purge_coordinator_task: Use static linkage.
-
- 06 Feb, 2020 2 commits
-
-
Marko Mäkelä authored
srv_export_innodb_status(): While gathering innodb_mem_adaptive_hash, acquire btr_search_latches[i] in order to prevent a race condition with buffer pool resizing.
-
Marko Mäkelä authored
Release memory as soon as redo log records are processed. Because the memory allocation and deallocation of parsed redo log records must be protected by recv_sys.mutex, it is better to avoid using a std::atomic field for bookkeeping. buf_page_t::access_time: Keep track of the recv_sys.pages record allocations. The most significant 16 bits will count allocated blocks (which were previously counted by buf_page_t::buf_fix_count in the debug version), and the least significant 16 bits indicate the number of allocated bytes in the block (which was previously managed in buf_block_t::modify_clock), which must be a positive number, up to innodb_page_size. The byte offset 65536 is represented as the value 0. recv_recover_page(): Let the caller erase the log. recv_validate_tablespace(): Acquire recv_sys_t::mutex.
-
- 05 Feb, 2020 3 commits
-
-
Oleksandr Byelkin authored
MDEV-21616: Server crash when using "SET STATEMENT max_statement_time=0 FOR desc xxx" lead to collapse Main select should be pushed first.
-
Marko Mäkelä authored
row_log_table_get_pk_old_col(): For replacing a NULL value for a column of the being-added primary key, look up the correct default value, even if columns had been instantly reordered or dropped earlier. This ought to have been broken ever since commit 0e5a4ac2 (MDEV-15562).
-
mkaruza authored
Function `signal_waiters` assigned `m_committed_seqno` variable outside of mutex lock which caused incorrect behavior of WSREP_SYNC_WAIT_UPTO_GTID. Fixed by moving assignment inside lock. Added handling of OOM and now error is reported. Remove hard-coded seqno value and read seqno directly from current node state.
-