summaryrefslogtreecommitdiff
path: root/sql/item_row.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2016-03-21 11:21:44 +0400
committerAlexander Barkov <bar@mariadb.org>2016-03-21 11:21:44 +0400
commit94768542115289272996f6450b7d3cafa75dcead (patch)
tree58ca682ea232bc83371ece1992137db8292827b2 /sql/item_row.h
parent7cb16dc2a369058b31df1b3999989f6beff94d07 (diff)
downloadmariadb-git-94768542115289272996f6450b7d3cafa75dcead.tar.gz
MDEV-9369 IN operator with ( num, NULL ) gives inconsistent result
Based on this commit into MySQL-5.7: > commit 8e51b845aafc8b4cdebd763c8aebda262ac2d4cd > Author: Guilhem Bichot <guilhem.bichot@oracle.com> > Date: Mon Nov 4 15:44:55 2013 +0100 > > Bug#13944462 'NULL IN (XX)' RETURNS WRONG RESULTS
Diffstat (limited to 'sql/item_row.h')
-rw-r--r--sql/item_row.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/sql/item_row.h b/sql/item_row.h
index cf55eddc19c..25c9ec7915b 100644
--- a/sql/item_row.h
+++ b/sql/item_row.h
@@ -2,7 +2,7 @@
#define ITEM_ROW_INCLUDED
/*
- Copyright (c) 2002, 2010, Oracle and/or its affiliates.
+ Copyright (c) 2002, 2013, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -28,11 +28,20 @@
@endverbatim
*/
+
+/**
+ Item which stores (x,y,...) and ROW(x,y,...).
+ Note that this can be recursive: ((x,y),(z,t)) is a ROW of ROWs.
+*/
class Item_row: public Item,
private Item_args,
private Used_tables_and_const_cache
{
table_map not_null_tables_cache;
+ /**
+ If elements are made only of constants, of which one or more are
+ NULL. For example, this item is (1,2,NULL), or ( (1,NULL), (2,3) ).
+ */
bool with_null;
public:
Item_row(THD *thd, List<Item> &list):