An error occurred fetching the project authors.
- 11 Jan, 2011 1 commit
-
-
Sergey Petrunya authored
- Fix for MySQL BUG#52357 added NESTED_JOIN::is_fully_covered() which would not take into account that MariaDB's table elimination could eliminate tables from join plan (and so, from join nest). Fixed the check in the function to compare post-table-elimination numbers.
-
- 06 Mar, 2010 1 commit
-
-
Sergey Petrunya authored
Save no-records constant tables in JOIN::const_table_map before we invoke eliminate_tables(). Failure to do so caused crash when the same table was marked as constant two times mysql-test/r/table_elim.result: LPBUG#524025 Running RQG outer_join test leads to crash - Testcase mysql-test/t/table_elim.test: LPBUG#524025 Running RQG outer_join test leads to crash - Testcase sql/sql_select.cc: LPBUG#524025 Running RQG outer_join test leads to crash Save no-records constant tables in JOIN::const_table_map before we invoke eliminate_tables(). Failure to do so caused crash when the same table was marked as constant two times.
-
- 18 Feb, 2010 1 commit
-
-
Sergey Petrunya authored
- When analying multiple equalities, take into account that they may not have a single table field that belongs to one of the tables that we're trying to eliminate (and they are not useful for table elimination in that case) mysql-test/r/table_elim.result: LPBUG#523593: Running RQG optimizer_no_subquery crashes MariaDB - Testcase mysql-test/t/table_elim.test: LPBUG#523593: Running RQG optimizer_no_subquery crashes MariaDB - Testcase
-
- 16 Sep, 2009 1 commit
-
-
Sergey Petrunya authored
include/my_global.h: MWL#17: Table elimination: fixes for windows - Add ALIGN_MAX_UNIT (assume malloc returns data aligned to this much) mysql-test/r/table_elim.result: MWL#17: Table elimination: fixes for windows - Use only lower-case as EXPLAIN [EXTENDED] changes case of table names on windows mysql-test/t/table_elim.test: MWL#17: Table elimination: fixes for windows - Use only lower-case as EXPLAIN [EXTENDED] changes case of table names on windows sql/opt_table_elimination.cc: MWL#17: Table elimination: fixes for windows - Add extra alignment-padding-space for stack-allocated buffers.
-
- 26 Aug, 2009 1 commit
-
-
Sergey Petrunya authored
- Fix a trivial problem when OR-merging two multi-equalities - Amend testsuite to provide full gcov coverage mysql-test/r/table_elim.result: MWL#17: Table elimination: - Amend testsuite to provide full gcov coverage mysql-test/t/table_elim.test: MWL#17: Table elimination: - Amend testsuite to provide full gcov coverage
-
- 25 Aug, 2009 2 commits
-
-
Sergey Petrunya authored
- More test coverage - Remove unused code
-
Sergey Petrunya authored
- Add more testcases. - Fix trivial compile failure - Remove handling of "column IN (one_element)". This is converted to equality elsewhere mysql-test/r/table_elim.result: MWL#17: Table elimination - Add more testcases. - Fix trivial compile failure mysql-test/t/table_elim.test: MWL#17: Table elimination - Add more testcases sql/mysqld.cc: MWL#17: Table elimination - Fix trivial compile failure sql/opt_table_elimination.cc: MWL#17: Table elimination - Add more testcases. - Remove handling of "column IN (one_element)".This is converted to equality elsewhere
-
- 24 Aug, 2009 1 commit
-
-
Sergey Petrunya authored
- Correctly handle the case where we have multi-table DELETE and a table that we're deleting from looks like it could be eliminated.
-
- 21 Aug, 2009 1 commit
-
-
Sergey Petrunya authored
- More testcases - Set correct dependencies for non-bound multi-equalities. mysql-test/r/table_elim.result: MWL#17: Table elimination - More testcases mysql-test/t/table_elim.test: MWL#17: Table elimination - More testcases sql/opt_table_elimination.cc: MWL#17: Table elimination - Set correct dependencies for non-bound multi-equalities.
-
- 17 Aug, 2009 2 commits
-
-
Sergey Petrunya authored
- More testcases
-
Sergey Petrunya authored
- More dbug printouts - More testcases
-
- 29 Jun, 2009 1 commit
-
-
Sergey Petrunya authored
mysql-test/r/table_elim.result: MWL#17: Table elimination - More tests mysql-test/t/table_elim.test: MWL#17: Table elimination - More tests sql/opt_table_elimination.cc: MWL#17: Table elimination - Code cleanup sql/sql_select.cc: MWL#17: Table elimination - Code cleanup sql/sql_select.h: MWL#17: Table elimination - Code cleanup sql/table.h: MWL#17: Table elimination - Code cleanup
-
- 23 Jun, 2009 1 commit
-
-
Sergey Petrunia authored
- More testcases - Let add_ft_key() set keyuse->usable mysql-test/r/table_elim.result: MWL#17: Table elimination - More testcases mysql-test/t/table_elim.test: MWL#17: Table elimination - More testcases sql/sql_select.cc: MWL#17: Table elimination - Let add_ft_key() set keyuse->usable
-
- 14 Jun, 2009 1 commit
-
-
Sergey Petrunia authored
- Do not show eliminated tables in the output of EXPLAIN EXTENDED
-
- 09 Jun, 2009 1 commit
-
-
Sergey Petrunia authored
- Make elimination work with aggregate functions. The problem was that aggregate functions reported all table bits in used_tables(), and that prevented table elimination. Fixed by making aggregate functions return more correct value from used_tables(). mysql-test/r/ps_11bugs.result: MWL#17: Table elimination - Update test results. The difference is because of Item_ref change: outer references to constants are now recognized as constants, too. mysql-test/r/subselect.result: - Update test results. The difference is because of Item_ref change: outer references to constants are now recognized as constants, too. mysql-test/r/table_elim.result: MWL#17: Table elimination - Check that elimination works in presense of aggreagate functions mysql-test/t/table_elim.test: MWL#17: Table elimination - Check that elimination works in presense of aggreagate functions sql/item.h: MWL#17: Table elimination - Add Item_ref::const_item() which calls (*ref)->const_item(). Before this diff Item_ref used the default implementation of const_item(){ return used_tables()==0; }. This is no longer true, as COUNT(*) now has used_tables()==0 but const_item()==FALSE. sql/item_sum.cc: MWL#17: Table elimination - Make Item_sum() and it descendants not to return all bits in used_tables(). This is needed because otherwise table elimination can't work in presense of aggregate functions - COUNT(*) now has used_tables()==0 and const_item()==FALSE. Had to change Item_ref::const_item() to account for this. sql/item_sum.h: MWL#17: Table elimination - Add comments
-
- 03 Jun, 2009 1 commit
-
-
Sergey Petrunia authored
- 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.
-