Loading mysql-test/r/ndb_condition_pushdown.result +17 −1 Original line number Diff line number Diff line Loading @@ -1766,5 +1766,21 @@ select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.a id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using temporary; Using filesort 1 SIMPLE t4 ALL NULL NULL NULL NULL 6 Using where create table t5 (a int primary key auto_increment, b tinytext not null) engine = ndb; insert into t5 (b) values ('jonas'), ('jensing'), ('johan'); set engine_condition_pushdown = off; select * from t5 where b like '%jo%' order by a; a b 1 jonas 3 johan set engine_condition_pushdown = on; explain select * from t5 where b like '%jo%'; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t5 ALL NULL NULL NULL NULL 3 Using where select * from t5 where b like '%jo%' order by a; a b 1 jonas 3 johan set engine_condition_pushdown = @old_ecpd; DROP TABLE t1,t2,t3,t4; DROP TABLE t1,t2,t3,t4,t5; mysql-test/r/ndb_insert.result +16 −0 Original line number Diff line number Diff line Loading @@ -629,7 +629,23 @@ DELETE FROM t1; CREATE UNIQUE INDEX ai ON t1(a); INSERT IGNORE INTO t1 VALUES (1); INSERT IGNORE INTO t1 VALUES (1); INSERT IGNORE INTO t1 VALUES (NULL),(2); SELECT * FROM t1 ORDER BY a; a NULL 1 2 DROP TABLE t1; CREATE TABLE t1(pk INT NOT NULL PRIMARY KEY, a INT, UNIQUE (a)) ENGINE=ndb; INSERT IGNORE INTO t1 VALUES (1,1),(2,2),(3,3); INSERT IGNORE INTO t1 VALUES (4,NULL),(5,NULL),(6,NULL),(7,4); SELECT * FROM t1 ORDER BY pk; pk a 1 1 2 2 3 3 4 NULL 5 NULL 6 NULL 7 4 DROP TABLE t1; mysql-test/t/ndb_condition_pushdown.test +11 −1 Original line number Diff line number Diff line Loading @@ -1639,5 +1639,15 @@ select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1; explain select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.attr3 < 5 or t4.attr1 is null order by t4.pk1; # bug#15722 create table t5 (a int primary key auto_increment, b tinytext not null) engine = ndb; insert into t5 (b) values ('jonas'), ('jensing'), ('johan'); set engine_condition_pushdown = off; select * from t5 where b like '%jo%' order by a; set engine_condition_pushdown = on; explain select * from t5 where b like '%jo%'; select * from t5 where b like '%jo%' order by a; set engine_condition_pushdown = @old_ecpd; DROP TABLE t1,t2,t3,t4; DROP TABLE t1,t2,t3,t4,t5; mysql-test/t/ndb_insert.test +8 −0 Original line number Diff line number Diff line Loading @@ -619,7 +619,15 @@ DELETE FROM t1; CREATE UNIQUE INDEX ai ON t1(a); INSERT IGNORE INTO t1 VALUES (1); INSERT IGNORE INTO t1 VALUES (1); INSERT IGNORE INTO t1 VALUES (NULL),(2); SELECT * FROM t1 ORDER BY a; DROP TABLE t1; # Ignore and NULL values CREATE TABLE t1(pk INT NOT NULL PRIMARY KEY, a INT, UNIQUE (a)) ENGINE=ndb; INSERT IGNORE INTO t1 VALUES (1,1),(2,2),(3,3); INSERT IGNORE INTO t1 VALUES (4,NULL),(5,NULL),(6,NULL),(7,4); SELECT * FROM t1 ORDER BY pk; DROP TABLE t1; # End of 4.1 tests sql/ha_ndbcluster.cc +6 −1 Original line number Diff line number Diff line Loading @@ -8196,7 +8196,12 @@ void ndb_serialize_cond(const Item *item, void *arg) context->expecting_field_result(INT_RESULT)) : true)) && // Bit fields no yet supported in scan filter type != MYSQL_TYPE_BIT) type != MYSQL_TYPE_BIT && // No BLOB support in scan filter type != MYSQL_TYPE_TINY_BLOB && type != MYSQL_TYPE_MEDIUM_BLOB && type != MYSQL_TYPE_LONG_BLOB && type != MYSQL_TYPE_BLOB) { const NDBCOL *col= tab->getColumn(field->field_name); DBUG_ASSERT(col); Loading Loading
mysql-test/r/ndb_condition_pushdown.result +17 −1 Original line number Diff line number Diff line Loading @@ -1766,5 +1766,21 @@ select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.a id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using temporary; Using filesort 1 SIMPLE t4 ALL NULL NULL NULL NULL 6 Using where create table t5 (a int primary key auto_increment, b tinytext not null) engine = ndb; insert into t5 (b) values ('jonas'), ('jensing'), ('johan'); set engine_condition_pushdown = off; select * from t5 where b like '%jo%' order by a; a b 1 jonas 3 johan set engine_condition_pushdown = on; explain select * from t5 where b like '%jo%'; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t5 ALL NULL NULL NULL NULL 3 Using where select * from t5 where b like '%jo%' order by a; a b 1 jonas 3 johan set engine_condition_pushdown = @old_ecpd; DROP TABLE t1,t2,t3,t4; DROP TABLE t1,t2,t3,t4,t5;
mysql-test/r/ndb_insert.result +16 −0 Original line number Diff line number Diff line Loading @@ -629,7 +629,23 @@ DELETE FROM t1; CREATE UNIQUE INDEX ai ON t1(a); INSERT IGNORE INTO t1 VALUES (1); INSERT IGNORE INTO t1 VALUES (1); INSERT IGNORE INTO t1 VALUES (NULL),(2); SELECT * FROM t1 ORDER BY a; a NULL 1 2 DROP TABLE t1; CREATE TABLE t1(pk INT NOT NULL PRIMARY KEY, a INT, UNIQUE (a)) ENGINE=ndb; INSERT IGNORE INTO t1 VALUES (1,1),(2,2),(3,3); INSERT IGNORE INTO t1 VALUES (4,NULL),(5,NULL),(6,NULL),(7,4); SELECT * FROM t1 ORDER BY pk; pk a 1 1 2 2 3 3 4 NULL 5 NULL 6 NULL 7 4 DROP TABLE t1;
mysql-test/t/ndb_condition_pushdown.test +11 −1 Original line number Diff line number Diff line Loading @@ -1639,5 +1639,15 @@ select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1; explain select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.attr3 < 5 or t4.attr1 is null order by t4.pk1; # bug#15722 create table t5 (a int primary key auto_increment, b tinytext not null) engine = ndb; insert into t5 (b) values ('jonas'), ('jensing'), ('johan'); set engine_condition_pushdown = off; select * from t5 where b like '%jo%' order by a; set engine_condition_pushdown = on; explain select * from t5 where b like '%jo%'; select * from t5 where b like '%jo%' order by a; set engine_condition_pushdown = @old_ecpd; DROP TABLE t1,t2,t3,t4; DROP TABLE t1,t2,t3,t4,t5;
mysql-test/t/ndb_insert.test +8 −0 Original line number Diff line number Diff line Loading @@ -619,7 +619,15 @@ DELETE FROM t1; CREATE UNIQUE INDEX ai ON t1(a); INSERT IGNORE INTO t1 VALUES (1); INSERT IGNORE INTO t1 VALUES (1); INSERT IGNORE INTO t1 VALUES (NULL),(2); SELECT * FROM t1 ORDER BY a; DROP TABLE t1; # Ignore and NULL values CREATE TABLE t1(pk INT NOT NULL PRIMARY KEY, a INT, UNIQUE (a)) ENGINE=ndb; INSERT IGNORE INTO t1 VALUES (1,1),(2,2),(3,3); INSERT IGNORE INTO t1 VALUES (4,NULL),(5,NULL),(6,NULL),(7,4); SELECT * FROM t1 ORDER BY pk; DROP TABLE t1; # End of 4.1 tests
sql/ha_ndbcluster.cc +6 −1 Original line number Diff line number Diff line Loading @@ -8196,7 +8196,12 @@ void ndb_serialize_cond(const Item *item, void *arg) context->expecting_field_result(INT_RESULT)) : true)) && // Bit fields no yet supported in scan filter type != MYSQL_TYPE_BIT) type != MYSQL_TYPE_BIT && // No BLOB support in scan filter type != MYSQL_TYPE_TINY_BLOB && type != MYSQL_TYPE_MEDIUM_BLOB && type != MYSQL_TYPE_LONG_BLOB && type != MYSQL_TYPE_BLOB) { const NDBCOL *col= tab->getColumn(field->field_name); DBUG_ASSERT(col); Loading