EVOLUTION-MANAGER
Edit File: direct_update_part.test
--disable_warnings --disable_query_log --disable_result_log --source test_init.inc --enable_result_log --enable_query_log if (!$HAVE_PARTITION) { --disable_query_log --disable_result_log --source test_deinit.inc --enable_result_log --enable_query_log --enable_warnings skip Test requires partitioning; } --echo --echo drop and create databases --connection master_1 DROP DATABASE IF EXISTS auto_test_local; CREATE DATABASE auto_test_local; USE auto_test_local; if ($USE_CHILD_GROUP2) { --connection child2_1 DROP DATABASE IF EXISTS auto_test_remote; CREATE DATABASE auto_test_remote; USE auto_test_remote; --connection child2_2 DROP DATABASE IF EXISTS auto_test_remote2; CREATE DATABASE auto_test_remote2; USE auto_test_remote2; } --enable_warnings --echo --echo test select 1 --connection master_1 SELECT 1; if ($USE_CHILD_GROUP2) { if (!$OUTPUT_CHILD_GROUP2) { --disable_query_log --disable_result_log } --connection child2_1 SELECT 1; --connection child2_2 SELECT 1; if (!$OUTPUT_CHILD_GROUP2) { --enable_query_log --enable_result_log } } --echo --echo with partition test if ($HAVE_PARTITION) { if ($USE_CHILD_GROUP2) { if (!$OUTPUT_CHILD_GROUP2) { --disable_query_log --disable_result_log } --connection child2_2 if ($OUTPUT_CHILD_GROUP2) { --disable_query_log echo CHILD2_2_DROP_TABLES; echo CHILD2_2_CREATE_TABLES; } --disable_warnings eval $CHILD2_2_DROP_TABLES; --enable_warnings eval $CHILD2_2_CREATE_TABLES; if ($OUTPUT_CHILD_GROUP2) { --enable_query_log } if ($USE_GENERAL_LOG) { TRUNCATE TABLE mysql.general_log; } --connection child2_1 if ($OUTPUT_CHILD_GROUP2) { --disable_query_log echo CHILD2_1_DROP_TABLES2; echo CHILD2_1_CREATE_TABLES2; } --disable_warnings eval $CHILD2_1_DROP_TABLES2; --enable_warnings eval $CHILD2_1_CREATE_TABLES2; if ($OUTPUT_CHILD_GROUP2) { --enable_query_log } if ($USE_GENERAL_LOG) { TRUNCATE TABLE mysql.general_log; } if (!$OUTPUT_CHILD_GROUP2) { --enable_query_log --enable_result_log } } --connection master_1 --disable_query_log echo CREATE TABLE ta_l2 ( a INT, b CHAR(1), c DATETIME, PRIMARY KEY(a) ) MASTER_1_ENGINE MASTER_1_COMMENT2_P_2_1; eval CREATE TABLE ta_l2 ( a INT, b CHAR(1), c DATETIME, PRIMARY KEY(a) ) $MASTER_1_ENGINE $MASTER_1_COMMENT2_P_2_1; INSERT INTO ta_l2 (a, b, c) VALUES (1, 'a', '2008-08-01 10:21:39'), (2, 'b', '2000-01-01 00:00:00'), (3, 'e', '2007-06-04 20:03:11'), (4, 'd', '2003-11-30 05:01:03'), (5, 'c', '2001-12-31 23:59:59'); --enable_query_log eval $MASTER_1_CHECK_DIRECT_UPDATE_STATUS; SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a; --echo update all rows with function UPDATE ta_l2 SET c = ADDDATE(c, 1); eval $MASTER_1_CHECK_DIRECT_UPDATE_STATUS; SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a; --echo update by primary key UPDATE ta_l2 SET b = 'x' WHERE a = 3; eval $MASTER_1_CHECK_DIRECT_UPDATE_STATUS; SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a; --echo update by a column without index UPDATE ta_l2 SET c = '2011-10-17' WHERE b = 'x'; eval $MASTER_1_CHECK_DIRECT_UPDATE_STATUS; SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a; --echo update by primary key with order and limit UPDATE ta_l2 SET c = ADDDATE(c, 1) WHERE a < 4 ORDER BY b DESC LIMIT 1; eval $MASTER_1_CHECK_DIRECT_UPDATE_STATUS; SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a; --echo delete by primary key with order and limit DELETE FROM ta_l2 WHERE a < 4 ORDER BY c LIMIT 1; eval $MASTER_1_CHECK_DIRECT_DELETE_STATUS; SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a; --echo delete by a column without index DELETE FROM ta_l2 WHERE b = 'c'; eval $MASTER_1_CHECK_DIRECT_DELETE_STATUS; SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a; --echo delete by primary key DELETE FROM ta_l2 WHERE a = 3; eval $MASTER_1_CHECK_DIRECT_DELETE_STATUS; SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a; if ($USE_CHILD_GROUP2) { if (!$OUTPUT_CHILD_GROUP2) { --disable_query_log --disable_result_log } --connection child2_2 if ($USE_GENERAL_LOG) { SELECT argument FROM mysql.general_log WHERE argument LIKE '%handler %'; } eval $CHILD2_2_SELECT_TABLES; --connection child2_1 if ($USE_GENERAL_LOG) { SELECT argument FROM mysql.general_log WHERE argument LIKE '%handler %'; } eval $CHILD2_1_SELECT_TABLES2; if (!$OUTPUT_CHILD_GROUP2) { --enable_query_log --enable_result_log } } } --echo --echo deinit --disable_warnings --connection master_1 DROP DATABASE IF EXISTS auto_test_local; if ($USE_CHILD_GROUP2) { --connection child2_1 DROP DATABASE IF EXISTS auto_test_remote; --connection child2_2 DROP DATABASE IF EXISTS auto_test_remote2; } --disable_query_log --disable_result_log --source test_deinit.inc --enable_result_log --enable_query_log --enable_warnings --echo --echo end of test