mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
BETWEEN fixed
This commit is contained in:
parent
ecfa37baa5
commit
7ad5882da5
3 changed files with 12 additions and 4 deletions
|
@ -154,7 +154,8 @@ static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio)
|
|||
if (doc_cnt)
|
||||
{
|
||||
word->weight*=GWS_IN_USE;
|
||||
if (word->weight < 0) word->weight=0;
|
||||
if (word->weight < 0)
|
||||
word->weight=0;
|
||||
|
||||
}
|
||||
DBUG_RETURN(0);
|
||||
|
|
|
@ -380,6 +380,7 @@ CREATE TABLE t3 (ctime1 char(19) NOT NULL, ctime2 char(19) NOT NULL);
|
|||
INSERT INTO t3 VALUES ("2002-10-29 16:51:06","2002-11-05 16:47:31");
|
||||
select * from t1, t2 where t1.start between t2.ctime1 and t2.ctime2;
|
||||
start ctime1 ctime2
|
||||
2002-11-04 00:00:00 20021029165106 20021105164731
|
||||
select * from t1, t2 where t1.start >= t2.ctime1 and t1.start <= t2.ctime2;
|
||||
start ctime1 ctime2
|
||||
2002-11-04 00:00:00 20021029165106 20021105164731
|
||||
|
|
|
@ -350,13 +350,19 @@ void Item_func_between::fix_length_and_dec()
|
|||
*/
|
||||
if (!args[0] || !args[1] || !args[2])
|
||||
return;
|
||||
cmp_type=args[0]->result_type();
|
||||
if (args[0]->binary)
|
||||
cmp_type=item_cmp_type(args[0]->result_type(),
|
||||
item_cmp_type(args[1]->result_type(),
|
||||
args[2]->result_type()));
|
||||
if (args[0]->binary | args[1]->binary | args[2]->binary)
|
||||
string_compare=stringcmp;
|
||||
else
|
||||
string_compare=sortcmp;
|
||||
|
||||
// Make a special case of compare with fields to get nicer DATE comparisons
|
||||
/*
|
||||
Make a special case of compare with date/time and longlong fields.
|
||||
They are compared as integers, so for const item this time-consuming
|
||||
conversion can be done only once, not for every single comparison
|
||||
*/
|
||||
if (args[0]->type() == FIELD_ITEM)
|
||||
{
|
||||
Field *field=((Item_field*) args[0])->field;
|
||||
|
|
Loading…
Reference in a new issue