summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.h
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2019-02-19 02:44:27 -0800
committerIgor Babaev <igor@askmonty.org>2019-02-19 02:45:24 -0800
commit8283d7d2c029cb520214ae7d33af8851acc80892 (patch)
tree9e805ca20f1913fa005a59db48aeeb7f02ad31fe /sql/item_cmpfunc.h
parent7fe1ca7ed6ac5d28a51a08749c8cdc64495d6911 (diff)
downloadmariadb-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.h19
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;
- }
};