summaryrefslogtreecommitdiff
path: root/sql/table.h
diff options
context:
space:
mode:
authorSergey Petrunia <psergey@askmonty.org>2009-06-03 17:10:45 +0400
committerSergey Petrunia <psergey@askmonty.org>2009-06-03 17:10:45 +0400
commit275a4b354b57d81cbaa7e9bf7f422856a9b88a36 (patch)
tree51a002d7ff7830a014e0ce0fd8c337bedc17fde5 /sql/table.h
parentd7ae55e70414b8e17a7c89a3f7843479a7260747 (diff)
downloadmariadb-git-275a4b354b57d81cbaa7e9bf7f422856a9b88a36.tar.gz
MWL#17: Table elimination
- First code. Elimination works for simple cases, passes the testsuite. - Known issues: = No elimination is done for aggregate functions. = EXPLAIN EXTENDED shows eliminated tables (I think it better not) = No benchmark yet = The code needs some polishing. mysql-test/r/table_elim.result: MWL#17: Table elimination - Testcases mysql-test/t/table_elim.test: MWL#17: Table elimination - Testcases sql/sql_select.cc: MWL#17: Table elimination sql/sql_select.h: MWL#17: Table elimination - Added JOIN_TAB::eliminated (is JOIN_TAB the best place to store this flag?) sql/table.h: MWL#17: Table elimination - ADded NESTED_JOIN::n_tables. We need to have the number of real tables remaining in an outer join nest.
Diffstat (limited to 'sql/table.h')
-rw-r--r--sql/table.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/table.h b/sql/table.h
index 97840d2a1c6..cc54daccf9d 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -1626,6 +1626,8 @@ typedef struct st_nested_join
Before each use the counters are zeroed by reset_nj_counters.
*/
uint counter;
+ /* Tables left after elimination */
+ uint n_tables;
nested_join_map nj_map; /* Bit used to identify this nested join*/
} NESTED_JOIN;