mirror of
https://github.com/MariaDB/server.git
synced 2026-04-28 19:25:32 +02:00
Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25027 sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/sql_lex.cc: Auto merged
This commit is contained in:
commit
eca431f3f3
5 changed files with 18 additions and 4 deletions
|
|
@ -2989,7 +2989,7 @@ longlong Item_func_isnull::val_int()
|
|||
Handle optimization if the argument can't be null
|
||||
This has to be here because of the test in update_used_tables().
|
||||
*/
|
||||
if (!used_tables_cache)
|
||||
if (!used_tables_cache && !with_subselect)
|
||||
return cached_value;
|
||||
return args[0]->is_null() ? 1: 0;
|
||||
}
|
||||
|
|
@ -2998,7 +2998,7 @@ longlong Item_is_not_null_test::val_int()
|
|||
{
|
||||
DBUG_ASSERT(fixed == 1);
|
||||
DBUG_ENTER("Item_is_not_null_test::val_int");
|
||||
if (!used_tables_cache)
|
||||
if (!used_tables_cache && !with_subselect)
|
||||
{
|
||||
owner->was_null|= (!cached_value);
|
||||
DBUG_PRINT("info", ("cached :%ld", (long) cached_value));
|
||||
|
|
@ -3025,7 +3025,7 @@ void Item_is_not_null_test::update_used_tables()
|
|||
else
|
||||
{
|
||||
args[0]->update_used_tables();
|
||||
if (!(used_tables_cache=args[0]->used_tables()))
|
||||
if (!(used_tables_cache=args[0]->used_tables()) && !with_subselect)
|
||||
{
|
||||
/* Remember if the value is always NULL or never NULL */
|
||||
cached_value= (longlong) !args[0]->is_null();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue