- 24 Nov, 2017 2 commits
-
-
Sergey Vojtovich authored
mariabackup fails to builds with PFS disabled. The reason was missing include, which was included by PFS otherwise.
-
Sergey Vojtovich authored
Running mysqld with innodb-buffer-pool-instances > 1 hangs on startup. On startup wrong variables was being used to detect number of page cleaner threads. As a result no threads were actually started. And subsequent code waits for threads to start forever. Fixed by using page_cleaner->n_workers, which holds number of page cleaner threads (0 at startup) instead of srv_n_page_cleaners, which holds number of requested page cleaner threads (4 by default).
-
- 23 Nov, 2017 9 commits
-
-
Marko Mäkelä authored
-
Sergey Vojtovich authored
-
Sergey Vojtovich authored
Big endian checksum is needed to workaround 10+ years old bug, where checksum was calculated incorrectly on big endian hardware. We can still checksum such tablespaces using software implementation of CRC32.
-
Sergey Vojtovich authored
-
Monty authored
- make hp_mask an inline function (short and called 16 times) - Simplify hp_search. Biggest benefit is for doing key lookup without a matching row. Matching rows may be a bit slower, but is offseted by having hp_mask inlined.
-
Marko Mäkelä authored
The non-persistent UPDATE_TIME for InnoDB tables was not being updated consistently at transaction commit. If a transaction is partly rolled back so that in the end it will not modify a table that it intended to modify, the update_time will be updated nevertheless. This will also happen when InnoDB fails to write an undo log record for the intended modification. If a transaction is committed internally in InnoDB, instead of being committed from the SQL interface, then the trx_t::mod_tables will not be applied to the update_time of the tables. trx_t::mod_tables: Replace the std::set<dict_table_t*> with std::map<dict_table_t*,undo_no_t>, so that the very first modification within the transaction is identified. trx_undo_report_row_operation(): Update mod_tables for every operation after the undo log record was successfully written. trx_rollback_to_savepoint_low(): After partial rollback, erase from trx_t::mod_tables any tables for which all changes were rolled back. trx_commit_in_memory(): Tighten some assertions and simplify conditions. Invoke trx_update_mod_tables_timestamp() if persistent tables were affected. trx_commit_for_mysql(): Remove the call to trx_update_mod_tables_timestamp(), as it is now invoked at the lower level, in trx_commit_in_memory(). trx_rollback_finish(): Clear mod_tables before invoking trx_commit(), because the trx_commit_in_memory() would otherwise wrongly process mod_tables after a full ROLLBACK.
-
Marko Mäkelä authored
-
Michael Widenius authored
-
Michael Widenius authored
TODO: - Make get_thd_memroot() inline - To do this, we need to reduce dependence of include files, especially so that sql_class.h is not depending in item.h
-
- 22 Nov, 2017 1 commit
-
-
Sergey Vojtovich authored
-
- 21 Nov, 2017 3 commits
-
-
Otto Kekäläinen authored
This will make these files easier to maintain in the future.
-
Otto Kekäläinen authored
The Debian packaging build was failing on Travis-CI due to timeouts. These changes make it faster by skipping less relevant parts of the build, like the test suite, RocksDB, TokuDB and Mroonga. Also fix the usage of the 'make -j' flag to not have any spaces as recommended in an example in the Debian policy.
-
Otto Kekäläinen authored
-
- 19 Nov, 2017 1 commit
-
-
bigs authored
-
- 17 Nov, 2017 6 commits
-
-
Vladislav Vaintroub authored
Based on pull request by Oleg Obleukhov https://github.com/MariaDB/server/pull/400
-
Vladislav Vaintroub authored
-
Michael Widenius authored
- Change interface according to real usage - Fix comment - Rename to fn_frm_ext
-
Michael Widenius authored
DROP TABLE now also works on empty or short .frm files
-
Michael Widenius authored
- We don't check constraints when doing delete
-
Michael Widenius authored
Most "new" failures fixed in the following files: - sql_select.cc - item.cc - item_func.cc - opt_subselect.cc Other things: - Allocate udf_handler strings in mem_root - Required changes in sql_string.h - Add mem_root as argument to some new [] calls - Mark udf_handler strings as thread specific - Removed some comment blocks with code
-
- 16 Nov, 2017 2 commits
-
-
Aleksey Midenkov authored
Affected tests: sql_sequence.gtid sql_sequence.replication
-
Vicențiu Ciorbaru authored
-
- 15 Nov, 2017 2 commits
-
-
Daniel Black authored
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=79887 was fixed in 7.4 and 8.2. Both of these reached end of life in February 2011 https://www.freebsd.org/releases/Signed-off-by: Daniel Black <daniel@linux.vnet.ibm.com>
-
Marko Mäkelä authored
Relax a too strict debug assertion, and add a test.
-
- 13 Nov, 2017 1 commit
-
-
Marko Mäkelä authored
Allow DROP TABLE `#mysql50##sql-...._.` to drop tables that were being rebuilt by ALGORITHM=INPLACE NOTE: If the server is killed after the table-rebuilding ALGORITHM=INPLACE commits inside InnoDB but before the .frm file has been replaced, then the recovery will involve something else than DROP TABLE. NOTE: If the server is killed in a true inplace ALTER TABLE commits inside InnoDB but before the .frm file has been replaced, then we are really out of luck. To properly handle that situation, we would need a transactional mysql.ddl_fixup table that directs recovery to rename or remove files. prepare_inplace_alter_table_dict(): Use the altered_table->s->table_name for generating the new_table_name. table_name_t::part_suffix: The start of the partition name suffix. table_name_t::dbend(): Return the end of the schema name. table_name_t::dblen(): Return the length of the schema name, in bytes. table_name_t::basename(): Return the name without the schema name. table_name_t::part(): Return the partition name, or NULL if none. row_drop_table_for_mysql(): Assert for #sql, not #sql-ib.
-
- 10 Nov, 2017 8 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
rec_get_offsets_func(): Relax a bogus debug assertion. It would fail when we are operating on a copied prefix of a node pointer record.
-
Marko Mäkelä authored
row_log_table_apply_op(): Remove references to dict_table_t::n_vcols. Virtual column information is no longer being written to the log. row_log_t: Remove the unused fields n_old_col, n_old_vcol.
-
Oleksandr Byelkin authored
MDEV-13723: Server crashes in ha_heap::find_unique_row or Assertion `0' failed in st_select_lex_unit::optimize with INTERSECT With INTERSECT/EXCEPT fact that subquery item of IN/ALL/ANY was not assigned value does not mean that temporary table used for calculating unit is empty (records could be deleted).
-
Marko Mäkelä authored
-
- 09 Nov, 2017 5 commits
-
-
Marko Mäkelä authored
When MySQL 5.7 introduced indexed virtual columns, it introduced several bugs into the online table-rebuilding ALTER, that is, the row_log_table_apply() family of functions. The online_log format that was introduced for online table-rebuilding ALTER in MySQL 5.6 should be sufficient. Ideally, any indexed virtual column values would be evaluated based on the log records in the temporary file. There is no need to log virtual column values. (For ADD INDEX, that is row_log_apply(), we always must log the values of the keys, no matter if the columns are virtual.) Because omitting the virtual column values removes any chance of row_log_table_apply() working with indexed virtual columns, we will for now refuse LOCK=NONE in table-rebuilding ALTER operations when indexes on virtual columns exist. This restriction would be lifted in MDEV-14341. innobase_indexed_virtual_exist(): New predicate, to determine if indexed virtual columns exist in a table definition. ha_innobase::check_if_supported_inplace_alter(): Refuse online rebuild if indexed virtual columns exist. rec_get_converted_size_temp_v(), rec_convert_dtuple_to_temp_v(): Remove. row_log_table_delete(), row_log_table_update(, row_log_table_insert(): Remove parameters for virtual columns. trx_undo_read_v_rows(): Remove the col_map parameter. row_log_table_apply(): Do not deal with virtual columns.
-
Monty authored
Conflicts: mysql-test/r/cte_recursive.result mysql-test/r/derived_cond_pushdown.result mysql-test/t/cte_recursive.test mysql-test/t/derived_cond_pushdown.test sql/datadict.cc sql/handler.cc
-
Sergei Petrunia authored
-
Monty authored
-
Marko Mäkelä authored
-