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

Fixed problem with ISNULL on fields that could not be null

parent 9dd13a9a
...@@ -449,17 +449,19 @@ class Item_func_isnull :public Item_bool_func ...@@ -449,17 +449,19 @@ class Item_func_isnull :public Item_bool_func
void update_used_tables() void update_used_tables()
{ {
if (!args[0]->maybe_null) if (!args[0]->maybe_null)
used_tables_cache=0; /* is always false */
else
{ {
args[0]->update_used_tables(); used_tables_cache= 0; /* is always false */
used_tables_cache=args[0]->used_tables(); cached_value= (longlong) 0;
} }
if (!used_tables_cache) else
{ {
/* Remember if the value is always NULL or never NULL */ args[0]->update_used_tables();
args[0]->val(); if (!(used_tables_cache=args[0]->used_tables()))
cached_value= args[0]->null_value ? (longlong) 1 : (longlong) 0; {
/* 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; } optimize_type select_optimize() const { return OPTIMIZE_NULL; }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment