@@ -14333,27 +14333,38 @@ bool check_simple_equality(THD *thd, const Item::Context &ctx,
14333
14333
{
14334
14334
Item *orig_left_item= left_item;
14335
14335
Item *orig_right_item= right_item;
14336
- if (left_item->type() == Item::REF_ITEM &&
14337
- (((Item_ref*)left_item)->ref_type() == Item_ref::VIEW_REF ||
14338
- ((Item_ref*)left_item)->ref_type() == Item_ref::REF))
14336
+ if (left_item->type() == Item::REF_ITEM)
14339
14337
{
14340
- if (((Item_ref*)left_item)->get_depended_from())
14341
- return FALSE;
14342
- if (((Item_direct_view_ref*)left_item)->get_null_ref_table() !=
14343
- NO_NULL_TABLE && !left_item->real_item()->used_tables())
14344
- return FALSE;
14345
- left_item= left_item->real_item();
14338
+ Item_ref::Ref_Type left_ref= ((Item_ref*)left_item)->ref_type();
14339
+
14340
+ if (left_ref == Item_ref::VIEW_REF ||
14341
+ left_ref == Item_ref::REF)
14342
+ {
14343
+ if (((Item_ref*)left_item)->get_depended_from())
14344
+ return FALSE;
14345
+ if (left_ref == Item_ref::VIEW_REF &&
14346
+ ((Item_direct_view_ref*)left_item)->get_null_ref_table() !=
14347
+ NO_NULL_TABLE &&
14348
+ !left_item->real_item()->used_tables())
14349
+ return FALSE;
14350
+ left_item= left_item->real_item();
14351
+ }
14346
14352
}
14347
- if (right_item->type() == Item::REF_ITEM &&
14348
- (((Item_ref*)right_item)->ref_type() == Item_ref::VIEW_REF ||
14349
- ((Item_ref*)right_item)->ref_type() == Item_ref::REF))
14353
+ if (right_item->type() == Item::REF_ITEM)
14350
14354
{
14351
- if (((Item_ref*)right_item)->get_depended_from())
14352
- return FALSE;
14353
- if (((Item_direct_view_ref*)right_item)->get_null_ref_table() !=
14354
- NO_NULL_TABLE && !right_item->real_item()->used_tables())
14355
- return FALSE;
14356
- right_item= right_item->real_item();
14355
+ Item_ref::Ref_Type right_ref= ((Item_ref*)right_item)->ref_type();
14356
+ if (right_ref == Item_ref::VIEW_REF ||
14357
+ (right_ref == Item_ref::REF))
14358
+ {
14359
+ if (((Item_ref*)right_item)->get_depended_from())
14360
+ return FALSE;
14361
+ if (right_ref == Item_ref::VIEW_REF &&
14362
+ ((Item_direct_view_ref*)right_item)->get_null_ref_table() !=
14363
+ NO_NULL_TABLE &&
14364
+ !right_item->real_item()->used_tables())
14365
+ return FALSE;
14366
+ right_item= right_item->real_item();
14367
+ }
14357
14368
}
14358
14369
if (left_item->type() == Item::FIELD_ITEM &&
14359
14370
right_item->type() == Item::FIELD_ITEM &&
0 commit comments