- 29 Mar, 2018 38 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Replace index->table_name with index->table->name.
-
Marko Mäkelä authored
We can rely on the dict_table_t::space. All indexes of a table object are always in the same tablespace. (For fulltext indexes, the data is located in auxiliary tables, and these will continue to have their own table objects, separate from the main table.)
-
Marko Mäkelä authored
This is a non-functional change (pure refactoring).
-
Marko Mäkelä authored
-
Marko Mäkelä authored
fsp_header_init(): Take fil_space_t* as a parameter.
-
Marko Mäkelä authored
Add fil_system_t::sys_space, fil_system_t::temp_space. These will replace lookups for TRX_SYS_SPACE or SRV_TMP_SPACE_ID. mtr_t::m_undo_space, mtr_t::m_sys_space: Remove. mtr_t::set_sys_modified(): Remove. fil_space_get_type(), fil_space_get_n_reserved_extents(): Remove. fsp_header_get_tablespace_size(), fsp_header_inc_size(): Merge to the only caller, innobase_start_or_create_for_mysql().
-
Marko Mäkelä authored
fil_system_t::create(): Replaces fil_init(), fsp_init(). fil_system_t::close(): Replaces fil_close(). fil_system_t::max_n_open: Remove. Use srv_max_n_open_files directly.
-
Marko Mäkelä authored
create_table_info_t::create_table_def(): Assign the innodb_temporary tablespace directly. dict_build_tablespace_for_table(): Merge to the only remaining caller, dict_build_table_def_step().
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
It does not hurt to delete non-existing records from SYS_TABLESPACES and SYS_DATAFILES. Because MariaDB does not support CREATE TABLESPACE, only the system tablespace (space_id=0) can contain multiple tables. But, there are no entries for the system tablespace in these tables (which actually are stored inside the system tablespace).
-
Sergei Petrunia authored
MariaDB differs from the upstream for "DDL-like" command. For these, it sets binlog_format=STATEMENT for the duration of the statement. This doesn't play well with MyRocks, which tries to prevent DML commands with binlog_format!=ROW. Also, if Locked_tables_list::reopen_tables() returned an error, then close_cached_tables should propagate the error condition and not silently consume it (it's difficult to have test coverage for this because this error condition is rare)
-
Monty authored
MDEV-15117 Server crashes in in open_and_process_table or ASAN heap-use-after-free in is_temporary_table upon creating/flushing sequences. Problem was that sequence_insert closed and reopened the like table without proper locking. Fixed by ensuring that the like table is not reopened in sequence_insert
-
Monty authored
Problem was that sequence_insert closed and reopened the like table without proper locking. Fixed by ensuring that the like table is not reopened in sequence_insert
-
Monty authored
SELECT queries on information_schema table will now not store data in the temporary table for columns that are not used in the query. This can drastically reduce memory when there are many rows involved in a query, like using SELECT table_name FROM information_schema.table on a system with many tables. The difference for the above query is about 14K per existing table. The code works this way: - Create a bitmap for all information_schema fields used in the query - For BLOB and VARCHAR fields that are not use, create a Field_null field.
-
Monty authored
-
Monty authored
Remove compiler warnings in sphinx, item_sum.cc and opt_split.cc
-
Michael Widenius authored
This is needed as otherwise a lot of MyISAM tables may be marked as crashed, depending on in which order tests are run
-
Monty authored
-
Michael Widenius authored
Renamed suite/rpl/include/rpl_sync.inc to rpl_sync_test.inc to remove clash with include/rpl_sync.inc
-
Michael Widenius authored
-
Michael Widenius authored
-
Monty authored
This is done to get more free flag bits for alter_info->flags Renamed all ALTER PARTITION defines to start with ALTER_PARTITION_ Renamed ALTER_PARTITION to ALTER_PARTITION_INFO Renamed ALTER_TABLE_REORG to ALTER_PARTITION_TABLE_REORG Other things: - Shifted some ALTER_xxx defines to get empty bits at end
-
Monty authored
Main reason was to make it easier to print the above structures in a debugger. Additional benefits is that I was able to use same defines for both structures, which simplifes some code. Most of the code is just removing Alter_info:: and Alter_inplace_info:: from alter table flags. Following renames was done: HA_ALTER_FLAGS -> alter_table_operations CHANGE_CREATE_OPTION -> ALTER_CHANGE_CREATE_OPTION Alter_info::ADD_INDEX -> ALTER_ADD_INDEX DROP_INDEX -> ALTER_DROP_INDEX ADD_UNIQUE_INDEX -> ALTER_ADD_UNIQUE_INDEX DROP_UNIQUE_INDEx -> ALTER_DROP_UNIQUE_INDEX ADD_PK_INDEX -> ALTER_ADD_PK_INDEX DROP_PK_INDEX -> ALTER_DROP_PK_INDEX Alter_info:ALTER_ADD_COLUMN -> ALTER_PARSE_ADD_COLUMN Alter_info:ALTER_DROP_COLUMN -> ALTER_PARSE_DROP_COLUMN Alter_inplace_info::ADD_INDEX -> ALTER_ADD_NON_UNIQUE_NON_PRIM_INDEX Alter_inplace_info::DROP_INDEX -> ALTER_DROP_NON_UNIQUE_NON_PRIM_INDEX Other things: - Added typedef alter_table_operatons for alter table flags - DROP CHECK CONSTRAINT can now be done online - Added checks for Aria tables in alter_table_online.test - alter_table_flags now takes an ulonglong as argument. - Don't support online operations if checksum option is used. - sql_lex.cc doesn't add ALTER_ADD_INDEX if index is not created
-
Monty authored
-
Monty authored
fill_alter_table() always thought that index was changed because of of a wrong check of block_size. Some engines had code to correct this that should not be needed, Aria didn't and because of this some online operations didn't work. This code fixes the comparision of block_size to only compare if it's set.
-
halfspawn authored
-
Marko Mäkelä authored
Skip the test mariabackup.unsupported_redo if a checkpoint occurred before mariabackup --backup completed. Remove the slow shutdowns and restarts which were attempting to prevent the checkpoints from occurring.
-
Marko Mäkelä authored
The purpose of the InnoDB buffer pool dump is to allow InnoDB to be restarted with the same persistent data pages in the buffer pool. The InnoDB temporary tablespace that was introduced in MariaDB 10.2.2 is always reinitialized on restart. Therefore, it does not make sense to attempt to dump or restore any pages of the temporary tablespace.
-
Marko Mäkelä authored
ha_innobase::check_if_supported_inplace_alter(): Only check for high_level_read_only. Do not unnecessarily refuse ALTER TABLE...ALGORITHM=INPLACE if innodb_force_recovery was specified as 1, 2, or 3. innobase_start_or_create_for_mysql(): Block all writes from SQL if the system tablespace was initialized with 'newraw'.
-
Sergey Vojtovich authored
Currently trx_sys.mutex protects only trx_sys.mysql_trx_list and trx_sys.m_views, which are not accessed by lock0lock debug routines. Thus there's no need to bother trx_sys.mutex here. Removed trx_assert_started(): this assertion is fully covered by check_trx_state().
-
Sergey Vojtovich authored
recv_sys_t::mutex and rw_trx_hash_elementi_t::mutex were acquired in reverse (to recorded) order. Fixed by releasing recv_sys_t::mutex, before iterating rw_trx_hash. Statistics gathering doesn't really need recv_sys_t::mutex protection, since it is always done in one thread (trx_roll_crash_recv_trx) and thus it can't go wrong.
-
Sergei Petrunia authored
Adjust the testcase to handle all possible outcomes.
-
Alexander Barkov authored
-
- 28 Mar, 2018 2 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-