diff options
author | Sergey Petrunia <psergey@askmonty.org> | 2009-06-03 17:10:45 +0400 |
---|---|---|
committer | Sergey Petrunia <psergey@askmonty.org> | 2009-06-03 17:10:45 +0400 |
commit | 275a4b354b57d81cbaa7e9bf7f422856a9b88a36 (patch) | |
tree | 51a002d7ff7830a014e0ce0fd8c337bedc17fde5 /sql/table.h | |
parent | d7ae55e70414b8e17a7c89a3f7843479a7260747 (diff) | |
download | mariadb-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.h | 2 |
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; |