diff options
author | Alexander Barkov <bar@mariadb.org> | 2016-03-21 11:21:44 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2016-03-21 11:21:44 +0400 |
commit | 94768542115289272996f6450b7d3cafa75dcead (patch) | |
tree | 58ca682ea232bc83371ece1992137db8292827b2 /sql/item_row.h | |
parent | 7cb16dc2a369058b31df1b3999989f6beff94d07 (diff) | |
download | mariadb-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.h | 11 |
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): |