- 09 Feb, 2020 13 commits
-
-
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.
-
- 04 Feb, 2020 5 commits
-
-
Sergey Vojtovich authored
Also added support for MAP_SYNC. It allows to achieve decent performance with DAX devices even when libpmem is unavailable. Fixed Windows version of my_msync(): according to manual FlushViewOfFile() may return before flush is actually completed. It is advised to issue FlushFileBuffers() after FlushViewOfFile().
-
Marko Mäkelä authored
ha_innobase::commit_inplace_alter_table(): After ALTER_STORED_COLUMN_ORDER, ensure that the virtual column metadata will be reloaded also when the table is not being rebuilt.
-
Sujatha authored
Fix: === Add "REPLICA" as an alias for "SLAVE". All commands which use "SLAVE" keyword can be used with new alias "REPLICA". List of commands: On Master: ========= SHOW REPLICA HOSTS <--> SHOW SLAVE HOSTS Privilege "SLAVE" <--> "REPLICA" On Slave: ========= START SLAVE <--> START REPLICA START ALL SLAVES <--> START ALL REPLICAS START SLAVE UNTIL <--> START REPLICA UNTIL STOP SLAVE <--> STOP REPLICA STOP ALL SLAVES <--> STOP ALL REPLICAS RESET SLAVE <--> RESET REPLICA RESET SLAVE ALL <--> RESET REPLICA ALL SLAVE_POS <--> REPLICA_POS
-
Jan Lindström authored
We need to release global system variables mutex before doing wsrep_init to avoid race with next show status and we need to save wsrep_on value as it is changed on wsrep_init. Added test case.
-
Julius Goryavsky authored
-
- 03 Feb, 2020 3 commits
-
-
Jan Lindström authored
When wsrep_on is changed to ON we might need to run wsrep_init if wsrep-provider is set and wsrep is not inited.
-
Eugene Kosov authored
-
Sachin authored
MDEV-20001 Potential dangerous regression: INSERT INTO >=100 rows fail for myisam table with HASH indexes Problem:- So the issue is when we do bulk insert with rows > MI_MIN_ROWS_TO_DISABLE_INDEXES(100) , We try to disable the indexes to speedup insert. But current logic also disables the long unique indexes. Solution:- In ha_myisam::start_bulk_insert if we find long hash index (HA_KEY_ALG_LONG_HASH) we will not disable the index. This commit also refactors the mi_disable_indexes_for_rebuild function, Since this is function is called at only one place, it is inlined into start_bulk_insert mi_clear_key_active is added into myisamdef.h because now it is also used in ha_myisam.cc file. (Same is done for Aria Storage engine)
-
- 02 Feb, 2020 2 commits
-
-
Aleksey Midenkov authored
-
Sachin Setiya authored
If we have long unique key for aria engine return too long key error, because Aria does not support key on virtual generated column.
-
- 01 Feb, 2020 1 commit
-
-
Eugene Kosov authored
main change: rename first redo log without file close second change: use os_offset_t to represent offset in a file third change: fix log texts
-