Commit 4c836e8d authored by monty@mashka.mysql.fi's avatar monty@mashka.mysql.fi
Browse files

Fixed problem with ISNULL on fields that could not be null

parent 9dd13a9a
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -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; }
};