diff options
author | Sergei Golubchik <serg@mysql.com> | 2009-10-19 15:13:45 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mysql.com> | 2009-10-19 15:13:45 +0200 |
commit | 425c5ecd7c9a878479763f3c1e90b889f1572414 (patch) | |
tree | 1107bd8471bf32f5a6ab23d5cf8fe2eb36b5668e | |
parent | c761cdc7921fb85bc4c5ad76aa8934051b2e3ee3 (diff) | |
download | mariadb-git-425c5ecd7c9a878479763f3c1e90b889f1572414.tar.gz |
Bug#34374 mysql generates incorrect warning
backport to next-mr
-rw-r--r-- | mysql-test/r/fulltext.result | 8 | ||||
-rw-r--r-- | mysql-test/t/fulltext.test | 9 | ||||
-rw-r--r-- | sql/sql_select.cc | 12 |
3 files changed, 23 insertions, 6 deletions
diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result index a5216189d9a..abab18e0e99 100644 --- a/mysql-test/r/fulltext.result +++ b/mysql-test/r/fulltext.result @@ -494,6 +494,14 @@ SELECT a FROM t1 WHERE MATCH a AGAINST ('+city* of*' IN BOOLEAN MODE); a City Of God DROP TABLE t1; +create table t1(a text,b date,fulltext index(a))engine=myisam; +insert into t1 set a='water',b='2008-08-04'; +select 1 from t1 where match(a) against ('water' in boolean mode) and b>='2008-08-01'; +1 +1 +drop table t1; +show warnings; +Level Code Message CREATE TABLE t1 (a VARCHAR(255), b INT, FULLTEXT(a), KEY(b)); INSERT INTO t1 VALUES('test', 1),('test', 1),('test', 1),('test', 1), ('test', 1),('test', 2),('test', 3),('test', 4); diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test index 80c8658d35c..dd7ebf25350 100644 --- a/mysql-test/t/fulltext.test +++ b/mysql-test/t/fulltext.test @@ -420,6 +420,15 @@ DROP TABLE t1; # End of 4.1 tests # +# bug#34374 - mysql generates incorrect warning +# +create table t1(a text,b date,fulltext index(a))engine=myisam; +insert into t1 set a='water',b='2008-08-04'; +select 1 from t1 where match(a) against ('water' in boolean mode) and b>='2008-08-01'; +drop table t1; +show warnings; + +# # BUG#38842 - Fix for 25951 seems incorrect # CREATE TABLE t1 (a VARCHAR(255), b INT, FULLTEXT(a), KEY(b)); diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 2a937fb0ac7..9d07deea9be 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -3613,16 +3613,16 @@ add_ft_keys(DYNAMIC_ARRAY *keyuse_array, Item_func *arg0=(Item_func *)(func->arguments()[0]), *arg1=(Item_func *)(func->arguments()[1]); if (arg1->const_item() && - ((functype == Item_func::GE_FUNC && arg1->val_real() > 0) || - (functype == Item_func::GT_FUNC && arg1->val_real() >=0)) && arg0->type() == Item::FUNC_ITEM && - arg0->functype() == Item_func::FT_FUNC) + arg0->functype() == Item_func::FT_FUNC && + ((functype == Item_func::GE_FUNC && arg1->val_real() > 0) || + (functype == Item_func::GT_FUNC && arg1->val_real() >=0))) cond_func=(Item_func_match *) arg0; else if (arg0->const_item() && - ((functype == Item_func::LE_FUNC && arg0->val_real() > 0) || - (functype == Item_func::LT_FUNC && arg0->val_real() >=0)) && arg1->type() == Item::FUNC_ITEM && - arg1->functype() == Item_func::FT_FUNC) + arg1->functype() == Item_func::FT_FUNC && + ((functype == Item_func::LE_FUNC && arg0->val_real() > 0) || + (functype == Item_func::LT_FUNC && arg0->val_real() >=0))) cond_func=(Item_func_match *) arg1; } } |