Commit 35fd6415 authored by unknown's avatar unknown
Browse files

Fix for bug#12021

parent 26ae9152
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1514,7 +1514,7 @@ select auto from t1 where
'1901-01-01 01:01:01' in(date_time) 
order by auto;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	4	Using where with pushed condition; Using filesort
1	SIMPLE	t1	ref	medium_index	medium_index	3	const	10	Using where with pushed condition; Using filesort
select auto from t1 where
"aaaa" in(string) and 
"aaaa" in(vstring) and 
+1 −1
Original line number Diff line number Diff line
@@ -11,4 +11,4 @@
##############################################################################

sp-goto:GOTO is currently is disabled - will be fixed in the future
ndb_condition_pushdown:Bug #12021
+6 −4
Original line number Diff line number Diff line
@@ -6350,12 +6350,14 @@ void ndb_serialize_cond(const Item *item, void *arg)
            // result type
            if (context->expecting(Item::FIELD_ITEM) &&
                (context->expecting_field_result(field->result_type()) ||
                 // Date and year can be written as strings
                 // Date and year can be written as string or int
                 ((type == MYSQL_TYPE_TIME ||
                   type == MYSQL_TYPE_DATE || 
                   type == MYSQL_TYPE_YEAR ||
                   type == MYSQL_TYPE_DATETIME)
                  ? context->expecting_field_result(STRING_RESULT) : true)) &&
                  ? (context->expecting_field_result(STRING_RESULT) ||
                     context->expecting_field_result(INT_RESULT))
                  : true)) &&
                // Bit fields no yet supported in scan filter
                type != MYSQL_TYPE_BIT)
            {
@@ -6423,8 +6425,8 @@ void ndb_serialize_cond(const Item *item, void *arg)
            }
            else
            {
              DBUG_PRINT("info", ("Was not expecting field of type %u",
                                  field->result_type()));
              DBUG_PRINT("info", ("Was not expecting field of type %u(%u)",
                                  field->result_type(), type));
              context->supported= FALSE;
            }
          }