summaryrefslogtreecommitdiff
path: root/sql/item_row.cc
diff options
context:
space:
mode:
authorunknown <sanja@montyprogram.com>2013-01-16 21:07:26 +0200
committerunknown <sanja@montyprogram.com>2013-01-16 21:07:26 +0200
commit2255132f200940186c6e9dfcedae6edb85e7cee7 (patch)
tree4480761ae62900492d0c983031fc46ba7c19a147 /sql/item_row.cc
parentd51f96b16754cad5d2c9a91bb5b5e0673e59ded0 (diff)
downloadmariadb-git-2255132f200940186c6e9dfcedae6edb85e7cee7.tar.gz
MDEV-4056 fix.
The problem was that maybe_null of Item_row and its componetes was unsynced after update_used_tables() (and so pushed_cond_guards was not initialized but then requested). Fix updates Item_row::maybe_null on update_used_tables().
Diffstat (limited to 'sql/item_row.cc')
-rw-r--r--sql/item_row.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/item_row.cc b/sql/item_row.cc
index 5136c0100d6..72bae6f0900 100644
--- a/sql/item_row.cc
+++ b/sql/item_row.cc
@@ -139,11 +139,13 @@ void Item_row::update_used_tables()
{
used_tables_cache= 0;
const_item_cache= 1;
+ maybe_null= 0;
for (uint i= 0; i < arg_count; i++)
{
items[i]->update_used_tables();
used_tables_cache|= items[i]->used_tables();
const_item_cache&= items[i]->const_item();
+ maybe_null|= items[i]->maybe_null;
}
}