diff options
author | Vicențiu Ciorbaru <vicentiu@mariadb.org> | 2017-07-25 00:41:54 +0300 |
---|---|---|
committer | Vicențiu Ciorbaru <vicentiu@mariadb.org> | 2017-07-25 00:41:54 +0300 |
commit | 786ad0a158f92eae0d65b02f34e864a7bbd8390e (patch) | |
tree | 8b796ce3ce81ab3c1f73e6eb5c594c74619810c0 /sql/item_subselect.cc | |
parent | 2ce3f95151a424f950be40140c45b0ba583e07ab (diff) | |
parent | c8a0244e957bc4beff453f09c881bb51752d682c (diff) | |
download | mariadb-git-786ad0a158f92eae0d65b02f34e864a7bbd8390e.tar.gz |
Merge remote-tracking branch 'origin/5.5' into 10.0
Diffstat (limited to 'sql/item_subselect.cc')
-rw-r--r-- | sql/item_subselect.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc index 70b730a5a33..198657636f6 100644 --- a/sql/item_subselect.cc +++ b/sql/item_subselect.cc @@ -329,7 +329,8 @@ bool Item_subselect::enumerate_field_refs_processor(uchar *arg) while ((upper= it++)) { - if (upper->item->walk(&Item::enumerate_field_refs_processor, FALSE, arg)) + if (upper->item && + upper->item->walk(&Item::enumerate_field_refs_processor, FALSE, arg)) return TRUE; } return FALSE; @@ -3327,7 +3328,8 @@ bool Item_in_subselect::init_cond_guards() { DBUG_ASSERT(thd); uint cols_num= left_expr->cols(); - if (!abort_on_null && left_expr->maybe_null && !pushed_cond_guards) + if (!abort_on_null && !pushed_cond_guards && + (left_expr->maybe_null || cols_num > 1)) { if (!(pushed_cond_guards= (bool*)thd->alloc(sizeof(bool) * cols_num))) return TRUE; |