diff options
author | unknown <mskold@mysql.com> | 2006-03-28 13:28:34 +0200 |
---|---|---|
committer | unknown <mskold@mysql.com> | 2006-03-28 13:28:34 +0200 |
commit | cd5bc1da1ea76aae032c7eac8fbd7aef358c4c43 (patch) | |
tree | 5b1e6cc430e41362d810e17518adc92297df31b2 | |
parent | b61fac58a14c8ea698f1a1e9f72f62b5f7611d17 (diff) | |
parent | 3c1b3b242c4a6635bd1ff9338f89fba28accd7c4 (diff) | |
download | mariadb-git-cd5bc1da1ea76aae032c7eac8fbd7aef358c4c43.tar.gz |
Merge mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-new
mysql-test/r/ndb_condition_pushdown.result:
Auto merged
mysql-test/r/ndb_insert.result:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
-rw-r--r-- | mysql-test/r/ndb_condition_pushdown.result | 18 | ||||
-rw-r--r-- | mysql-test/r/ndb_insert.result | 16 | ||||
-rw-r--r-- | mysql-test/t/ndb_condition_pushdown.test | 12 | ||||
-rw-r--r-- | mysql-test/t/ndb_insert.test | 8 | ||||
-rw-r--r-- | sql/ha_ndbcluster.cc | 7 |
5 files changed, 58 insertions, 3 deletions
diff --git a/mysql-test/r/ndb_condition_pushdown.result b/mysql-test/r/ndb_condition_pushdown.result index bdeff437f6f..3fbc9a38f60 100644 --- a/mysql-test/r/ndb_condition_pushdown.result +++ b/mysql-test/r/ndb_condition_pushdown.result @@ -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; diff --git a/mysql-test/r/ndb_insert.result b/mysql-test/r/ndb_insert.result index 1da958ef0f7..3f9a5d7c6c5 100644 --- a/mysql-test/r/ndb_insert.result +++ b/mysql-test/r/ndb_insert.result @@ -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; diff --git a/mysql-test/t/ndb_condition_pushdown.test b/mysql-test/t/ndb_condition_pushdown.test index 9f512430085..1e6e105bc61 100644 --- a/mysql-test/t/ndb_condition_pushdown.test +++ b/mysql-test/t/ndb_condition_pushdown.test @@ -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; diff --git a/mysql-test/t/ndb_insert.test b/mysql-test/t/ndb_insert.test index 4fe847058c4..bf25ca9a133 100644 --- a/mysql-test/t/ndb_insert.test +++ b/mysql-test/t/ndb_insert.test @@ -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 diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index bbe2e9ee305..30dc90ee630 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -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); |