- 14 Aug, 2015 3 commits
-
-
Nirbhay Choubey authored
(Additional fixes in 10.0-galera branch) * Reset THD's PS members before returning when node is not ready. * Update galera_suspend_slave.test
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
In galera cluster, when myisam replication is enabled (wsrep_replicate_myisam=ON), DML statements are replicated in open_tables(). However, in case of prepared statements, for an INSERT, open_tables() gets invoked twice. Once for COM_STMT_PREPARE (to validate and prepare INSERT) and later for COM_STMT_EXECUTE. As a result, the command gets replicated twice. Same happens for REPLACE, UPDATE and DELETE commands. Fixed by adding a check to not replicate during 'prepare' phase. Also changed the order of conditions to make it more efficient. Lastly, in order to support wsrep_dirty_reads, made changes to allow COM_STMT_XXX commands to continue past initial check even when wsrep is not ready.
-
- 12 Aug, 2015 1 commit
-
-
Nirbhay Choubey authored
RENAME TABLE, unlike other DDLs, was getting replicated before the access check was performed. As a result, the command could get get replicated and thus executed on other nodes, even if it fails on the originating node due to permission issues. Fixed by moving the logic to check user privileges before replicating the command.
-
- 08 Aug, 2015 1 commit
-
-
Nirbhay Choubey authored
-
- 07 Aug, 2015 1 commit
-
-
Nirbhay Choubey authored
-
- 06 Aug, 2015 1 commit
-
-
Nirbhay Choubey authored
Added logic to replicate ALTER TABLE EXCHANGE PARTITION to other nodes in the cluster.
-
- 05 Aug, 2015 3 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
5.5 without InnoDB/XtraDB changes
-
- 04 Aug, 2015 8 commits
-
-
Sergei Golubchik authored
5.5 with our InnoDB changes
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Kristian Nielsen authored
-
Kristian Nielsen authored
-
Kristian Nielsen authored
-
Kristian Nielsen authored
This bug is essentially another variant of MDEV-7458. If a transaction conflict caused a deadlock kill of T2 in record_gtid() during commit, the code would do a rollback _before_ running rgi->unmark_start_commit(). This creates a race where following transactions could start too early (before T2 has completed its transaction retry). This in turn could lead to replication failure, if there was a conflict that caused eg. duplicate key error or similar. The fix is to remove these rollbacks (in Query_log_event::do_apply_event() and Xid_log_event::do_apply_event(). They seem out-of-place; code in log_event.cc generally does not roll back on error, this is handled higher up. In addition, because of the extreme difficulty of reproducing bugs like MDEV-7458 and MDEV-8302, this patch adds some extra precations to try to detect (in debug builds) or prevent (in release builds) similar bugs. ha_rollback_trans() will now call unmark_start_commit() if needed (and assert in debug build when a caller does rollback without unmark first). We also add an extra check for thd->killed() so that we avoid doing mark_start_commit() if we already have a pending deadlock kill. And we add a missing unmark_start_commit() call in the error case, found by the above assertion.
-
Jan Lindström authored
-
- 03 Aug, 2015 12 commits
-
-
Jan Lindström authored
Conflicts: client/mysql_upgrade.c mysql-test/r/func_misc.result mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result mysql-test/suite/innodb/r/innodb-fk.result mysql-test/t/subselect_sj_mat.test sql/item.cc sql/item_func.cc sql/log.cc sql/log_event.cc sql/rpl_utility.cc sql/slave.cc sql/sql_class.cc sql/sql_class.h sql/sql_select.cc storage/innobase/dict/dict0crea.c storage/innobase/dict/dict0dict.c storage/innobase/handler/ha_innodb.cc storage/xtradb/dict/dict0crea.c storage/xtradb/dict/dict0dict.c storage/xtradb/handler/ha_innodb.cc vio/viosslfactories.c
-
Sergei Petrunia authored
The problem was with Materialized_cursor and temporary table it uses. Temorary table's fields had Field::orig_table pointing to the tables that were used in the query that produced data for the cursor. When "FETCH INTO sp_var" statement is executed, those original tables were already closed. However, copying from Materialized_cursor's table into SP variable may cause field_conv() to be invoked which calls field->type() which may access field->orig_table (for certain field types). Fixed by setting Materialized_cursor->table->field[i]->orig_table to point to Materialized_cursor->table. (this is how it is done for regular base tables)
-
Sergei Petrunia authored
-
Sergei Petrunia authored
THD::>save_prep_leaf_list was set to true by multi-table update statements with mergeable selects and never reset. Make every statement reset it at start.
-
Sergei Petrunia authored
THD::>save_prep_leaf_list was set to true by multi-table update statements with mergeable selects and never reset. Make every statement reset it at start.
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
5.6.26
-
Sergei Golubchik authored
5.6.26
-
Sergei Golubchik authored
XtraDB 5.6.25-73.1
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 01 Aug, 2015 7 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
removed unused directory
-
Sergei Golubchik authored
Support for VS2013 and WiX 3.9 (patch by Andrey Kuznetsov)
-
Sergei Golubchik authored
5.5.44-37.3
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 31 Jul, 2015 3 commits
-
-
Sergei Golubchik authored
Correct fix for this bug. The problem was that Item_func_group_concat() was calling setup_order(), passing args as the second argument, ref_pointer_array. While ref_pointer_array should have free space at the end, as setup_order() can append elements to it. In this particular case args[] elements were overwritten when setup_order() was pushing new elements into ref_pointer_array.
-
Sergei Golubchik authored
-
Nirbhay Choubey authored
Fix for 'reorder' compiler warning.
-