diff options
author | Igor Babaev <igor@askmonty.org> | 2019-02-19 02:44:27 -0800 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2019-02-19 02:45:24 -0800 |
commit | 8283d7d2c029cb520214ae7d33af8851acc80892 (patch) | |
tree | 9e805ca20f1913fa005a59db48aeeb7f02ad31fe /sql/item_cmpfunc.h | |
parent | 7fe1ca7ed6ac5d28a51a08749c8cdc64495d6911 (diff) | |
download | mariadb-git-8283d7d2c029cb520214ae7d33af8851acc80892.tar.gz |
MDEV-7486: Condition pushdown from HAVING into WHERE
Optimized the code that removed multiple equalities pushed from HAVING
into WHERE. Now this removal is postponed until all multiple equalities
are eliminated in substitute_for_best_equal_field().
Diffstat (limited to 'sql/item_cmpfunc.h')
-rw-r--r-- | sql/item_cmpfunc.h | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index e85c8feb4d6..ed9dc5fb59f 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -3223,17 +3223,12 @@ public: COND_EQUAL *upper_levels; /* multiple equalities of upper and levels */ List<Item_equal> current_level; /* list of multiple equalities of the current and level */ - uint references; /* number of conditions that have - reference on this COND_EQUAL */ - uint work_references; /* same as references */ COND_EQUAL() { upper_levels= 0; - references= 0; - work_references= 0; } COND_EQUAL(Item_equal *item, MEM_ROOT *mem_root) - :upper_levels(0), references(0), work_references(0) + :upper_levels(0) { current_level.push_back(item, mem_root); } @@ -3241,8 +3236,6 @@ public: { max_members= cond_equal.max_members; upper_levels= cond_equal.upper_levels; - references= cond_equal.references; - work_references= cond_equal.work_references; if (cond_equal.current_level.is_empty()) current_level.empty(); else @@ -3252,16 +3245,6 @@ public: { return (current_level.elements == 0); } - void increase_references() - { - references++; - work_references++; - } - void clean_references() - { - references= 0; - work_references= 0; - } }; |