Loading sql/item_cmpfunc.h +10 −8 Original line number Diff line number Diff line Loading @@ -449,19 +449,21 @@ class Item_func_isnull :public Item_bool_func void update_used_tables() { if (!args[0]->maybe_null) { used_tables_cache= 0; /* is always false */ cached_value= (longlong) 0; } else { args[0]->update_used_tables(); used_tables_cache=args[0]->used_tables(); } if (!used_tables_cache) if (!(used_tables_cache=args[0]->used_tables())) { /* Remember if the value is always NULL or never NULL */ args[0]->val(); cached_value= args[0]->null_value ? (longlong) 1 : (longlong) 0; } } } optimize_type select_optimize() const { return OPTIMIZE_NULL; } }; Loading Loading
sql/item_cmpfunc.h +10 −8 Original line number Diff line number Diff line Loading @@ -449,19 +449,21 @@ class Item_func_isnull :public Item_bool_func void update_used_tables() { if (!args[0]->maybe_null) { used_tables_cache= 0; /* is always false */ cached_value= (longlong) 0; } else { args[0]->update_used_tables(); used_tables_cache=args[0]->used_tables(); } if (!used_tables_cache) if (!(used_tables_cache=args[0]->used_tables())) { /* Remember if the value is always NULL or never NULL */ args[0]->val(); cached_value= args[0]->null_value ? (longlong) 1 : (longlong) 0; } } } optimize_type select_optimize() const { return OPTIMIZE_NULL; } }; Loading