- 04 Oct, 2017 12 commits
-
-
Marko Mäkelä authored
btr_cur_optimistic_delete_func(): Do not try to discard a lock on the 'default row' because must be there none
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Only page_create_low() and PageBulk::finish() are entitled to reset PAGE_INSTANT. page_copy_rec_list_end_to_created_page() may be invoked on the root page, where PAGE_INSTANT would be set.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
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 4 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
-