- 18 Aug, 2017 2 commits
-
-
Marko Mäkelä authored
have_queries_to_wait_for(), kill_long_queries(): Declare and initialize variables in one go.
-
Marko Mäkelä authored
The fix broke mariabackup --prepare --incremental. The restore of an incremental backup starts up (parts of) InnoDB twice. First, all data files are discovered for applying .delta files. Then, after the .delta files have been applied, InnoDB will be restarted more completely, so that the redo log records will be applied via the buffer pool. During the first startup, the buffer pool is not initialized, and thus trx_rseg_get_n_undo_tablespaces() must not be invoked. The apply of the .delta files will currently assume that the --innodb-undo-tablespaces option correctly specifies the number of undo tablespace files, just like --backup does. The second InnoDB startup of --prepare for applying the redo log will properly invoke trx_rseg_get_n_undo_tablespaces(). enum srv_operation_mode: Add SRV_OPERATION_RESTORE_DELTA for distinguishing the apply of .delta files from SRV_OPERATION_RESTORE. srv_undo_tablespaces_init(): In mariabackup --prepare --incremental, in the initial SRV_OPERATION_RESTORE_DELTA phase, do not invoke trx_rseg_get_n_undo_tablespaces() because the buffer pool or the redo logs are not available. Instead, blindly rely on the parameter --innodb-undo-tablespaces.
-
- 17 Aug, 2017 6 commits
-
-
Elena Stepanova authored
-
Elena Stepanova authored
If previous tests opened system tables, the test could fail because it crashes the server. Added FLUSH TABLES to avoid it
-
Vladislav Vaintroub authored
fails with ERROR_INVALID_FUNCTION This DeviceIoControl seems to happen on different boxes from time to time, and there is not much user can do about it. Instead of error, log a single INFO message, so it does not disturb users much.
-
Marko Mäkelä authored
srv_undo_tablespaces_init(): In Mariabackup backup and restore modes, do initialize the array of undo_tablespace_ids[].
-
Oleksandr Byelkin authored
MDEV-11240: Server crashes in check_view_single_update or Assertion `derived->table' failed in mysql_derived_merge_for_insert Before "merge" view shoud be inited to maintaing transitive attributes like "multitable".
-
Sergei Golubchik authored
-
- 16 Aug, 2017 6 commits
-
-
Sergei Golubchik authored
don't assume that the table always has a primary key, head->s->primary_key might be MAX_KEY, which won't start keyread.
-
Sergei Golubchik authored
tabtyp was defined under ODBC_SUPPORT, but used outside of it too (under JDBC_SUPPORT).
-
Sergei Golubchik authored
(socket connection ignores the port and CONNECT connects to the wrong host)
-
Sergei Golubchik authored
-
Sergei Golubchik authored
we'll copy it from 5.7 when we'll need it
-
Sergei Petrunia authored
Apply this patch from upstream: commit 2c8deddfb67f1cd41ea3d1ac95aa1aa9327e3406 Author: Yoshinori Matsunobu <yoshinorim@users.noreply.github.com> Date: Tue Aug 15 16:21:58 2017 -0700 Set exclusive_manual_compaction = false on manual compactions Summary: Combining exclusive manual compaction and non-exclusive manual compaction may hit rocksdb assertion errors. This diff makes all MyRocks internal manual compactions non exclusive. Closes https://github.com/facebook/mysql-5.6/pull/682 Differential Revision: D5633619 Pulled By: yoshinorim fbshipit-source-id: a90786d
-
- 15 Aug, 2017 10 commits
-
-
Igor Babaev authored
The bug was caused by a defect of the patch for the bug 11081. The patch was actually a port of the fix this bug from the mysql code line. Later a correction of this fix was added to the mysql code. Here's the comment this correction was provided with: Bug#16499751: Opening cursor on SELECT in stored procedure causes segfault This is a regression from the fix of bug#14740889. The fix started using another set of expressions as the source for the temporary table used for the materialized cursor. However, JOIN::make_tmp_tables_info() calls setup_copy_fields() which creates an Item_copy wrapper object on top of the function being selected. The Item_copy objects were not properly handled by create_tmp_table - they were simply ignored. This patch creates temporary table fields based on the underlying item of the Item_copy objects. The test case for the bug 13346 was taken from mdev-13380.
-
Sergei Petrunia authored
The test mis-used MTR's "restart the server if it crashed or exited" feature to try starting MyRocks plugin with invalid arguments. Changed the test to use the --default-storage-engine=myisam which allows the server to start when MyRocks fails to start. This removes the need to "start the server with the arguments which will caused it to fail to start", and so removes the race conditions with MTR server restart code and mysqld.*.expect file.
-
Marko Mäkelä authored
row_ins_check_foreign_constraint(): On timeout, return DB_LOCK_WAIT_TIMEOUT instead of DB_LOCK_WAIT, so that the lock wait will be properly terminated. Also, replace some redundant assignments. It looks like this bug was introduced in MySQL 5.7.8 by: commit a97f6b91227c7e0fc3151cfe5421891e79c12d19 Author: Annamalai Gurusami <annamalai.gurusami@oracle.com> Date: Tue Jun 9 16:02:31 2015 +0530 Bug #20953265 INNODB: FAILING ASSERTION: RESULT != FTS_INVALID
-
Marko Mäkelä authored
MDEV-13498 is a performance regression that was introduced in MariaDB 10.2.2 by commit fec844ac which introduced some Galera-specific conditions that were being evaluated even if the write-set replication was not enabled. MDEV-13246 Stale rows despite ON DELETE CASCADE constraint is a correctness regression that was introduced by the same commit. Especially the subcondition !(parent && que_node_get_type(parent) == QUE_NODE_UPDATE) which is equivalent to !parent || que_node_get_type(parent) != QUE_NODE_UPDATE makes little sense. If parent==NULL, the evaluation would proceed to the std::find() expression, which would dereference parent. Because no SIGSEGV was observed related to this, we can conclude that parent!=NULL always holds. But then, the condition would be equivalent to que_node_get_type(parent) != QUE_NODE_UPDATE which would not make sense either, because the std::find() expression is actually assuming the opposite when casting parent to upd_node_t*. It looks like this condition never worked properly, or that it was never properly tested, or both. wsrep_must_process_fk(): Helper function to check if FOREIGN KEY constraints need to be processed. Only evaluate the costly std::find() expression when write-set replication is enabled. Also, rely on operator<<(std::ostream&, const id_name_t&) and operator<<(std::ostream&, const table_name_t&) for pretty-printing index and table names. row_upd_sec_index_entry(): Add !wsrep_thd_is_BF() to the condition. This is applying part of "Galera MW-369 FK fixes" https://github.com/codership/mysql-wsrep/commit/f37b79c6dab101310a45a9e8cb23c0f98716da52 that is described by the following part of the commit comment: additionally: skipping wsrep_row_upd_check_foreign_constraint if thd has BF, essentially is applier or replaying This FK check would be needed only for populating parent row FK keys in write set, so no use for appliers
-
Marko Mäkelä authored
trx_set_rw_mode(): Check the flag high_level_read_only instead of testing srv_force_recovery (innodb_force_recovery) directly. There is no need to prevent the creation of read-write transactions if innodb_force_recovery=3 is used. Yes, in that mode any recovered incomplete transactions will not be rolled back, but these transactions will continue to hold locks on the records that they have modified. If the new read-write transactions hit conflicts with already existing (possibly recovered) transactions, the lock wait timeout mechanism will work just fine.
-
Marko Mäkelä authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
Install mtr and mysql-test-run symlinks in case of the out-of-source build. This was broken in c872b100
-
Sergey Vojtovich authored
Follow-up to original patch: fixing test cases.
-
=Ian Gilfillan authored
-
- 14 Aug, 2017 16 commits
-
-
Elena Stepanova authored
-
Sergei Petrunia authored
Make test result stable
-
Sergei Golubchik authored
-
Sergei Golubchik authored
collateral changes: * remove a test from innodb_virtual_basic that is already present in gcol_keys_innodb * set thd->abort_on_warning for inplace alter, just like it's set for copy_data_between_tables - to have warnings converted into errors identically in all alter algorithms * don't ignore errors in TABLE::update_virtual_field
-
Sergei Golubchik authored
don't allocate memory on thd->mem_root in every fix_fields(), do it once and reuse.
-
Sergei Golubchik authored
doing SYSVAR_AUTOSIZE() because of back_log > max_connections enabled "autosized" flag, and that made IS_SYSVAR_AUTOSIZE() true, which triggered the second SYSVAR_AUTOSIZE. Remove back_log <= max_connections limit, back_log doesn't *always* have to be smaller than max_connections.
-
Sergei Golubchik authored
make JSON an alias for LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin (same collation that item_jsonfunc.cc is using internally)
-
Sergei Golubchik authored
SQL Standard behavior for DROP COLUMN xxx RESTRICT: * If a constraint (UNIQUE or CHECK) uses only the dropped column, it's automatically dropped too. If it uses many columns - an error.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
don't allow arbitrary combinations of SIGNED/UNSIGNED/ZEROFILL
-
Sergei Golubchik authored
let include/restart_mysqld.inc use include/start_mysqld.inc and include/shutdown_mysqld.inc. Instead of copying their content.
-
Sergei Golubchik authored
InnoDB: in slow shutodwn mode do not stop purge threads as long as some connection threads are running
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
execute queries after purge thread has exited, but the connection thread hasn't before c720e68f it used to crash
-
Sergei Golubchik authored
-