diff options
Diffstat (limited to 'storage/sphinx/ha_sphinx.cc')
-rw-r--r-- | storage/sphinx/ha_sphinx.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/storage/sphinx/ha_sphinx.cc b/storage/sphinx/ha_sphinx.cc index 580b3fe539f..f611d66496e 100644 --- a/storage/sphinx/ha_sphinx.cc +++ b/storage/sphinx/ha_sphinx.cc @@ -2746,7 +2746,9 @@ const Item * ha_sphinx::cond_push ( const Item *cond ) if ( !m_pShare->m_bSphinxQL ) { // on non-QL tables, intercept query=value condition for SELECT - if (!( args[0]->type()==Item::FIELD_ITEM && args[1]->type()==Item::STRING_ITEM )) + if (!( args[0]->type()==Item::FIELD_ITEM && + args[1]->is_of_type(Item::CONST_ITEM, + STRING_RESULT))) break; Item_field * pField = (Item_field *) args[0]; @@ -2762,7 +2764,9 @@ const Item * ha_sphinx::cond_push ( const Item *cond ) } else { - if (!( args[0]->type()==Item::FIELD_ITEM && args[1]->type()==Item::INT_ITEM )) + if (!( args[0]->type()==Item::FIELD_ITEM && + args[1]->is_of_type(Item::CONST_ITEM, + INT_RESULT))) break; // on QL tables, intercept id=value condition for DELETE |