Commit 7ad5882d authored by serg@sergbook.mysql.com's avatar serg@sergbook.mysql.com
Browse files

BETWEEN fixed

parent ecfa37ba
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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);
+1 −0
Original line number Diff line number Diff line
@@ -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
+9 −3
Original line number Diff line number Diff line
@@ -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;