- 04 Oct, 2017 6 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 03 Oct, 2017 24 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
functions. There is no reason to export IO this functionality from server, if it can be easily implemented with CRT. Note: for the sake of compatibility, we do not use _open() on Windows, but open file with CreateFile, with FILE_SHARE_DELETE flag, so it can be renamed or deleted when open. Also atomic append flag is used.
-
Vladislav Vaintroub authored
Fixes some warnings.
-
Sergei Golubchik authored
fix --ps-protocol
-
halfspawn authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
move binlog-dependent part (~6%) into a separate file, to be able to run the rest of multi_update with embedded server (include/have_log_bin.inc disables embedded)
-
Marko Mäkelä authored
-
Marko Mäkelä authored
fil_space_extend_must_retry(): If the table is being truncated, do not call fil_flush_low(). The operation is covered by the truncate log. File extension during TRUNCATE only occurs if there are many indexes on the table. With smaller innodb_page_size, the file extension occurs already with fewer indexes on the table.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
trx_t::in_rollback: Make the field available in non-debug builds. row_undo_ins_remove_clust_rec(): On the rollback of an insert into SYS_COLUMNS, revert instant ADD COLUMN in the cache by removing the last column from the table and the clustered index. page_set_instant(): Remove a too strict assertion. A rollback would not reset the root page from FIL_PAGE_TYPE_INSTANT to FIL_PAGE_INDEX, so the PAGE_INSTANT field could already be set. rec_init_offsets_comp_ordinary(), rec_copy_prefix_to_buf(), row_undo_search_clust_to_pcur(): Adjust too strict assertions. row_search_on_row_ref(), row_undo_mod_parse_undo_rec(), row_undo_mod(), trx_undo_update_rec_get_update(): Handle the 'default row' as a special case. btr_cur_trim(): In an update, trim the tuple as needed. For the 'default row', handle rollback specially. For user records, omit fields that match the 'default row'. btr_cur_optimistic_delete_func(), btr_cur_pessimistic_delete(): Skip locking and adaptive hash index for the 'default row'.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
A dictionary transaction must be flagged as such before it has generated any undo log records. This is because trx_undo_assign_undo() will mark the transaction as a dictionary transaction in the undo log header right before the very first undo log record is being written.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Sergei Petrunia authored
This is error-prone and causes warnings on Windows
-
Jan Lindström authored
wrep_sst_common and wsrep_sst_xtrabackup-v2 bugfixes to read sst parameters from configs
-
Alexander Barkov authored
Fixing the data type for the "fuzzydate" parameter to Item_func_hybrid_field_type::date_op() from uint to ulonglong, for consistency with Item::get_date().
-
Marko Mäkelä authored
The function dict_disable_redo_if_temporary() was supposed to disable redo logging for temporary tables. It was invoked unnecessarily for two read-only operations: row_undo_search_clust_to_pcur() and dict_stats_update_transient_for_index(). When a table is not temporary and not in the system tablespace, the tablespace should be flagged for MLOG_FILE_NAME logging. We do not need this overhead for temporary tables. Therefore, either mtr_t::set_log_mode() or mtr_t::set_named_space() should be invoked. dict_table_t::is_temporary(): Determine if a table is temporary. dict_table_is_temporary(): Redefined as a macro wrapper for dict_table_t::is_temporary(). dict_disable_redo_if_temporary(): Remove.
-
Vladislav Vaintroub authored
Fix truncation warning on Windows, in a populart header, with a cast.
-
Alice Sherepa authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
Changing datatypes for: - Item_spvar_args::m_table - sp_rcontext::m_var_table - return value of create_virtual_tmp_table() from TABLE* to Virtual_tmp_table* Advantages: - Stricter data type control - Removing the duplicate code (a loop with free_blobs) from destructors ~sp_rcontext() and ~Item_spvar_args(), using "delete m_(var_)table" in both instead. - Using Virtual_tmp_table::delete makes the code call Field::delete, which calls TRASH() for the freed fields, which is good for valgrind test runs.
-
- 02 Oct, 2017 10 commits
-
-
Marko Mäkelä authored
dict_col_t::name(): Also work with virtual columns dict_v_idx_t: Add a constructor dict_index_t::commit_instant_copy(): Work with virtual columns ha_innobase_inplace_ctx::commit_instant(): Properly adjust base_col[] and clear v_indexes, to be populated by dict_index_t::commit_instant_copy().
-
Alexander Barkov authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
We must split the creation of table or index metadata from the creation of the dictionary table records and the creation of the data. In this way, we can transform a table-rebuilding operation into an instant ADD COLUMN operation. Dictionary objects will only be added to cache when table rebuilding or index creation is needed. The ctx->instant_table will never be added to cache. innodb_update_n_cols(): Renamed from innobase_update_n_virtual(). Call my_error() if an error occurs. innobase_add_instant_try(): Call my_error() if an error occurs. create_index_dict(): Replaces row_merge_create_index_graph(). prepare_inplace_alter_table_dict(): First create the ctx->new_table, and only then decide if the table really needs to be rebuilt.
-
Marko Mäkelä authored
dict_create_sys_tables_tuple(), dict_create_table_step(): Omit the system columns (which will now exist in the dict_table_t object already at this point). dict_create_table_step(): Expect the callers to invoke dict_table_add_system_columns(). pars_create_table(): Before creating the table creation execution graph, invoke dict_table_add_system_columns(). row_create_table_for_mysql(): Expect all callers to invoke dict_table_add_system_columns().
-
Marko Mäkelä authored
The method handlerton::replace_native_transaction_in_thd was added into MySQL 5.7 in WL#6860, Binlogging XA-prepared transaction. In MariaDB we do not have that change yet.
-
Marko Mäkelä authored
dict_table_t::add_to_cache(): Modified from dict_table_add_to_cache(). Let the callers invoke dict_table_add_system_columns() and if needed, set can_be_evicted.
-