summaryrefslogtreecommitdiff
path: root/sql/table.h
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2018-09-15 14:28:19 -0700
committerIgor Babaev <igor@askmonty.org>2018-09-15 14:28:33 -0700
commitc5a9a63293f868f074def37c985fe23a9c01c276 (patch)
tree8cb910e2e4251e3e6cf7cd4bd14f5fffdc587704 /sql/table.h
parentaba5c72be28cbd3028623070b7bf3d7d1e128be1 (diff)
downloadmariadb-git-c5a9a63293f868f074def37c985fe23a9c01c276.tar.gz
MDEV-16917 Index affects query results
The optimizer erroneously allowed to use join cache when joining a splittable materialized table together with splitting optimization. As a consequence in some rare cases the server returned wrong result sets for queries with materialized derived. This patch allows to use either join cache without usage of splitting technique for materialization of a splittable derived table or splitting without usage of join cache when joining such table. The costs the these alternatives are compared and the best variant is chosen.
Diffstat (limited to 'sql/table.h')
-rw-r--r--sql/table.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/table.h b/sql/table.h
index 80f5e1283a3..a14a82e5cd2 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -1507,6 +1507,7 @@ public:
bool is_splittable() { return spl_opt_info != NULL; }
void set_spl_opt_info(SplM_opt_info *spl_info);
void deny_splitting();
+ double get_materialization_cost(); // Now used only if is_splittable()==true
void add_splitting_info_for_key_field(struct KEY_FIELD *key_field);
/**