3719 Andrei Elkin 2012-04-23 [merge]
null merge from 5.5.
3718 Andrei Elkin 2012-04-23
merge bug11754117-45670 fixes from 5.5: fixing error codes shift.
@ mysql-test/extra/rpl_tests/rpl_loaddata.test
error code shifted.
@ mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test
error code shifted.
@ mysql-test/r/explain.result
results updated.
@ mysql-test/r/get_diagnostics.result
results updated.
@ mysql-test/r/innodb_explain_json_non_select_all.result
results updated.
@ mysql-test/r/innodb_explain_json_non_select_none.result
results updated.
@ mysql-test/r/innodb_explain_non_select_all.result
results updated.
@ mysql-test/r/innodb_explain_non_select_none.result
results updated.
@ mysql-test/r/myisam_explain_json_non_select_all.result
results updated.
@ mysql-test/r/myisam_explain_json_non_select_none.result
results updated.
@ mysql-test/r/myisam_explain_non_select_all.result
results updated.
@ mysql-test/r/myisam_explain_non_select_none.result
results updated.
@ mysql-test/r/partition_error.result
results updated.
@ mysql-test/r/partition_exchange.result
results updated.
@ mysql-test/r/read_only_innodb.result
results updated.
@ mysql-test/r/sp-destruct.result
results updated.
@ mysql-test/r/type_time.result
results updated.
@ mysql-test/r/variables.result
results updated.
@ mysql-test/suite/binlog/r/binlog_rewrite.result
results updated.
@ mysql-test/suite/rpl/r/rpl_alter_repository.result
results updated.
@ mysql-test/suite/rpl/r/rpl_loaddata.result
results updated.
@ mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result
results updated.
@ mysql-test/suite/rpl/r/rpl_parallel_start_stop.result
results updated.
@ mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result
results updated.
@ mysql-test/suite/rpl/r/rpl_stm_EE_err2.result
results updated.
@ mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result
results updated.
@ mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result
results updated.
@ mysql-test/suite/rpl/t/rpl_alter_repository.test
error code shifted.
@ mysql-test/suite/rpl/t/rpl_parallel_start_stop.test
error code shifted.
@ mysql-test/suite/sys_vars/r/max_binlog_cache_size_basic.result
results updated.
@ mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result
results updated.
modified:
mysql-test/extra/rpl_tests/rpl_loaddata.test
mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test
mysql-test/r/explain.result
mysql-test/r/get_diagnostics.result
mysql-test/r/innodb_explain_json_non_select_all.result
mysql-test/r/innodb_explain_json_non_select_none.result
mysql-test/r/innodb_explain_non_select_all.result
mysql-test/r/innodb_explain_non_select_none.result
mysql-test/r/myisam_explain_json_non_select_all.result
mysql-test/r/myisam_explain_json_non_select_none.result
mysql-test/r/myisam_explain_non_select_all.result
mysql-test/r/myisam_explain_non_select_none.result
mysql-test/r/partition_error.result
mysql-test/r/partition_exchange.result
mysql-test/r/read_only_innodb.result
mysql-test/r/sp-destruct.result
mysql-test/r/type_time.result
mysql-test/r/variables.result
mysql-test/suite/binlog/r/binlog_rewrite.result
mysql-test/suite/rpl/r/rpl_alter_repository.result
mysql-test/suite/rpl/r/rpl_loaddata.result
mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result
mysql-test/suite/rpl/r/rpl_parallel_start_stop.result
mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result
mysql-test/suite/rpl/r/rpl_stm_EE_err2.result
mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result
mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result
mysql-test/suite/rpl/t/rpl_alter_repository.test
mysql-test/suite/rpl/t/rpl_parallel_start_stop.test
mysql-test/suite/sys_vars/r/max_binlog_cache_size_basic.result
mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result
3717 Andrei Elkin 2012-04-23 [merge]
merge from 5.5 repo
modified:
mysql-test/r/bug12427262.result
mysql-test/suite/innodb/r/innodb-index-online.result
mysql-test/suite/innodb/t/innodb-index-online.test
storage/innobase/include/read0read.h
storage/innobase/include/read0read.ic
storage/innobase/read/read0read.cc
storage/innobase/row/row0merge.cc
storage/innobase/trx/trx0trx.cc
=== modified file 'mysql-test/extra/rpl_tests/rpl_loaddata.test'
--- a/mysql-test/extra/rpl_tests/rpl_loaddata.test 2012-04-18 13:06:39 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_loaddata.test 2012-04-23 08:14:28 +0000
@@ -161,7 +161,7 @@ if (`SELECT @@global.binlog_format != 'R
# Query causes error on master but not on slave. This causes the slave to
# stop with error code 0 (which is wrong: see BUG#57287)
# ER_MTS_INCONSISTENT_DATA
- --let $slave_sql_errno= 0,1755
+ --let $slave_sql_errno= 0,1756
--source include/wait_for_slave_sql_error.inc
drop table t1, t2;
}
=== modified file 'mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test'
--- a/mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test 2012-04-18 13:06:39 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test 2012-04-23 08:14:28 +0000
@@ -29,7 +29,7 @@ call mtr.add_suppression("The slave coor
--echo (expect different error codes on master and slave)
# ER_MTS_INCONSISTENT_DATA
---let $slave_sql_errno= 0,1755
+--let $slave_sql_errno= 0,1756
# can't print error text. MTS reports a separate error in this case.
# Todo: to fix single-threaded-slave BUG#57287.
--let $show_slave_sql_error= 0
=== modified file 'mysql-test/r/explain.result'
--- a/mysql-test/r/explain.result 2012-04-20 13:01:26 +0000
+++ b/mysql-test/r/explain.result 2012-04-23 08:14:28 +0000
@@ -419,8 +419,8 @@ EXPLAIN EXTENDED SELECT * FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 index PRIMARY PRIMARY 1 NULL 5 100.00 Using where; Using index
Warnings:
-Warning 1738 Cannot use ref access on index 'PRIMARY' due to type or collation conversion on field 'url'
-Warning 1738 Cannot use range access on index 'PRIMARY' due to type or collation conversion on field 'url'
+Warning 1739 Cannot use ref access on index 'PRIMARY' due to type or collation conversion on field 'url'
+Warning 1739 Cannot use range access on index 'PRIMARY' due to type or collation conversion on field 'url'
Note 1003 /* select#1 */ select `test`.`t1`.`url` AS `url` from `test`.`t1` where (`test`.`t1`.`url` = 1)
# Test that index can't be used for lookup due to collation mismatch
@@ -431,8 +431,8 @@ EXPLAIN EXTENDED SELECT * FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 index PRIMARY PRIMARY 1 NULL 5 100.00 Using where; Using index
Warnings:
-Warning 1738 Cannot use ref access on index 'PRIMARY' due to type or collation conversion on field 'url'
-Warning 1738 Cannot use range access on index 'PRIMARY' due to type or collation conversion on field 'url'
+Warning 1739 Cannot use ref access on index 'PRIMARY' due to type or collation conversion on field 'url'
+Warning 1739 Cannot use range access on index 'PRIMARY' due to type or collation conversion on field 'url'
Note 1003 /* select#1 */ select `test`.`t1`.`url` AS `url` from `test`.`t1` where (`test`.`t1`.`url` = <cache>(('1' collate latin1_german2_ci)))
# Normally, range access on primary key is done
@@ -452,7 +452,7 @@ EXPLAIN EXTENDED SELECT * FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 index PRIMARY PRIMARY 1 NULL 5 100.00 Using where; Using index
Warnings:
-Warning 1738 Cannot use range access on index 'PRIMARY' due to type or collation conversion on field 'url'
+Warning 1739 Cannot use range access on index 'PRIMARY' due to type or collation conversion on field 'url'
Note 1003 /* select#1 */ select `test`.`t1`.`url` AS `url` from `test`.`t1` where (`test`.`t1`.`url` > 3)
# Test that range access on index can't be done due to collation mismatch
@@ -464,7 +464,7 @@ EXPLAIN EXTENDED SELECT * FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 index PRIMARY PRIMARY 1 NULL 5 100.00 Using where; Using index
Warnings:
-Warning 1738 Cannot use range access on index 'PRIMARY' due to type or collation conversion on field 'url'
+Warning 1739 Cannot use range access on index 'PRIMARY' due to type or collation conversion on field 'url'
Note 1003 /* select#1 */ select `test`.`t1`.`url` AS `url` from `test`.`t1` where (`test`.`t1`.`url` > <cache>(('3' collate latin1_german2_ci)))
DROP TABLE t1;
=== modified file 'mysql-test/r/get_diagnostics.result'
--- a/mysql-test/r/get_diagnostics.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/get_diagnostics.result 2012-04-23 08:14:28 +0000
@@ -232,26 +232,26 @@ GET DIAGNOSTICS CONDITION "1" @var = CLA
SELECT COUNT(max_questions) INTO @var FROM mysql.user;
GET DIAGNOSTICS CONDITION 9999 @var = CLASS_ORIGIN;
Warnings:
-Error 1757 Invalid condition number
+Error 1758 Invalid condition number
GET DIAGNOSTICS CONDITION NULL @var = CLASS_ORIGIN;
Warnings:
-Error 1757 Invalid condition number
-Error 1757 Invalid condition number
+Error 1758 Invalid condition number
+Error 1758 Invalid condition number
GET DIAGNOSTICS CONDITION a @var = CLASS_ORIGIN;
Warnings:
-Error 1757 Invalid condition number
-Error 1757 Invalid condition number
+Error 1758 Invalid condition number
+Error 1758 Invalid condition number
Error 1054 Unknown column 'a' in 'field list'
SELECT COUNT(max_questions) INTO @var FROM mysql.user;
SET @cond = 1;
GET DIAGNOSTICS CONDITION @cond @var1 = CLASS_ORIGIN;
Warnings:
-Error 1757 Invalid condition number
+Error 1758 Invalid condition number
SET @cond = "invalid";
GET DIAGNOSTICS CONDITION @cond @var1 = CLASS_ORIGIN;
Warnings:
-Error 1757 Invalid condition number
-Error 1757 Invalid condition number
+Error 1758 Invalid condition number
+Error 1758 Invalid condition number
SELECT COUNT(max_questions) INTO @var FROM mysql.user;
CREATE PROCEDURE p1()
BEGIN
@@ -301,11 +301,11 @@ Warning 1292 Truncated incorrect DECIMAL
GET DIAGNOSTICS CONDITION 99999 @var = CLASS_ORIGIN;
Warnings:
Warning 1292 Truncated incorrect DECIMAL value: ''
-Error 1757 Invalid condition number
+Error 1758 Invalid condition number
SHOW WARNINGS;
Level Code Message
Warning 1292 Truncated incorrect DECIMAL value: ''
-Error 1757 Invalid condition number
+Error 1758 Invalid condition number
# Statement information runtime
@@ -488,14 +488,14 @@ CALL p1();
CAST(-19999999999999999999 AS SIGNED) -9223372036854775808
errno1 1292
msg1 Truncated incorrect DECIMAL value: ''
-errno2 1757
+errno2 1758
msg2 Invalid condition number
Warnings:
Level Warning
Code 1292
Message Truncated incorrect DECIMAL value: ''
Level Error
-Code 1757
+Code 1758
Message Invalid condition number
DROP PROCEDURE p1;
=== modified file 'mysql-test/r/innodb_explain_json_non_select_all.result'
--- a/mysql-test/r/innodb_explain_json_non_select_all.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/innodb_explain_json_non_select_all.result 2012-04-23 08:14:28 +0000
@@ -2852,8 +2852,8 @@ EXPLAIN EXTENDED DELETE FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t1 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;;
@@ -2878,18 +2878,18 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t1 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -2914,10 +2914,10 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of "equivalent" SELECT query execution:
Variable_name Value
@@ -3133,7 +3133,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -3158,7 +3158,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -3226,7 +3226,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -3251,7 +3251,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -3758,8 +3758,8 @@ EXPLAIN EXTENDED UPDATE t2 SET a = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET a = 10 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;;
@@ -3784,18 +3784,18 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -3820,10 +3820,10 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of "equivalent" SELECT query execution:
Variable_name Value
@@ -4041,7 +4041,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -4066,7 +4066,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -4134,7 +4134,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -4159,7 +4159,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
=== modified file 'mysql-test/r/innodb_explain_json_non_select_none.result'
--- a/mysql-test/r/innodb_explain_json_non_select_none.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/innodb_explain_json_non_select_none.result 2012-04-23 08:14:28 +0000
@@ -2869,8 +2869,8 @@ EXPLAIN EXTENDED DELETE FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t1 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;;
@@ -2895,18 +2895,18 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t1 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -2931,10 +2931,10 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of "equivalent" SELECT query execution:
Variable_name Value
@@ -3150,7 +3150,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -3175,7 +3175,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -3243,7 +3243,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -3268,7 +3268,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -3775,8 +3775,8 @@ EXPLAIN EXTENDED UPDATE t2 SET a = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET a = 10 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;;
@@ -3801,18 +3801,18 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -3837,10 +3837,10 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of "equivalent" SELECT query execution:
Variable_name Value
@@ -4058,7 +4058,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -4083,7 +4083,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -4151,7 +4151,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -4176,7 +4176,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
=== modified file 'mysql-test/r/innodb_explain_non_select_all.result'
--- a/mysql-test/r/innodb_explain_non_select_all.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/innodb_explain_non_select_all.result 2012-04-23 08:14:28 +0000
@@ -1312,8 +1312,8 @@ EXPLAIN EXTENDED DELETE FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1322,10 +1322,10 @@ EXPLAIN EXTENDED SELECT * FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -1459,7 +1459,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1510,7 +1510,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1780,8 +1780,8 @@ EXPLAIN EXTENDED UPDATE t2 SET a = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1790,10 +1790,10 @@ EXPLAIN EXTENDED SELECT * FROM t2 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -1928,7 +1928,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1979,7 +1979,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
=== modified file 'mysql-test/r/innodb_explain_non_select_none.result'
--- a/mysql-test/r/innodb_explain_non_select_none.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/innodb_explain_non_select_none.result 2012-04-23 08:14:28 +0000
@@ -1314,8 +1314,8 @@ EXPLAIN EXTENDED DELETE FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1324,10 +1324,10 @@ EXPLAIN EXTENDED SELECT * FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -1461,7 +1461,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1512,7 +1512,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1782,8 +1782,8 @@ EXPLAIN EXTENDED UPDATE t2 SET a = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1792,10 +1792,10 @@ EXPLAIN EXTENDED SELECT * FROM t2 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -1930,7 +1930,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1981,7 +1981,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
=== modified file 'mysql-test/r/myisam_explain_json_non_select_all.result'
--- a/mysql-test/r/myisam_explain_json_non_select_all.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/myisam_explain_json_non_select_all.result 2012-04-23 08:14:28 +0000
@@ -2754,8 +2754,8 @@ EXPLAIN EXTENDED DELETE FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t1 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;;
@@ -2780,18 +2780,18 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t1 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -2816,10 +2816,10 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of "equivalent" SELECT query execution:
Variable_name Value
@@ -3025,7 +3025,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -3050,7 +3050,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -3114,7 +3114,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -3139,7 +3139,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -3643,8 +3643,8 @@ EXPLAIN EXTENDED UPDATE t2 SET a = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET a = 10 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;;
@@ -3669,18 +3669,18 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -3705,10 +3705,10 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of "equivalent" SELECT query execution:
Variable_name Value
@@ -3916,7 +3916,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -3941,7 +3941,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -4004,7 +4004,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -4029,7 +4029,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
=== modified file 'mysql-test/r/myisam_explain_json_non_select_none.result'
--- a/mysql-test/r/myisam_explain_json_non_select_none.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/myisam_explain_json_non_select_none.result 2012-04-23 08:14:28 +0000
@@ -2769,8 +2769,8 @@ EXPLAIN EXTENDED DELETE FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t1 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;;
@@ -2795,18 +2795,18 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t1 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -2831,10 +2831,10 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of "equivalent" SELECT query execution:
Variable_name Value
@@ -3040,7 +3040,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -3065,7 +3065,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -3129,7 +3129,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -3154,7 +3154,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -3658,8 +3658,8 @@ EXPLAIN EXTENDED UPDATE t2 SET a = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET a = 10 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;;
@@ -3684,18 +3684,18 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -3720,10 +3720,10 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of "equivalent" SELECT query execution:
Variable_name Value
@@ -3931,7 +3931,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -3956,7 +3956,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
@@ -4019,7 +4019,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
EXPLAIN FORMAT=JSON UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;;
@@ -4044,7 +4044,7 @@ EXPLAIN
} /* query_block */
}
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
FLUSH STATUS;
FLUSH TABLES;
EXPLAIN EXTENDED SELECT * FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
=== modified file 'mysql-test/r/myisam_explain_non_select_all.result'
--- a/mysql-test/r/myisam_explain_non_select_all.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/myisam_explain_non_select_all.result 2012-04-23 08:14:28 +0000
@@ -1227,8 +1227,8 @@ EXPLAIN EXTENDED DELETE FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1237,10 +1237,10 @@ EXPLAIN EXTENDED SELECT * FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -1364,7 +1364,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1411,7 +1411,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1674,8 +1674,8 @@ EXPLAIN EXTENDED UPDATE t2 SET a = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1684,10 +1684,10 @@ EXPLAIN EXTENDED SELECT * FROM t2 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -1812,7 +1812,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1858,7 +1858,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
=== modified file 'mysql-test/r/myisam_explain_non_select_none.result'
--- a/mysql-test/r/myisam_explain_non_select_none.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/myisam_explain_non_select_none.result 2012-04-23 08:14:28 +0000
@@ -1227,8 +1227,8 @@ EXPLAIN EXTENDED DELETE FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1237,10 +1237,10 @@ EXPLAIN EXTENDED SELECT * FROM t1 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`i` AS `i` from `test`.`t1` where ((`test`.`t1`.`i` > 10) and (`test`.`t1`.`i` <= 18)) order by `test`.`t1`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -1364,7 +1364,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1411,7 +1411,7 @@ EXPLAIN EXTENDED DELETE FROM t2 WHERE
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1674,8 +1674,8 @@ EXPLAIN EXTENDED UPDATE t2 SET a = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1684,10 +1684,10 @@ EXPLAIN EXTENDED SELECT * FROM t2 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL i NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
-Warning 1738 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
+Warning 1739 Cannot use range access on index 'i' due to type or collation conversion on field 'i'
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`i` AS `i` from `test`.`t2` where ((`test`.`t2`.`i` > 10) and (`test`.`t2`.`i` <= 18)) order by `test`.`t2`.`i` limit 5
# Status of EXPLAIN EXTENDED "equivalent" SELECT query execution
Variable_name Value
@@ -1812,7 +1812,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
@@ -1858,7 +1858,7 @@ EXPLAIN EXTENDED UPDATE t2 SET d = 10 WH
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL a NULL NULL NULL 26 100.00 Using where; Using filesort
Warnings:
-Warning 1738 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
+Warning 1739 Cannot use range access on index 'a' due to type or collation conversion on field 'b'
# Status of EXPLAIN EXTENDED query
Variable_name Value
FLUSH STATUS;
=== modified file 'mysql-test/r/partition_error.result'
--- a/mysql-test/r/partition_error.result 2012-04-11 13:50:46 +0000
+++ b/mysql-test/r/partition_error.result 2012-04-23 08:14:28 +0000
@@ -1823,8 +1823,8 @@ PARTITION pMax VALUES LESS THAN MAXVALUE
"This is a long comment (2050 ascii characters) 50 pMax partition comment .80-!.................. 100 ................................................................................................ 200....................................................................................................................................................................................................................................................................................................... 500 ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................!
........... 1000 ..............1024-|.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1500 .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................!
....................... 2000 .................................!
.....2048-|++"
(SUBPARTITION `pMaxsp0` ,SUBPARTITION `pMaxsp1` ));
Warnings:
-Warning 1792 Comment for table partition 'pUpTo10' is too long (max = 1024)
-Warning 1792 Comment for table partition 'pMax' is too long (max = 1024)
+Warning 1793 Comment for table partition 'pUpTo10' is too long (max = 1024)
+Warning 1793 Comment for table partition 'pMax' is too long (max = 1024)
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
=== modified file 'mysql-test/r/partition_exchange.result'
--- a/mysql-test/r/partition_exchange.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/partition_exchange.result 2012-04-23 08:14:28 +0000
@@ -894,8 +894,8 @@ ALTER TABLE tp EXCHANGE PARTITION p0 WIT
ERROR HY000: Non matching attribute 'MAX_ROWS' between partition and table
SHOW WARNINGS;
Level Code Message
-Error 1730 Non matching attribute 'MAX_ROWS' between partition and table
-Error 1730 Non matching attribute 'MIN_ROWS' between partition and table
+Error 1731 Non matching attribute 'MAX_ROWS' between partition and table
+Error 1731 Non matching attribute 'MIN_ROWS' between partition and table
DROP TABLE t;
RENAME TABLE tmp2 TO t;
ALTER TABLE t ADD KEY ba_key (b, a);
=== modified file 'mysql-test/r/read_only_innodb.result'
--- a/mysql-test/r/read_only_innodb.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/read_only_innodb.result 2012-04-23 08:14:28 +0000
@@ -97,7 +97,7 @@ a
2
ROLLBACK;
Warnings:
-Warning 1750 The creation of some temporary tables could not be rolled back.
+Warning 1751 The creation of some temporary tables could not be rolled back.
SELECT * FROM temp;
a
DROP TABLE temp;
=== modified file 'mysql-test/r/sp-destruct.result'
--- a/mysql-test/r/sp-destruct.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/sp-destruct.result 2012-04-23 08:14:28 +0000
@@ -148,7 +148,7 @@ alter table mysql.proc drop column type;
# The below statement should not cause assertion failure.
drop database mysqltest;
Warnings:
-Error 1726 Column count of mysql.proc is wrong. Expected 20, found 19. The table is probably corrupted
+Error 1727 Column count of mysql.proc is wrong. Expected 20, found 19. The table is probably corrupted
# Restore mysql.proc.
drop table mysql.proc;
#
@@ -165,7 +165,7 @@ CREATE PROCEDURE db1.p1() SET @foo = 10;
ALTER TABLE mysql.proc MODIFY comment CHAR (32);
DROP DATABASE db1;
Warnings:
-Error 1727 Cannot load from mysql.proc. The table is probably corrupted
+Error 1728 Cannot load from mysql.proc. The table is probably corrupted
# Restore mysql.proc
DROP TABLE mysql.proc;
RENAME TABLE proc_backup TO mysql.proc;
=== modified file 'mysql-test/r/type_time.result'
--- a/mysql-test/r/type_time.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/type_time.result 2012-04-23 08:14:28 +0000
@@ -534,7 +534,7 @@ id select_type table type possible_keys
1 SIMPLE t1 index col_time_key col_time_key 4 NULL 5 100.00 Using index
1 SIMPLE t2 ALL NULL NULL NULL NULL 5 100.00 Using where; Using join buffer (Block Nested Loop)
Warnings:
-Warning 1738 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
+Warning 1739 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
Note 1003 /* select#1 */ select `test`.`t1`.`col_time_key` AS `col_time_key`,`test`.`t2`.`col_datetime_key` AS `col_datetime_key` from `test`.`t1` FORCE INDEX (`col_time_key`) straight_join `test`.`t2` IGNORE INDEX (`col_datetime_key`) where (`test`.`t1`.`col_time_key` = `test`.`t2`.`col_datetime_key`)
SELECT * FROM
t1 force INDEX (col_time_key)
@@ -556,7 +556,7 @@ id select_type table type possible_keys
1 SIMPLE t1 index col_time_key col_time_key 4 NULL 5 100.00 Using index
1 SIMPLE t2 ALL NULL NULL NULL NULL 5 100.00 Using where; Using join buffer (Block Nested Loop)
Warnings:
-Warning 1738 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
+Warning 1739 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
Note 1003 /* select#1 */ select `test`.`t1`.`col_time_key` AS `col_time_key`,`test`.`t2`.`col_datetime_key` AS `col_datetime_key` from `test`.`t1` FORCE INDEX (`col_time_key`) straight_join `test`.`t2` IGNORE INDEX (`col_datetime_key`) where (`test`.`t2`.`col_datetime_key` = `test`.`t1`.`col_time_key`)
SELECT * FROM
t1 force INDEX (col_time_key)
@@ -578,7 +578,7 @@ id select_type table type possible_keys
1 SIMPLE t1 index col_time_key col_time_key 4 NULL 5 100.00 Using where; Using index
1 SIMPLE t2 ref col_datetime_key col_datetime_key 6 test.t1.col_time_key 1 100.00 Using where; Using index
Warnings:
-Warning 1738 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
+Warning 1739 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
Note 1003 /* select#1 */ select `test`.`t1`.`col_time_key` AS `col_time_key`,`test`.`t2`.`col_datetime_key` AS `col_datetime_key` from `test`.`t1` FORCE INDEX (`col_time_key`) straight_join `test`.`t2` FORCE INDEX (`col_datetime_key`) where (`test`.`t1`.`col_time_key` = `test`.`t2`.`col_datetime_key`)
SELECT * FROM
t1 force INDEX (col_time_key)
@@ -600,7 +600,7 @@ id select_type table type possible_keys
1 SIMPLE t1 index col_time_key col_time_key 4 NULL 5 100.00 Using where; Using index
1 SIMPLE t2 ref col_datetime_key col_datetime_key 6 test.t1.col_time_key 1 100.00 Using where; Using index
Warnings:
-Warning 1738 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
+Warning 1739 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
Note 1003 /* select#1 */ select `test`.`t1`.`col_time_key` AS `col_time_key`,`test`.`t2`.`col_datetime_key` AS `col_datetime_key` from `test`.`t1` FORCE INDEX (`col_time_key`) straight_join `test`.`t2` FORCE INDEX (`col_datetime_key`) where (`test`.`t2`.`col_datetime_key` = `test`.`t1`.`col_time_key`)
SELECT * FROM
t1 force INDEX (col_time_key)
@@ -664,7 +664,7 @@ id select_type table type possible_keys
1 SIMPLE t2 ALL NULL NULL NULL NULL 5 100.00 NULL
1 SIMPLE t1 ALL col_time_key NULL NULL NULL 5 100.00 Range checked for each record (index map: 0x1)
Warnings:
-Warning 1738 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
+Warning 1739 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
Note 1003 /* select#1 */ select `test`.`t2`.`col_datetime_key` AS `col_datetime_key`,`test`.`t1`.`col_time_key` AS `col_time_key` from `test`.`t2` IGNORE INDEX (`col_datetime_key`) straight_join `test`.`t1` FORCE INDEX (`col_time_key`) where (`test`.`t1`.`col_time_key` = `test`.`t2`.`col_datetime_key`)
SELECT * FROM
t2 ignore INDEX (col_datetime_key)
@@ -686,7 +686,7 @@ id select_type table type possible_keys
1 SIMPLE t2 ALL NULL NULL NULL NULL 5 100.00 NULL
1 SIMPLE t1 ALL col_time_key NULL NULL NULL 5 100.00 Range checked for each record (index map: 0x1)
Warnings:
-Warning 1738 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
+Warning 1739 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
Note 1003 /* select#1 */ select `test`.`t2`.`col_datetime_key` AS `col_datetime_key`,`test`.`t1`.`col_time_key` AS `col_time_key` from `test`.`t2` IGNORE INDEX (`col_datetime_key`) straight_join `test`.`t1` FORCE INDEX (`col_time_key`) where (`test`.`t2`.`col_datetime_key` = `test`.`t1`.`col_time_key`)
SELECT * FROM
t2 ignore INDEX (col_datetime_key)
@@ -750,7 +750,7 @@ id select_type table type possible_keys
1 SIMPLE t2 index col_datetime_key col_datetime_key 6 NULL 5 100.00 Using index
1 SIMPLE t1 ALL col_time_key NULL NULL NULL 5 100.00 Range checked for each record (index map: 0x1)
Warnings:
-Warning 1738 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
+Warning 1739 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
Note 1003 /* select#1 */ select `test`.`t2`.`col_datetime_key` AS `col_datetime_key`,`test`.`t1`.`col_time_key` AS `col_time_key` from `test`.`t2` FORCE INDEX (`col_datetime_key`) straight_join `test`.`t1` FORCE INDEX (`col_time_key`) where (`test`.`t1`.`col_time_key` = `test`.`t2`.`col_datetime_key`)
SELECT * FROM
t2 force INDEX (col_datetime_key)
@@ -772,7 +772,7 @@ id select_type table type possible_keys
1 SIMPLE t2 index col_datetime_key col_datetime_key 6 NULL 5 100.00 Using index
1 SIMPLE t1 ALL col_time_key NULL NULL NULL 5 100.00 Range checked for each record (index map: 0x1)
Warnings:
-Warning 1738 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
+Warning 1739 Cannot use ref access on index 'col_time_key' due to type or collation conversion on field 'col_time_key'
Note 1003 /* select#1 */ select `test`.`t2`.`col_datetime_key` AS `col_datetime_key`,`test`.`t1`.`col_time_key` AS `col_time_key` from `test`.`t2` FORCE INDEX (`col_datetime_key`) straight_join `test`.`t1` FORCE INDEX (`col_time_key`) where (`test`.`t2`.`col_datetime_key` = `test`.`t1`.`col_time_key`)
SELECT * FROM
t2 force INDEX (col_datetime_key)
=== modified file 'mysql-test/r/variables.result'
--- a/mysql-test/r/variables.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/r/variables.result 2012-04-23 08:14:28 +0000
@@ -1526,7 +1526,7 @@ SET SQL_MODE=DEFAULT;
SET @@global.max_binlog_cache_size=-1;
Warnings:
Warning 1292 Truncated incorrect max_binlog_cache_size value: '-1'
-Warning 1737 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SET @@global.max_join_size=0;
Warnings:
Warning 1292 Truncated incorrect max_join_size value: '0'
=== modified file 'mysql-test/suite/binlog/r/binlog_rewrite.result'
--- a/mysql-test/suite/binlog/r/binlog_rewrite.result 2012-04-11 13:50:46 +0000
+++ b/mysql-test/suite/binlog/r/binlog_rewrite.result 2012-04-23 08:14:28 +0000
@@ -28,8 +28,8 @@ GRANT ALL on *.* TO test_user1 IDENTIFIE
CREATE USER test_user2 IDENTIFIED BY 'azundris2';
CHANGE MASTER TO MASTER_PASSWORD='azundris3';
Warnings:
-Note 1758 Sending passwords in plain text without SSL/TLS is extremely insecure.
-Note 1759 Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives.
+Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure.
+Note 1760 Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives.
CREATE USER 'test_user4'@'localhost';
SET PASSWORD FOR 'test_user4'@'localhost' = PASSWORD('azundris4');
include/show_binlog_events.inc
=== modified file 'mysql-test/suite/rpl/r/rpl_alter_repository.result'
--- a/mysql-test/suite/rpl/r/rpl_alter_repository.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/rpl/r/rpl_alter_repository.result 2012-04-23 08:14:28 +0000
@@ -46,7 +46,7 @@ call mtr.add_suppression(" Error while c
INSERT INTO t_innodb VALUES (1), (2), (3);
ALTER TABLE mysql.slave_relay_log_info DROP COLUMN Number_of_workers;
INSERT INTO t_innodb VALUES (1), (2), (3);
-include/wait_for_slave_sql_error.inc [errno=1726]
+include/wait_for_slave_sql_error.inc [errno=1727]
Last_SQL_Error = 'Column count of mysql.slave_relay_log_info is wrong. Expected 8, found 7. The table is probably corrupted'
include/stop_slave_io.inc
include/rpl_restart_server.inc [server_number=2 parameters: --relay-log-info-repository=FILE --skip-slave-start]
@@ -57,7 +57,7 @@ include/start_slave.inc
INSERT INTO t_innodb VALUES (1), (2), (3);
ALTER TABLE mysql.slave_relay_log_info DROP COLUMN Number_of_workers;
INSERT INTO t_innodb VALUES (1), (2), (3);
-include/wait_for_slave_sql_error.inc [errno=1726]
+include/wait_for_slave_sql_error.inc [errno=1727]
Last_SQL_Error = 'Column count of mysql.slave_relay_log_info is wrong. Expected 8, found 7. The table is probably corrupted'
include/stop_slave_io.inc
START SLAVE SQL_THREAD;
=== added file 'mysql-test/suite/rpl/r/rpl_auto_increment_bug45679.result'
--- a/mysql-test/suite/rpl/r/rpl_auto_increment_bug45679.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/r/rpl_auto_increment_bug45679.result 2012-04-23 09:02:13 +0000
@@ -0,0 +1,44 @@
+include/master-slave.inc
+Warnings:
+Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
+Note #### Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives.
+[connection master]
+call mtr.add_suppression('Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.');
+create table tm (b int auto_increment, a int, primary key (a,b)) engine= myisam;
+create table ti (b int auto_increment, a int, primary key (a,b)) engine= innodb;
+ERROR 42000: Incorrect table definition; there can be only one auto column and it must be defined as a key
+create table ti (b int auto_increment, a int, primary key (b,a)) engine= innodb;
+set @@binlog_format=statement;
+*** autoincrement field is not the first in PK warning must be there: ***
+insert into tm set b=null, a=1;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT into autoincrement field which is not the first part in the composed primary key is unsafe.
+show warnings;
+Level Code Message
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT into autoincrement field which is not the first part in the composed primary key is unsafe.
+*** no warning when autoincrement is the first in PK
+insert into ti set b=null, a=1;
+show warnings;
+Level Code Message
+create function multi_part_pk_with_autoinc (arg int)
+returns int
+begin
+insert into tm set b=null, a=arg;
+return arg;
+end//
+select multi_part_pk_with_autoinc (3);
+multi_part_pk_with_autoinc (3)
+3
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT into autoincrement field which is not the first part in the composed primary key is unsafe.
+*** autoincrement field is not the first in PK warning must be there: ***
+show warnings;
+Level Code Message
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT into autoincrement field which is not the first part in the composed primary key is unsafe.
+set @@binlog_format=mixed;
+insert into tm set b=null, a=2;
+drop table tm, ti;
+drop function multi_part_pk_with_autoinc;
+include/rpl_end.inc
=== modified file 'mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result'
--- a/mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result 2012-03-23 20:11:19 +0000
+++ b/mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result 2012-04-21 12:11:15 +0000
@@ -118,4 +118,25 @@ id c
3 3
[on master]
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+CREATE TABLE test.t5 (a INT AUTO_INCREMENT PRIMARY KEY, b INT, c INT);
+CREATE TABLE test.t1 (a INT);
+INSERT INTO test.t1 VALUES(1);
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+CREATE TABLE test.t_slave (a INT AUTO_INCREMENT PRIMARY KEY, b INT, c INT);
+CREATE TRIGGER t1_update AFTER UPDATE ON test.t1 FOR EACH ROW
+INSERT INTO test.t_slave VALUES(NULL, ROUND(RAND() * 1000), @c);
+SET INSERT_ID=2;
+SET @c=2;
+SET @@rand_seed1=10000000, @@rand_seed2=1000000;
+INSERT INTO t5 VALUES (NULL, ROUND(RAND() * 1000), @c);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
+SELECT b into @b FROM test.t5;
+UPDATE test.t1 SET a=2;
+SELECT a AS 'ONE' into @a FROM test.t_slave;
+SELECT c AS 'NULL' into @c FROM test.t_slave;
+SELECT b into @b FROM test.t_slave;
+drop table test.t5;
+drop table test.t1;
+drop table test.t_slave;
include/rpl_end.inc
=== modified file 'mysql-test/suite/rpl/r/rpl_loaddata.result'
--- a/mysql-test/suite/rpl/r/rpl_loaddata.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/rpl/r/rpl_loaddata.result 2012-04-23 08:14:28 +0000
@@ -82,7 +82,7 @@ load data infile '../../std_data/rpl_loa
terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
'\n##\n' starting by '>' ignore 1 lines;
ERROR 23000: Duplicate entry '2003-03-22' for key 'day'
-include/wait_for_slave_sql_error.inc [errno=0,1755]
+include/wait_for_slave_sql_error.inc [errno=0,1756]
drop table t1, t2;
drop table t1, t2;
CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB;
=== modified file 'mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result'
--- a/mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result 2012-04-23 08:14:28 +0000
@@ -7,11 +7,11 @@ call mtr.add_suppression("Unsafe stateme
call mtr.add_suppression("Option binlog_cache_size ");
SET GLOBAL max_binlog_cache_size = 4096;
Warnings:
-Warning 1737 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SET GLOBAL binlog_cache_size = 4096;
SET GLOBAL max_binlog_stmt_cache_size = 4096;
Warnings:
-Warning 1744 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
+Warning 1745 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
SET GLOBAL binlog_stmt_cache_size = 4096;
CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
@@ -116,11 +116,11 @@ include/diff_tables.inc [master:t1,slave
# [ On Slave ]
SET GLOBAL max_binlog_cache_size = 4096;
Warnings:
-Warning 1737 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SET GLOBAL binlog_cache_size = 4096;
SET GLOBAL max_binlog_stmt_cache_size = 4096;
Warnings:
-Warning 1744 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
+Warning 1745 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
SET GLOBAL binlog_stmt_cache_size = 4096;
include/stop_slave.inc
include/start_slave.inc
@@ -154,7 +154,7 @@ count(*)
######## CHECK MAX_BINLOG_CACHE_SIZE and BINLOG_CACHE_SIZE #########
SET @@GLOBAL.MAX_BINLOG_CACHE_SIZE= 8192;
Warnings:
-Warning 1737 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name Value
max_binlog_cache_size 8192
@@ -163,7 +163,7 @@ Variable_name Value
binlog_cache_size 8192
SET @@GLOBAL.BINLOG_CACHE_SIZE= 16384;
Warnings:
-Warning 1737 Option binlog_cache_size (16384) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (16384) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name Value
max_binlog_cache_size 8192
@@ -172,7 +172,7 @@ Variable_name Value
binlog_cache_size 8192
SET @@GLOBAL.MAX_BINLOG_CACHE_SIZE= 4096;
Warnings:
-Warning 1737 Option binlog_cache_size (8192) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (8192) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name Value
max_binlog_cache_size 4096
=== modified file 'mysql-test/suite/rpl/r/rpl_parallel_start_stop.result'
--- a/mysql-test/suite/rpl/r/rpl_parallel_start_stop.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/rpl/r/rpl_parallel_start_stop.result 2012-04-23 08:14:28 +0000
@@ -19,7 +19,7 @@ include/wait_for_slave_sql_to_stop.inc
include/start_slave.inc
select id from coord_proc_list into @c_id;
kill query @c_id;
-include/wait_for_slave_sql_error.inc [errno=1755]
+include/wait_for_slave_sql_error.inc [errno=1756]
include/start_slave.inc
CREATE TABLE t1 (a int primary key) engine=innodb;
insert into t1 values (1),(2);
@@ -62,17 +62,17 @@ set @save.slave_transaction_retries= @@g
set @@global.slave_transaction_retries= 1;
start slave sql_thread;
Warnings:
-Note 1752 slave_transaction_retries is not supported in multi-threaded slave mode. In the event of a transient failure, the slave will not retry the transaction and will stop.
+Note 1753 slave_transaction_retries is not supported in multi-threaded slave mode. In the event of a transient failure, the slave will not retry the transaction and will stop.
include/stop_slave.inc
create table t2 (a int);
insert into t2 values (1);
start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS;
Warnings:
-Note 1752 UNTIL condtion is not supported in multi-threaded slave mode. Slave is started in the sequential execution mode.
+Note 1753 UNTIL condtion is not supported in multi-threaded slave mode. Slave is started in the sequential execution mode.
include/wait_for_slave_sql_to_stop.inc
include/start_slave.inc
Warnings:
-Note 1752 slave_transaction_retries is not supported in multi-threaded slave mode. In the event of a transient failure, the slave will not retry the transaction and will stop.
+Note 1753 slave_transaction_retries is not supported in multi-threaded slave mode. In the event of a transient failure, the slave will not retry the transaction and will stop.
drop table t1;
drop table t2m;
drop table t2;
=== modified file 'mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result'
--- a/mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result 2012-04-23 08:14:28 +0000
@@ -7,11 +7,11 @@ call mtr.add_suppression("Unsafe stateme
call mtr.add_suppression("Option binlog_cache_size ");
SET GLOBAL max_binlog_cache_size = 4096;
Warnings:
-Warning 1737 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SET GLOBAL binlog_cache_size = 4096;
SET GLOBAL max_binlog_stmt_cache_size = 4096;
Warnings:
-Warning 1744 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
+Warning 1745 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
SET GLOBAL binlog_stmt_cache_size = 4096;
CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
@@ -117,11 +117,11 @@ include/diff_tables.inc [master:t1,slave
# [ On Slave ]
SET GLOBAL max_binlog_cache_size = 4096;
Warnings:
-Warning 1737 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SET GLOBAL binlog_cache_size = 4096;
SET GLOBAL max_binlog_stmt_cache_size = 4096;
Warnings:
-Warning 1744 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
+Warning 1745 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
SET GLOBAL binlog_stmt_cache_size = 4096;
include/stop_slave.inc
include/start_slave.inc
@@ -155,7 +155,7 @@ count(*)
######## CHECK MAX_BINLOG_CACHE_SIZE and BINLOG_CACHE_SIZE #########
SET @@GLOBAL.MAX_BINLOG_CACHE_SIZE= 8192;
Warnings:
-Warning 1737 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name Value
max_binlog_cache_size 8192
@@ -164,7 +164,7 @@ Variable_name Value
binlog_cache_size 8192
SET @@GLOBAL.BINLOG_CACHE_SIZE= 16384;
Warnings:
-Warning 1737 Option binlog_cache_size (16384) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (16384) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name Value
max_binlog_cache_size 8192
@@ -173,7 +173,7 @@ Variable_name Value
binlog_cache_size 8192
SET @@GLOBAL.MAX_BINLOG_CACHE_SIZE= 4096;
Warnings:
-Warning 1737 Option binlog_cache_size (8192) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (8192) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name Value
max_binlog_cache_size 4096
=== modified file 'mysql-test/suite/rpl/r/rpl_stm_EE_err2.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_EE_err2.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_EE_err2.result 2012-04-23 08:14:28 +0000
@@ -13,7 +13,7 @@ drop table t1;
call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.* error code=1062.*Error on slave:.* Error_code: 0");
call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state");
(expect different error codes on master and slave)
-include/wait_for_slave_sql_error.inc [errno=0,1755]
+include/wait_for_slave_sql_error.inc [errno=0,1756]
drop table t1;
include/stop_slave.inc
RESET SLAVE;
=== modified file 'mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result 2012-04-23 08:14:28 +0000
@@ -7,11 +7,11 @@ call mtr.add_suppression("Unsafe stateme
call mtr.add_suppression("Option binlog_cache_size ");
SET GLOBAL max_binlog_cache_size = 4096;
Warnings:
-Warning 1737 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SET GLOBAL binlog_cache_size = 4096;
SET GLOBAL max_binlog_stmt_cache_size = 4096;
Warnings:
-Warning 1744 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
+Warning 1745 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
SET GLOBAL binlog_stmt_cache_size = 4096;
CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
@@ -116,11 +116,11 @@ include/diff_tables.inc [master:t1,slave
# [ On Slave ]
SET GLOBAL max_binlog_cache_size = 4096;
Warnings:
-Warning 1737 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SET GLOBAL binlog_cache_size = 4096;
SET GLOBAL max_binlog_stmt_cache_size = 4096;
Warnings:
-Warning 1744 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
+Warning 1745 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
SET GLOBAL binlog_stmt_cache_size = 4096;
include/stop_slave.inc
include/start_slave.inc
@@ -154,7 +154,7 @@ count(*)
######## CHECK MAX_BINLOG_CACHE_SIZE and BINLOG_CACHE_SIZE #########
SET @@GLOBAL.MAX_BINLOG_CACHE_SIZE= 8192;
Warnings:
-Warning 1737 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name Value
max_binlog_cache_size 8192
@@ -163,7 +163,7 @@ Variable_name Value
binlog_cache_size 8192
SET @@GLOBAL.BINLOG_CACHE_SIZE= 16384;
Warnings:
-Warning 1737 Option binlog_cache_size (16384) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (16384) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name Value
max_binlog_cache_size 8192
@@ -172,7 +172,7 @@ Variable_name Value
binlog_cache_size 8192
SET @@GLOBAL.MAX_BINLOG_CACHE_SIZE= 4096;
Warnings:
-Warning 1737 Option binlog_cache_size (8192) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (8192) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name Value
max_binlog_cache_size 4096
=== modified file 'mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result 2012-04-23 08:14:28 +0000
@@ -98,7 +98,7 @@ load data CONCURRENT infile '../../std_d
terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
'\n##\n' starting by '>' ignore 1 lines;
ERROR 23000: Duplicate entry '2003-03-22' for key 'day'
-include/wait_for_slave_sql_error.inc [errno=0,1755]
+include/wait_for_slave_sql_error.inc [errno=0,1756]
drop table t1, t2;
drop table t1, t2;
CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB;
=== modified file 'mysql-test/suite/rpl/t/rpl_alter_repository.test'
--- a/mysql-test/suite/rpl/t/rpl_alter_repository.test 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/rpl/t/rpl_alter_repository.test 2012-04-23 08:14:28 +0000
@@ -59,7 +59,7 @@ ALTER TABLE mysql.slave_relay_log_info D
--connection master
INSERT INTO t_innodb VALUES (1), (2), (3);
--connection slave
---let $slave_sql_errno= 1726
+--let $slave_sql_errno= 1727
--let $show_slave_sql_error= 1
--source include/wait_for_slave_sql_error.inc
--source include/stop_slave_io.inc
@@ -96,7 +96,7 @@ ALTER TABLE mysql.slave_relay_log_info D
--connection master
INSERT INTO t_innodb VALUES (1), (2), (3);
--connection slave
---let $slave_sql_errno= 1726
+--let $slave_sql_errno= 1727
--let $show_slave_sql_error= 1
--source include/wait_for_slave_sql_error.inc
--source include/stop_slave_io.inc
=== added file 'mysql-test/suite/rpl/t/rpl_auto_increment_bug45679.test'
--- a/mysql-test/suite/rpl/t/rpl_auto_increment_bug45679.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_auto_increment_bug45679.test 2012-04-23 08:56:23 +0000
@@ -0,0 +1,62 @@
+# Test of auto-increment.
+#
+# BUG#11754117-45670
+# Multipart primary key with the autoincrement part not first in it
+# is replication unsafe.
+#
+
+source include/master-slave.inc;
+source include/have_binlog_format_mixed.inc;
+source include/have_innodb.inc;
+
+call mtr.add_suppression('Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.');
+
+--connection master
+create table tm (b int auto_increment, a int, primary key (a,b)) engine= myisam;
+--error ER_WRONG_AUTO_KEY
+create table ti (b int auto_increment, a int, primary key (a,b)) engine= innodb;
+create table ti (b int auto_increment, a int, primary key (b,a)) engine= innodb;
+
+set @@binlog_format=statement;
+--echo *** autoincrement field is not the first in PK warning must be there: ***
+insert into tm set b=null, a=1;
+show warnings;
+--echo *** no warning when autoincrement is the first in PK
+insert into ti set b=null, a=1;
+show warnings;
+
+delimiter //;
+create function multi_part_pk_with_autoinc (arg int)
+returns int
+begin
+ insert into tm set b=null, a=arg;
+ return arg;
+end//
+delimiter ;//
+
+select multi_part_pk_with_autoinc (3);
+--echo *** autoincrement field is not the first in PK warning must be there: ***
+show warnings;
+
+set @@binlog_format=mixed;
+insert into tm set b=null, a=2;
+
+sync_slave_with_master;
+
+if (`select count(*) <> 3 from tm`)
+{
+ --echo Wrong result from SELECT on the slave side.
+ select * from tm;
+ --die
+}
+
+# cleanup
+
+--connection master
+
+drop table tm, ti;
+drop function multi_part_pk_with_autoinc;
+
+sync_slave_with_master;
+
+--source include/rpl_end.inc
=== modified file 'mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test'
--- a/mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test 2011-08-19 13:04:28 +0000
+++ b/mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test 2012-04-21 12:11:15 +0000
@@ -207,4 +207,64 @@ SELECT * FROM t3;
connection master;
echo [on master];
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+
+--sync_slave_with_master
+
+#
+# BUG#11754117 - 45670: INTVAR_EVENTS FOR FILTERED-OUT QUERY_LOG_EVENTS ARE EXECUTED
+# Int-, Rand- and User- var events accompaning a filtered out Query-log-event should
+# be filtered as well.
+#
+connection master;
+CREATE TABLE test.t5 (a INT AUTO_INCREMENT PRIMARY KEY, b INT, c INT); # ignored on slave
+CREATE TABLE test.t1 (a INT); # accepted on slave
+INSERT INTO test.t1 VALUES(1);
+
+--sync_slave_with_master
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+CREATE TABLE test.t_slave (a INT AUTO_INCREMENT PRIMARY KEY, b INT, c INT);
+CREATE TRIGGER t1_update AFTER UPDATE ON test.t1 FOR EACH ROW
+ INSERT INTO test.t_slave VALUES(NULL, ROUND(RAND() * 1000), @c);
+
+connection master;
+SET INSERT_ID=2;
+SET @c=2;
+SET @@rand_seed1=10000000, @@rand_seed2=1000000;
+INSERT INTO t5 VALUES (NULL, ROUND(RAND() * 1000), @c); # to be ignored
+SELECT b into @b FROM test.t5;
+--let $b_master=`select @b`
+UPDATE test.t1 SET a=2; # to run trigger on slave
+
+--sync_slave_with_master
+
+# The proof:
+SELECT a AS 'ONE' into @a FROM test.t_slave;
+SELECT c AS 'NULL' into @c FROM test.t_slave;
+
+let $count= 1;
+let $table= test.t_slave;
+source include/wait_until_rows_count.inc;
+
+if (`SELECT @a != 2 and @c != NULL`)
+{
+ SELECT * FROM test.t_slave;
+ --die Intvar or user var from replication events unexpetedly escaped out to screw a following query applying context.
+}
+
+SELECT b into @b FROM test.t_slave;
+--let $b_slave=`select @b`
+
+if (`SELECT $b_slave = $b_master`)
+{
+ --echo Might be pure coincidence of two randoms from master and slave table. Don not panic yet.
+}
+
+# cleanup BUG#11754117
+connection master;
+drop table test.t5;
+drop table test.t1;
+
+--sync_slave_with_master
+drop table test.t_slave;
+
--source include/rpl_end.inc
=== modified file 'mysql-test/suite/rpl/t/rpl_parallel_start_stop.test'
--- a/mysql-test/suite/rpl/t/rpl_parallel_start_stop.test 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/rpl/t/rpl_parallel_start_stop.test 2012-04-23 08:14:28 +0000
@@ -68,7 +68,7 @@ let $count= 0;
let $table= worker_proc_list;
source include/wait_until_rows_count.inc;
-let $slave_sql_errno= 1755; # ER_MTS_PARALLEL_INCONSISTENT_DATA
+let $slave_sql_errno= 1756; # ER_MTS_PARALLEL_INCONSISTENT_DATA
source include/wait_for_slave_sql_error.inc;
source include/start_slave.inc;
=== modified file 'mysql-test/suite/sys_vars/r/max_binlog_cache_size_basic.result'
--- a/mysql-test/suite/sys_vars/r/max_binlog_cache_size_basic.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/sys_vars/r/max_binlog_cache_size_basic.result 2012-04-23 08:14:28 +0000
@@ -10,7 +10,7 @@ SELECT @start_binlog_cache_size;
SET @@global.max_binlog_cache_size = 5000;
Warnings:
Warning 1292 Truncated incorrect max_binlog_cache_size value: '5000'
-Warning 1737 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
+Warning 1738 Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SET @@global.max_binlog_cache_size = DEFAULT;
SELECT @@global.max_binlog_cache_size;
@@global.max_binlog_cache_size
=== modified file 'mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result'
--- a/mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result 2012-04-18 13:06:39 +0000
+++ b/mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result 2012-04-23 08:14:28 +0000
@@ -10,7 +10,7 @@ SELECT @start_binlog_stmt_cache_size;
SET @@global.max_binlog_stmt_cache_size = 5000;
Warnings:
Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '5000'
-Warning 1744 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
+Warning 1745 Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
SET @@global.max_binlog_stmt_cache_size = DEFAULT;
SELECT @@global.max_binlog_stmt_cache_size;
@@global.max_binlog_stmt_cache_size
=== modified file 'sql/log_event.cc'
--- a/sql/log_event.cc 2012-04-18 13:06:39 +0000
+++ b/sql/log_event.cc 2012-04-21 12:11:15 +0000
@@ -6681,11 +6681,12 @@ void Intvar_log_event::print(FILE* file,
#endif
+#if defined(HAVE_REPLICATION)&& !defined(MYSQL_CLIENT)
+
/*
Intvar_log_event::do_apply_event()
*/
-#if defined(HAVE_REPLICATION)&& !defined(MYSQL_CLIENT)
int Intvar_log_event::do_apply_event(Relay_log_info const *rli)
{
/*
@@ -6694,6 +6695,9 @@ int Intvar_log_event::do_apply_event(Rel
*/
const_cast<Relay_log_info*>(rli)->set_flag(Relay_log_info::IN_STMT);
+ if (rli->deferred_events_collecting)
+ return rli->deferred_events->add(this);
+
switch (type) {
case LAST_INSERT_ID_EVENT:
thd->stmt_depends_on_first_successful_insert_id_in_prev_stmt= 1;
@@ -6800,6 +6804,9 @@ int Rand_log_event::do_apply_event(Relay
*/
const_cast<Relay_log_info*>(rli)->set_flag(Relay_log_info::IN_STMT);
+ if (rli->deferred_events_collecting)
+ return rli->deferred_events->add(this);
+
thd->rand.seed1= (ulong) seed1;
thd->rand.seed2= (ulong) seed2;
return 0;
@@ -6826,6 +6833,29 @@ Rand_log_event::do_shall_skip(Relay_log_
return continue_group(rli);
}
+/**
+ Exec deferred Int-, Rand- and User- var events prefixing
+ a Query-log-event event.
+
+ @param thd THD handle
+
+ @return false on success, true if a failure in an event applying occurred.
+*/
+bool slave_execute_deferred_events(THD *thd)
+{
+ bool res= false;
+ Relay_log_info *rli= thd->rli_slave;
+
+ DBUG_ASSERT(rli && (!rli->deferred_events_collecting || rli->deferred_events));
+
+ if (!rli->deferred_events_collecting || rli->deferred_events->is_empty())
+ return res;
+
+ res= rli->deferred_events->execute(rli);
+
+ return res;
+}
+
#endif /* !MYSQL_CLIENT */
@@ -7389,6 +7419,10 @@ int User_var_log_event::do_apply_event(R
{
Item *it= 0;
CHARSET_INFO *charset;
+
+ if (rli->deferred_events_collecting)
+ return rli->deferred_events->add(this);
+
if (!(charset= get_charset(charset_number, MYF(MY_WME))))
return 1;
double real_val;
=== modified file 'sql/log_event.h'
--- a/sql/log_event.h 2012-04-13 06:44:13 +0000
+++ b/sql/log_event.h 2012-04-21 12:11:15 +0000
@@ -4553,6 +4553,14 @@ private:
const char* log_ident;
uint ident_len;
};
+
+/**
+ The function is called by slave applier in case there are
+ active table filtering rules to force gathering events associated
+ with Query-log-event into an array to execute
+ them once the fate of the Query is determined for execution.
+*/
+bool slave_execute_deferred_events(THD *thd);
#endif
int append_query_string(THD *thd, const CHARSET_INFO *csinfo,
=== modified file 'sql/rpl_rli.cc'
--- a/sql/rpl_rli.cc 2012-04-11 16:52:28 +0000
+++ b/sql/rpl_rli.cc 2012-04-21 12:11:15 +0000
@@ -86,7 +86,7 @@ Relay_log_info::Relay_log_info(bool is_s
until_sql_gtids_first_event(true),
retried_trans(0),
tables_to_lock(0), tables_to_lock_count(0),
- rows_query_ev(NULL), last_event_start_time(0),
+ rows_query_ev(NULL), last_event_start_time(0), deferred_events(NULL),
slave_parallel_workers(0),
recovery_parallel_workers(0), checkpoint_seqno(0),
checkpoint_group(opt_mts_checkpoint_group),
=== modified file 'sql/rpl_rli.h'
--- a/sql/rpl_rli.h 2012-04-11 16:52:28 +0000
+++ b/sql/rpl_rli.h 2012-04-21 12:11:15 +0000
@@ -466,6 +466,19 @@ public:
The timestamp is set and reset in @c sql_slave_killed().
*/
time_t last_event_start_time;
+ /*
+ A container to hold on Intvar-, Rand-, Uservar- log-events in case
+ the slave is configured with table filtering rules.
+ The withhold events are executed when their parent Query destiny is
+ determined for execution as well.
+ */
+ Deferred_log_events *deferred_events;
+
+ /*
+ State of the container: true stands for IRU events gathering,
+ false does for execution, either deferred or direct.
+ */
+ bool deferred_events_collecting;
/*****************************************************************************
WL#5569 MTS
@@ -638,7 +651,27 @@ public:
/*
* End of MTS section ******************************************************/
-
+ /*
+ Returns true if the argument event resides in the containter;
+ more specifically, the checking is done against the last added event.
+ */
+ bool is_deferred_event(Log_event * ev)
+ {
+ return deferred_events_collecting ? deferred_events->is_last(ev) : false;
+ };
+ /* The general cleanup that slave applier may need at the end of query. */
+ inline void cleanup_after_query()
+ {
+ if (deferred_events)
+ deferred_events->rewind();
+ };
+ /* The general cleanup that slave applier may need at the end of session. */
+ void cleanup_after_session()
+ {
+ if (deferred_events)
+ delete deferred_events;
+ };
+
/**
Helper function to do after statement completion.
=== modified file 'sql/rpl_rli_pdb.cc'
--- a/sql/rpl_rli_pdb.cc 2012-04-11 17:32:54 +0000
+++ b/sql/rpl_rli_pdb.cc 2012-04-21 12:11:15 +0000
@@ -1747,6 +1747,7 @@ int slave_worker_exec_job(Slave_worker *
if (!ev->when.tv_sec)
ev->when.tv_sec= my_time(0);
ev->thd= thd; // todo: assert because up to this point, ev->thd == 0
+ ev->worker= worker;
DBUG_PRINT("slave_worker_exec_job:", ("W_%lu <- job item: %p data: %p thd: %p", worker->id, job_item, ev, thd));
@@ -1891,10 +1892,9 @@ err:
worker->running_status);
worker->slave_worker_ends_group(ev, error);
}
-
- // todo: similate delay in delete
- if (ev && ev->get_type_code() != ROWS_QUERY_LOG_EVENT)
+ // todo: simulate delay in delete
+ if (ev && ev->worker && ev->get_type_code() != ROWS_QUERY_LOG_EVENT)
{
delete ev;
}
=== modified file 'sql/rpl_slave.cc'
--- a/sql/rpl_slave.cc 2012-04-13 12:00:39 +0000
+++ b/sql/rpl_slave.cc 2012-04-21 12:11:15 +0000
@@ -3394,7 +3394,11 @@ int apply_event_and_update_pos(Log_event
}
else
{
- DBUG_ASSERT(*ptr_ev == ev || rli->is_parallel_exec());
+ DBUG_ASSERT(*ptr_ev == ev || rli->is_parallel_exec() ||
+ (!ev->worker &&
+ (ev->get_type_code() == INTVAR_EVENT ||
+ ev->get_type_code() == RAND_EVENT ||
+ ev->get_type_code() == USER_VAR_EVENT)));
rli->inc_event_relay_log_pos();
}
@@ -4280,7 +4284,7 @@ pthread_handler_t handle_slave_worker(vo
sql_print_error("Failed during slave worker initialization");
goto err;
}
- thd->init_for_queries();
+ thd->init_for_queries(w);
mysql_mutex_lock(&LOCK_thread_count);
add_global_thread(thd);
@@ -5170,7 +5174,7 @@ pthread_handler_t handle_slave_sql(void
"Failed during slave thread initialization");
goto err;
}
- thd->init_for_queries();
+ thd->init_for_queries(rli);
thd->temporary_tables = rli->save_temporary_tables; // restore temp tables
set_thd_in_use_temporary_tables(rli); // (re)set sql_thd in use for saved temp tables
=== modified file 'sql/rpl_utility.cc'
--- a/sql/rpl_utility.cc 2012-03-06 14:29:42 +0000
+++ b/sql/rpl_utility.cc 2012-04-21 12:11:15 +0000
@@ -1163,3 +1163,65 @@ bool event_checksum_test(uchar *event_bu
return DBUG_EVALUATE_IF("simulate_checksum_test_failure", TRUE, res);
}
+#if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION)
+
+Deferred_log_events::Deferred_log_events(Relay_log_info *rli) : last_added(NULL)
+{
+ my_init_dynamic_array(&array, sizeof(Log_event *), 32, 16);
+}
+
+Deferred_log_events::~Deferred_log_events()
+{
+ delete_dynamic(&array);
+}
+
+int Deferred_log_events::add(Log_event *ev)
+{
+ last_added= ev;
+ insert_dynamic(&array, (uchar*) &ev);
+ ev->worker= NULL; // to mark event busy avoiding deletion
+ return 0;
+}
+
+bool Deferred_log_events::is_empty()
+{
+ return array.elements == 0;
+}
+
+bool Deferred_log_events::execute(Relay_log_info *rli)
+{
+ bool res= false;
+
+ DBUG_ASSERT(rli->deferred_events_collecting);
+
+ rli->deferred_events_collecting= false;
+ for (uint i= 0; !res && i < array.elements; i++)
+ {
+ Log_event *ev= (* (Log_event **)
+ dynamic_array_ptr(&array, i));
+ res= ev->apply_event(rli);
+ }
+ rli->deferred_events_collecting= true;
+ return res;
+}
+
+void Deferred_log_events::rewind()
+{
+ /*
+ Reset preceeding Query log event events which execution was
+ deferred because of slave side filtering.
+ */
+ if (!is_empty())
+ {
+ for (uint i= 0; i < array.elements; i++)
+ {
+ Log_event *ev= *(Log_event **) dynamic_array_ptr(&array, i);
+ delete ev;
+ }
+ if (array.elements > array.max_element)
+ freeze_size(&array);
+ reset_dynamic(&array);
+ }
+}
+
+#endif
=== modified file 'sql/rpl_utility.h'
--- a/sql/rpl_utility.h 2011-12-09 21:08:37 +0000
+++ b/sql/rpl_utility.h 2012-04-21 12:11:15 +0000
@@ -28,7 +28,7 @@
#include "mysql_com.h"
class Relay_log_info;
-
+class Log_event;
/**
A table definition from the master.
@@ -269,6 +269,24 @@ CPP_UNNAMED_NS_START
};
CPP_UNNAMED_NS_END
+
+class Deferred_log_events
+{
+private:
+ DYNAMIC_ARRAY array;
+ Log_event *last_added;
+
+public:
+ Deferred_log_events(Relay_log_info *rli);
+ ~Deferred_log_events();
+ /* queue for exection at Query-log-event time prior the Query */;
+ int add(Log_event *ev);
+ bool is_empty();
+ bool execute(Relay_log_info *rli);
+ void rewind();
+ bool is_last(Log_event *ev) { return ev == last_added; };
+};
+
#endif
// NB. number of printed bit values is limited to sizeof(buf) - 1
=== modified file 'sql/share/errmsg-utf8.txt'
--- a/sql/share/errmsg-utf8.txt 2012-04-18 13:06:39 +0000
+++ b/sql/share/errmsg-utf8.txt 2012-04-21 12:11:15 +0000
@@ -6502,6 +6502,9 @@ ER_BINLOG_UNSAFE_INSERT_TWO_KEYS
ER_UNSUPPORTED_ENGINE
eng "Storage engine '%s' does not support system tables. [%s.%s]"
+ER_BINLOG_UNSAFE_AUTOINC_NOT_FIRST
+ eng "INSERT into autoincrement field which is not the first part in the composed primary key is unsafe."
+
#
# End of 5.5 error messages.
#
=== modified file 'sql/sql_base.cc'
--- a/sql/sql_base.cc 2012-04-18 13:06:39 +0000
+++ b/sql/sql_base.cc 2012-04-21 12:11:15 +0000
@@ -226,6 +226,7 @@ static bool
has_write_table_with_auto_increment(TABLE_LIST *tables);
static bool
has_write_table_with_auto_increment_and_select(TABLE_LIST *tables);
+static bool has_write_table_auto_increment_not_first_in_pk(TABLE_LIST *tables);
uint cached_open_tables(void)
{
@@ -5879,6 +5880,12 @@ bool lock_tables(THD *thd, TABLE_LIST *t
if (thd->variables.binlog_format != BINLOG_FORMAT_ROW && tables &&
has_write_table_with_auto_increment_and_select(tables))
thd->lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_WRITE_AUTOINC_SELECT);
+ /* Todo: merge all has_write_table_auto_inc with decide_logging_format */
+ if (thd->variables.binlog_format != BINLOG_FORMAT_ROW && tables)
+ {
+ if (has_write_table_auto_increment_not_first_in_pk(tables))
+ thd->lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_AUTOINC_NOT_FIRST);
+ }
/*
INSERT...ON DUPLICATE KEY UPDATE on a table with more than one unique keys
@@ -9463,6 +9470,32 @@ has_write_table_with_auto_increment_and_
return(has_select && has_auto_increment_tables);
}
+/*
+ Tells if there is a table whose auto_increment column is a part
+ of a compound primary key while is not the first column in
+ the table definition.
+
+ @param tables Table list
+
+ @return true if the table exists, fais if does not.
+*/
+
+static bool
+has_write_table_auto_increment_not_first_in_pk(TABLE_LIST *tables)
+{
+ for (TABLE_LIST *table= tables; table; table= table->next_global)
+ {
+ /* we must do preliminary checks as table->table may be NULL */
+ if (!table->placeholder() &&
+ table->table->found_next_number_field &&
+ (table->lock_type >= TL_WRITE_ALLOW_WRITE)
+ && table->table->s->next_number_keypart != 0)
+ return 1;
+ }
+
+ return 0;
+}
+
/*
=== modified file 'sql/sql_class.cc'
--- a/sql/sql_class.cc 2012-04-20 08:55:22 +0000
+++ b/sql/sql_class.cc 2012-04-21 12:11:15 +0000
@@ -790,7 +790,7 @@ bool Drop_table_error_handler::handle_co
THD::THD(bool enable_plugins)
:Statement(&main_lex, &main_mem_root, STMT_CONVENTIONAL_EXECUTION,
/* statement id */ 0),
- rli_fake(0),
+ rli_fake(0), rli_slave(NULL),
in_sub_stmt(0),
binlog_unsafe_warning_flags(0),
binlog_table_maps(0),
@@ -1292,7 +1292,7 @@ void THD::init(void)
See also comments in sql_class.h.
*/
-void THD::init_for_queries()
+void THD::init_for_queries(Relay_log_info *rli)
{
set_time();
ha_enable_transaction(this,TRUE);
@@ -1304,6 +1304,18 @@ void THD::init_for_queries()
variables.trans_prealloc_size);
transaction.xid_state.xid.null();
transaction.xid_state.in_thd=1;
+#if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION)
+ if (rli)
+ {
+ if ((rli->deferred_events_collecting= rpl_filter->is_on()))
+ {
+ rli->deferred_events= new Deferred_log_events(rli);
+ }
+ rli_slave= rli;
+
+ DBUG_ASSERT(rli_slave->info_thd == this && slave_thread);
+ }
+#endif
}
@@ -1465,6 +1477,8 @@ THD::~THD()
}
mysql_audit_free_thd(this);
+ if (rli_slave)
+ rli_slave->cleanup_after_session();
#endif
free_root(&main_mem_root, MYF(0));
@@ -1832,6 +1846,10 @@ void THD::cleanup_after_query()
{
delete_dynamic(&lex->mi.repl_ignore_server_ids);
}
+#ifndef EMBEDDED_LIBRARY
+ if (rli_slave)
+ rli_slave->cleanup_after_query();
+#endif
}
=== modified file 'sql/sql_class.h'
--- a/sql/sql_class.h 2012-04-13 12:00:39 +0000
+++ b/sql/sql_class.h 2012-04-21 12:11:15 +0000
@@ -2185,6 +2185,8 @@ public:
/* Used to execute base64 coded binlog events in MySQL server */
Relay_log_info* rli_fake;
+ /* Slave applier execution context */
+ Relay_log_info* rli_slave;
void reset_for_next_command();
/*
@@ -3059,7 +3061,7 @@ public:
if preallocation fails, we should notice that at the first call to
alloc_root.
*/
- void init_for_queries();
+ void init_for_queries(Relay_log_info *rli= NULL);
void change_user(void);
void cleanup(void);
void cleanup_after_query();
=== modified file 'sql/sql_lex.cc'
--- a/sql/sql_lex.cc 2012-04-18 11:17:16 +0000
+++ b/sql/sql_lex.cc 2012-04-21 12:11:15 +0000
@@ -72,7 +72,8 @@ Query_tables_list::binlog_stmt_unsafe_er
ER_BINLOG_UNSAFE_CREATE_REPLACE_SELECT,
ER_BINLOG_UNSAFE_CREATE_SELECT_AUTOINC,
ER_BINLOG_UNSAFE_UPDATE_IGNORE,
- ER_BINLOG_UNSAFE_INSERT_TWO_KEYS
+ ER_BINLOG_UNSAFE_INSERT_TWO_KEYS,
+ ER_BINLOG_UNSAFE_AUTOINC_NOT_FIRST
};
=== modified file 'sql/sql_lex.h'
--- a/sql/sql_lex.h 2012-04-18 11:17:16 +0000
+++ b/sql/sql_lex.h 2012-04-21 12:14:15 +0000
@@ -1256,6 +1256,12 @@ public:
*/
BINLOG_STMT_UNSAFE_INSERT_TWO_KEYS,
+ /**
+ INSERT into auto-inc field which is not the first part in composed
+ primary key.
+ */
+ BINLOG_STMT_UNSAFE_AUTOINC_NOT_FIRST,
+
/* The last element of this enumeration type. */
BINLOG_STMT_UNSAFE_COUNT
};
=== modified file 'sql/sql_parse.cc'
--- a/sql/sql_parse.cc 2012-04-20 08:55:22 +0000
+++ b/sql/sql_parse.cc 2012-04-21 12:11:15 +0000
@@ -2347,6 +2347,11 @@ mysql_execute_command(THD *thd)
}
DBUG_RETURN(0);
}
+ /*
+ Execute deferred events first
+ */
+ if (slave_execute_deferred_events(thd))
+ DBUG_RETURN(-1);
}
else
{
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (andrei.elkin:3717 to 3719) | Andrei Elkin | 23 Apr |