summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2012-06-04 23:22:03 +0200
committerSergei Golubchik <sergii@pisem.net>2012-06-04 23:22:03 +0200
commit265d5aaa2e240288fff98e7c129cf441728152f8 (patch)
tree635cb5794b239e8b9f7d2d465790de8aba857966
parent25ada13db06d06050f0361bc434fe2b58303b5f2 (diff)
downloadmariadb-git-265d5aaa2e240288fff98e7c129cf441728152f8.tar.gz
MDEV-308 lp:1008516 - Failing assertion: templ->mysql_col_len == len
remove the offending assert. take the test case from mysql Bug#58015
-rw-r--r--mysql-test/include/icp_tests.inc18
-rw-r--r--mysql-test/r/innodb_icp.result16
-rw-r--r--mysql-test/r/maria_icp.result16
-rw-r--r--mysql-test/r/myisam_icp.result16
-rw-r--r--storage/xtradb/row/row0sel.c1
5 files changed, 66 insertions, 1 deletions
diff --git a/mysql-test/include/icp_tests.inc b/mysql-test/include/icp_tests.inc
index e84b8622cdb..ffe8d7f1eb1 100644
--- a/mysql-test/include/icp_tests.inc
+++ b/mysql-test/include/icp_tests.inc
@@ -874,3 +874,21 @@ show status like "Handler_icp%";
DROP TABLE t1;
+#
+# MDEV-308 lp:1008516 - Failing assertion: templ->mysql_col_len == len
+#
+create table t1 (a int,b char(5),primary key (a), key (b(1)));
+insert into t1 values ('a','b');
+select 1 from t1 where a and b >= 'aa';
+drop table t1;
+
+--echo #
+--echo # Bug#58015 "Assert in row_sel_field_store_in_mysql_format
+--echo # when running innodb_mrr_icp test"
+--echo #
+
+create table t1 (a char(2) charset utf8,b double, primary key (a(1)),key (b));
+insert into t1 values ('',1);
+select 1 from t1 where b <= 1 and a <> '';
+drop table t1;
+
diff --git a/mysql-test/r/innodb_icp.result b/mysql-test/r/innodb_icp.result
index 2817f83bed5..53a76b2a3f3 100644
--- a/mysql-test/r/innodb_icp.result
+++ b/mysql-test/r/innodb_icp.result
@@ -835,5 +835,21 @@ Variable_name Value
Handler_icp_attempts 2
Handler_icp_match 1
DROP TABLE t1;
+create table t1 (a int,b char(5),primary key (a), key (b(1)));
+insert into t1 values ('a','b');
+Warnings:
+Warning 1366 Incorrect integer value: 'a' for column 'a' at row 1
+select 1 from t1 where a and b >= 'aa';
+1
+drop table t1;
+#
+# Bug#58015 "Assert in row_sel_field_store_in_mysql_format
+# when running innodb_mrr_icp test"
+#
+create table t1 (a char(2) charset utf8,b double, primary key (a(1)),key (b));
+insert into t1 values ('',1);
+select 1 from t1 where b <= 1 and a <> '';
+1
+drop table t1;
set optimizer_switch=@innodb_icp_tmp;
set storage_engine= @save_storage_engine;
diff --git a/mysql-test/r/maria_icp.result b/mysql-test/r/maria_icp.result
index e8dcdfda4a2..d6d776d6d1f 100644
--- a/mysql-test/r/maria_icp.result
+++ b/mysql-test/r/maria_icp.result
@@ -841,5 +841,21 @@ Variable_name Value
Handler_icp_attempts 2
Handler_icp_match 1
DROP TABLE t1;
+create table t1 (a int,b char(5),primary key (a), key (b(1)));
+insert into t1 values ('a','b');
+Warnings:
+Warning 1366 Incorrect integer value: 'a' for column 'a' at row 1
+select 1 from t1 where a and b >= 'aa';
+1
+drop table t1;
+#
+# Bug#58015 "Assert in row_sel_field_store_in_mysql_format
+# when running innodb_mrr_icp test"
+#
+create table t1 (a char(2) charset utf8,b double, primary key (a(1)),key (b));
+insert into t1 values ('',1);
+select 1 from t1 where b <= 1 and a <> '';
+1
+drop table t1;
set storage_engine= @save_storage_engine;
set optimizer_switch=@maria_icp_tmp;
diff --git a/mysql-test/r/myisam_icp.result b/mysql-test/r/myisam_icp.result
index b17d22cbaa6..9feafac510e 100644
--- a/mysql-test/r/myisam_icp.result
+++ b/mysql-test/r/myisam_icp.result
@@ -839,6 +839,22 @@ Variable_name Value
Handler_icp_attempts 2
Handler_icp_match 1
DROP TABLE t1;
+create table t1 (a int,b char(5),primary key (a), key (b(1)));
+insert into t1 values ('a','b');
+Warnings:
+Warning 1366 Incorrect integer value: 'a' for column 'a' at row 1
+select 1 from t1 where a and b >= 'aa';
+1
+drop table t1;
+#
+# Bug#58015 "Assert in row_sel_field_store_in_mysql_format
+# when running innodb_mrr_icp test"
+#
+create table t1 (a char(2) charset utf8,b double, primary key (a(1)),key (b));
+insert into t1 values ('',1);
+select 1 from t1 where b <= 1 and a <> '';
+1
+drop table t1;
drop table if exists t0, t1, t1i, t1m;
#
# BUG#826935 Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed
diff --git a/storage/xtradb/row/row0sel.c b/storage/xtradb/row/row0sel.c
index 7a668d61392..ec168ccc011 100644
--- a/storage/xtradb/row/row0sel.c
+++ b/storage/xtradb/row/row0sel.c
@@ -2674,7 +2674,6 @@ row_sel_field_store_in_mysql_format(
case DATA_DECIMAL:
/* Above are the valid column types for MySQL data. */
#endif /* UNIV_DEBUG */
- ut_ad(templ->mysql_col_len == len);
memcpy(dest, data, len);
}
}