- 02 Feb, 2010 2 commits
-
-
Alexander Nozdrin authored
Conflicts: - mysql-test/r/mysqld--help-win.result - sql/sys_vars.cc Original revsion (in next-mr-bugfixing): ------------------------------------------------------------ revno: 2971 [merge] revision-id: alfranio.correia@sun.com-20100121210527-rbuheu5rnsmcakh1 committer: Alfranio Correia <alfranio.correia@sun.com> branch nick: mysql-next-mr-bugfixing timestamp: Thu 2010-01-21 21:05:27 +0000 message: BUG#46364 MyISAM transbuffer problems (NTM problem) It is well-known that due to concurrency issues, a slave can become inconsistent when a transaction contains updates to both transaction and non-transactional tables. In a nutshell, the current code-base tries to preserve causality among the statements by writing non-transactional statements to the txn-cache which is flushed upon commit. However, modifications done to non-transactional tables on behalf of a transaction become immediately visible to other connections but may not immediately get into the binary log and therefore consistency may be broken. In general, it is impossible to automatically detect causality/dependency among statements by just analyzing the statements sent to the server. This happen because dependency may be hidden in the application code and it is necessary to know a priori all the statements processed in the context of a transaction such as in a procedure. Moreover, even for the few cases that we could automatically address in the server, the computation effort required could make the approach infeasible. So, in this patch we introduce the option - "--binlog-direct-non-transactional-updates" that can be used to bypass the current behavior in order to write directly to binary log statements that change non-transactional tables. Besides, it is used to enable the WL#2687 which is disabled by default. ------------------------------------------------------------ revno: 2970.1.1 revision-id: alfranio.correia@sun.com-20100121131034-183r4qdyld7an5a0 parent: alik@sun.com-20100121083914-r9rz2myto3tkdya0 committer: Alfranio Correia <alfranio.correia@sun.com> branch nick: mysql-next-mr-bugfixing timestamp: Thu 2010-01-21 13:10:34 +0000 message: BUG#46364 MyISAM transbuffer problems (NTM problem) It is well-known that due to concurrency issues, a slave can become inconsistent when a transaction contains updates to both transaction and non-transactional tables. In a nutshell, the current code-base tries to preserve causality among the statements by writing non-transactional statements to the txn-cache which is flushed upon commit. However, modifications done to non-transactional tables on behalf of a transaction become immediately visible to other connections but may not immediately get into the binary log and therefore consistency may be broken. In general, it is impossible to automatically detect causality/dependency among statements by just analyzing the statements sent to the server. This happen because dependency may be hidden in the application code and it is necessary to know a priori all the statements processed in the context of a transaction such as in a procedure. Moreover, even for the few cases that we could automatically address in the server, the computation effort required could make the approach infeasible. So, in this patch we introduce the option - "--binlog-direct-non-transactional-updates" that can be used to bypass the current behavior in order to write directly to binary log statements that change non-transactional tables. Besides, it is used to enable the WL#2687 which is disabled by default.
-
Alexander Nozdrin authored
binlog_direct_non_transactional_updates_basic.result. They will be added by a cherry-picking merge from mysql-next-mr-bugfixing (Bug#50766).
-
- 01 Feb, 2010 2 commits
-
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
- 31 Jan, 2010 3 commits
-
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
- 30 Jan, 2010 19 commits
-
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
Conflicts: - mysql-test/collections/default.experimental - mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
-
Alexander Nozdrin authored
Conflicts: - mysql-test/suite/rpl/r/rpl_binlog_grant.result - mysql-test/suite/rpl/r/rpl_sp.result - mysql-test/suite/rpl/t/rpl_binlog_grant.test - sql/sql_parse.cc - sql/sql_table.cc - sql/sql_test.cc
-
Alexander Nozdrin authored
The patches should be ported to next-mr separately.
-
Alexander Nozdrin authored
Conflicts: - mysql-test/collections/default.experimental - mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result - mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
-
Alexander Nozdrin authored
Conflicts: - mysql-test/suite/binlog/t/binlog_write_error.test - sql/log.cc - sql/log_event.cc - sql/log_event_old.cc - sql/mysql_priv.h - sql/sp.cc - sql/sql_acl.cc - sql/sql_base.cc - sql/sql_delete.cc - sql/sql_insert.cc - sql/sql_load.cc - sql/sql_table.cc - sql/sql_udf.cc - sql/sql_update.cc - sql/sql_view.cc
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
Conflicts: - sql/event_db_repository.cc - sql/events.cc - sql/sp.cc - sql/sql_acl.cc - sql/sql_udf.cc
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
Conflicts: - sql/mysqld.cc - sql/sql_view.cc - sql/sql_yacc.yy
-
Alexander Nozdrin authored
Conflicts: - sql/events.cc - sql/mysql_priv.h - sql/repl_failsafe.cc - sql/sql_db.cc - sql/sql_parse.cc - sql/sql_show.cc
-
Alexander Nozdrin authored
Conflicts: - mysql-test/collections/default.experimental - mysql-test/suite/rpl/r/rpl_binlog_grant.result - mysql-test/suite/rpl/r/rpl_sp.result - mysql-test/suite/rpl/t/rpl_binlog_grant.test - mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
-
Alexander Nozdrin authored
WL#5154 needs to be ported to next-mr and 6.0 separately. That can not be done in scope of this merge due to numerous test failures.
-
Alexander Nozdrin authored
Conflicts: - sql/mysql_priv.h
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
unknown authored
REVOKE/GRANT; ALTER EVENT. The following statements support the CURRENT_USER() where a user is needed. DROP USER RENAME USER CURRENT_USER() ... GRANT ... TO CURRENT_USER() REVOKE ... FROM CURRENT_USER() ALTER DEFINER = CURRENT_USER() EVENT but, When these statements are binlogged, CURRENT_USER() just is binlogged as 'CURRENT_USER()', it is not expanded to the real user name. When slave executes the log event, 'CURRENT_USER()' is expand to the user of slave SQL thread, but SQL thread's user name always NULL. This breaks the replication. After this patch, All above statements are rewritten when they are binlogged. The CURRENT_USER() is expanded to the real user's name and host.
-
- 29 Jan, 2010 3 commits
-
-
Georgi Kodinov authored
-
Georgi Kodinov authored
Updated the certs to expire on 2015. Made sure they work with both yassl and openssl.
-
Ramil Kalimullin authored
column is used for ORDER BY Problem: filesort isn't meant for null length sort data (e.g. char(0)), that leads to a server crash. Fix: disregard sort order if sort data record length is 0 (nothing to sort). mysql-test/r/select.result: Fix for bug#49897: crash in ptr_compare when char(0) NOT NULL column is used for ORDER BY - test result. mysql-test/t/select.test: Fix for bug#49897: crash in ptr_compare when char(0) NOT NULL column is used for ORDER BY - test case. sql/filesort.cc: Fix for bug#49897: crash in ptr_compare when char(0) NOT NULL column is used for ORDER BY - assert added as filesort cannot handle null length sort data. sql/sql_select.cc: Fix for bug#49897: crash in ptr_compare when char(0) NOT NULL column is used for ORDER BY - don't sort null length data e.g. in case of ORDER BY CHAR(0).
-
- 28 Jan, 2010 2 commits
-
-
Alexander Nozdrin authored
- main.outfile_loaddata @solaris due to Bug#46895 - main.signal_demo3 @solaris due to Bug#47791 - main.sp @solaris due to Bug#47791 - rpl.rpl_slave_load_remove_tmpfile @windows due to Bug#50474
-
Tor Didriksen authored
sql/sql_test.cc: Assemble results of all the calls to full_name() first, in order not to garble the tabular output.
-
- 29 Jan, 2010 2 commits
-
-
Ramil Kalimullin authored
-
Georgi Kodinov authored
in multitable delete/subquery SQL_BUFFER_RESULT should not have an effect on non-SELECT statements according to our documentation. Fixed by not passing it through to multi-table DELETE (similarly to how it's done for multi-table UPDATE).
-
- 28 Jan, 2010 3 commits
-
-
Davi Arnaut authored
Rename method as to not hide a base. Reorder attributes initialization. Remove unused variable. Rework code to silence a warning due to assignment used as truth value. sql/item_strfunc.cc: Rename method as to not hide a base. sql/item_strfunc.h: Rename method as to not hide a base. sql/log_event.cc: Reorder attributes initialization. sql/rpl_injector.cc: Rework code to silence a warning due to assignment used as truth value. sql/rpl_record.cc: Remove unused variable. sql/sql_db.cc: Rework code to silence a warning due to assignment used as truth value. sql/sql_parse.cc: Rework code to silence a warning due to assignment used as truth value. sql/sql_table.cc: Rework code to silence a warning due to assignment used as truth value.
-
Andrei Elkin authored
-
Andrei Elkin authored
-
- 27 Jan, 2010 4 commits
-
-
Alexander Nozdrin authored
Conflicts: - storage/archive/ha_archive.cc
-
Alexander Nozdrin authored
Conflicts: - mysql-test/extra/rpl_tests/rpl_mixing_engines.inc - sql/log.cc - sql/mysqld.cc - sql/set_var.cc - sql/sql_class.h
-
Alexander Nozdrin authored
main.partition_innodb started to pass.
-
Alexander Nozdrin authored
-