Commit be932e73 authored by lenz@mysql.com's avatar lenz@mysql.com

- Applied fix made in 4.0 tree to fix a bug when comparing a datetime

   column with timestamp values with BETWEEN clause
parent 3d33dd1e
...@@ -533,6 +533,7 @@ class Field_timestamp :public Field_num { ...@@ -533,6 +533,7 @@ class Field_timestamp :public Field_num {
enum Item_result result_type () const { return field_length == 8 || field_length == 14 ? INT_RESULT : STRING_RESULT; } enum Item_result result_type () const { return field_length == 8 || field_length == 14 ? INT_RESULT : STRING_RESULT; }
enum_field_types type() const { return FIELD_TYPE_TIMESTAMP;} enum_field_types type() const { return FIELD_TYPE_TIMESTAMP;}
enum ha_base_keytype key_type() const { return HA_KEYTYPE_ULONG_INT; } enum ha_base_keytype key_type() const { return HA_KEYTYPE_ULONG_INT; }
enum Item_result cmp_type () const { return INT_RESULT; }
void store(const char *to,uint length); void store(const char *to,uint length);
void store(double nr); void store(double nr);
void store(longlong nr); void store(longlong nr);
......
...@@ -354,6 +354,7 @@ void Item_func_between::fix_length_and_dec() ...@@ -354,6 +354,7 @@ void Item_func_between::fix_length_and_dec()
if (args[0]->type() == FIELD_ITEM) if (args[0]->type() == FIELD_ITEM)
{ {
Field *field=((Item_field*) args[0])->field; Field *field=((Item_field*) args[0])->field;
cmp_type=field->cmp_type();
if (field->store_for_compare()) if (field->store_for_compare())
{ {
if (convert_constant_item(field,&args[1])) if (convert_constant_item(field,&args[1]))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment