summaryrefslogtreecommitdiff
path: root/sql/item_subselect.cc
diff options
context:
space:
mode:
authorVicențiu Ciorbaru <vicentiu@mariadb.org>2017-07-25 00:41:54 +0300
committerVicențiu Ciorbaru <vicentiu@mariadb.org>2017-07-25 00:41:54 +0300
commit786ad0a158f92eae0d65b02f34e864a7bbd8390e (patch)
tree8b796ce3ce81ab3c1f73e6eb5c594c74619810c0 /sql/item_subselect.cc
parent2ce3f95151a424f950be40140c45b0ba583e07ab (diff)
parentc8a0244e957bc4beff453f09c881bb51752d682c (diff)
downloadmariadb-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.cc6
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;