diff --git a/mysql-test/r/ndb_condition_pushdown.result b/mysql-test/r/ndb_condition_pushdown.result index 14cd4666528..1c3da1b486f 100644 --- a/mysql-test/r/ndb_condition_pushdown.result +++ b/mysql-test/r/ndb_condition_pushdown.result @@ -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 diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 7d397ff2112..60543fe55f9 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -11,4 +11,4 @@ ############################################################################## sp-goto:GOTO is currently is disabled - will be fixed in the future -ndb_condition_pushdown:Bug #12021 + diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 922a7be9921..37a3864a217 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -6353,12 +6353,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) { @@ -6426,8 +6428,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; } }