diff options
author | unknown <mskold/marty@mysql.com/linux.site> | 2006-09-05 17:07:00 +0200 |
---|---|---|
committer | unknown <mskold/marty@mysql.com/linux.site> | 2006-09-05 17:07:00 +0200 |
commit | 545c9b8fdecad04d6b5acaaa1400ca8be7a7066c (patch) | |
tree | ff9cd6c538af3a1d2f1d0a998f82d25e2a312d63 /sql/ha_ndbcluster.cc | |
parent | 7ec32371295cd3050d3a9f80585f21e4c6b20919 (diff) | |
download | mariadb-git-545c9b8fdecad04d6b5acaaa1400ca8be7a7066c.tar.gz |
Bug #21056 ndb pushdown equal/setValue error on datetime: only pushdown like of string type fields
Diffstat (limited to 'sql/ha_ndbcluster.cc')
-rw-r--r-- | sql/ha_ndbcluster.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 5d6fe5f984f..440adec4841 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -6880,11 +6880,13 @@ void ndb_serialize_cond(const Item *item, void *arg) DBUG_PRINT("info", ("FIELD_ITEM")); DBUG_PRINT("info", ("table %s", tab->getName())); DBUG_PRINT("info", ("column %s", field->field_name)); + DBUG_PRINT("info", ("type %d", field->type())); DBUG_PRINT("info", ("result type %d", field->result_type())); // Check that we are expecting a field and with the correct // result type if (context->expecting(Item::FIELD_ITEM) && + context->expecting_field_type(field->type()) && (context->expecting_field_result(field->result_type()) || // Date and year can be written as string or int ((type == MYSQL_TYPE_TIME || @@ -7104,6 +7106,9 @@ void ndb_serialize_cond(const Item *item, void *arg) func_item); context->expect(Item::STRING_ITEM); context->expect(Item::FIELD_ITEM); + context->expect_only_field_type(MYSQL_TYPE_STRING); + context->expect_field_type(MYSQL_TYPE_VAR_STRING); + context->expect_field_type(MYSQL_TYPE_VARCHAR); context->expect_field_result(STRING_RESULT); context->expect(Item::FUNC_ITEM); break; |