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,19 +449,21 @@ class Item_func_isnull :public Item_bool_func ...@@ -449,19 +449,21 @@ 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 */ {
used_tables_cache= 0; /* is always false */
cached_value= (longlong) 0;
}
else else
{ {
args[0]->update_used_tables(); args[0]->update_used_tables();
used_tables_cache=args[0]->used_tables(); if (!(used_tables_cache=args[0]->used_tables()))
}
if (!used_tables_cache)
{ {
/* Remember if the value is always NULL or never NULL */ /* Remember if the value is always NULL or never NULL */
args[0]->val(); args[0]->val();
cached_value= args[0]->null_value ? (longlong) 1 : (longlong) 0; 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