summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorVarun Gupta <varun.gupta@mariadb.com>2021-02-05 23:54:28 +0530
committerVarun Gupta <varun.gupta@mariadb.com>2021-02-06 12:09:36 +0530
commit9b8c3ee965e5a736bc972a749bdd2e38ecacfad5 (patch)
tree742621383c7b7841d63927cfd8c4fbe2217592c3 /sql/sql_select.cc
parentf91641b4fa56ddddfb250b2cffbc464cd544e95f (diff)
downloadmariadb-git-9b8c3ee965e5a736bc972a749bdd2e38ecacfad5.tar.gz
Using recurisive descent instead of walk to check if the join cardinality estimates are precise10.5-mdev8306
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 896277da6cc..a4464299659 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -8486,7 +8486,12 @@ choose_plan(JOIN *join, table_map join_tables)
if (join->conds && (join->sort_nest_possible || thd->trace_started()))
{
bool cardinality_accurate;
- cardinality_accurate= join->conds->with_accurate_selectivity_estimation();
+ SAME_FIELD arg= {NULL, FALSE};
+ cardinality_accurate=
+ join->conds->
+ with_accurate_selectivity_estimation(&Item::predicate_selectivity_checker,
+ &arg, TRUE);
+
wrapper.add("cardinality_accurate", cardinality_accurate);
if (!cardinality_accurate)