Commit graph

59287 commits

Author SHA1 Message Date
Sergey Petrunya
1396c2d2fa MWL#17: Table elimination
- Better comments
- Switch from "type" enum and switch to virtual functions for member funcs.
2009-08-19 00:18:10 +03:00
Sergey Petrunya
307a6ba5ee MWL#17: Table elimination
- Code cleanup
2009-08-18 18:01:51 +03:00
Jonathan Perkin
f0e14f7181 Install innodb_plugin on Windows. 2009-08-18 16:23:15 +02:00
Sergey Petrunya
c1b69e72eb MWL#17: Table elimination
- Switch from trying to eliminate all tables at once (which didn't work)
  to the original approach of bottom-up elimination.
2009-08-18 16:03:58 +03:00
Paul McCullagh
2fd4f480ef Merged changes for bug fix update 1.0.08c RC2 2009-08-18 09:46:53 +02:00
Sergey Petrunya
049c87fc2e MWL#17: Table elimination
- More testcases
2009-08-17 19:07:24 +03:00
Paul McCullagh
10cedc20e7 Updated all tests for RC2 2009-08-17 17:57:58 +02:00
Sergey Petrunya
441434e565 MWL#17: Table elimination
- More dbug printouts
- More testcases
2009-08-17 18:02:29 +03:00
Paul McCullagh
b8ed679973 Updated PBXT to version 1.0.08 RC2 2009-08-17 13:12:36 +02:00
Sergey Petrunya
a14b5d2466 MWL#17: Table elimination
- More comments
2009-08-16 21:01:59 +03:00
Sergey Petrunya
69d4559eed MWL#17: Table elimination
- Better comments
- More OOM checks

sql/sql_select.cc:
  - Remove garbage code
2009-08-16 17:35:47 +03:00
Sergey Petrunya
e845f0f82f - Better comments
- Add OOM error checking
2009-08-16 15:43:31 +03:00
Sergey Petrunya
f260de5c07 MWL#17: Table elimination
- Address review feedback: change expression analyzer used to be a copy-paste
  of ref analyzer. ref analyzer, besides doing ref analysis, also collected 
  info about keys which had sargable predicates. We didn't need that part here.
2009-08-16 15:17:08 +03:00
Sergey Petrunya
b70cb552e5 MWL#17: Table elimination
- code cleanup
2009-08-16 12:15:49 +03:00
Sergey Petrunya
8c00930642 MWL#17: Table elimination
- Fix trivial valgrind failures that shown up after review
2009-08-16 10:25:24 +03:00
Sergey Petrunya
405a36ae39 MWL#17: Table elimination
- Review feedback, more variable renames
2009-08-15 18:39:12 +03:00
Sergey Petrunya
76071c8fbd Fix trivial typo 2009-08-15 16:14:42 +04:00
Sergey Petrunya
85b63c1e67 MWL#17: Table elimination
Continue with addressing review feedback part two: 
- rename enum members
- add checking for out of memory errors on allocation
2009-08-15 14:29:53 +04:00
Sergey Petrunya
ef67ab4d8b MWL#17: Address 2nd post-review feedback
- Switch from uniform graph to bipartite graph with two kinds of nodes:
  "values" (tables and fields) and "modules" (t.col=func(...) equalities, 
  multi-equalities, unique keys, inner sides of outer joins).
- Rename functions, classes, etc.
2009-08-15 10:08:03 +04:00
Jonathan Perkin
a162954858 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. 2009-08-14 17:18:52 +02:00
Sergey Petrunya
57c199d8d1 Merge maria-5.1 -> maria-5.1-table-elimination 2009-08-14 01:12:12 +04:00
Sergey Petrunya
fef409cb9e MWL#17: Table elimination
- More function renames, added comments
2009-08-14 00:44:52 +04:00
Joerg Bruehe
3d4c5ed358 Upmerge 5.0-build into 5.1-build
This involves merge changesets and backports into QSP builds only,
does not cause a contents change in 5.1
2009-08-13 22:33:00 +02:00
Joerg Bruehe
c143b41698 Merge main 5.1 into 5.1-build 2009-08-13 22:25:58 +02:00
Sergey Petrunya
a28390364b MWL#17: Table elimination
- Better comments

sql/sql_select.cc:
  MWL#17: Table elimination
  - Fix buildbot failure: do set correct value to nested_join::n_tables
2009-08-13 23:10:53 +04:00
Sergey Petrunya
536754c8c6 MWL#17: Table elimination
Fixes after post-review fixes:
- Don't search for tables in JOIN_TAB array. it's not initialized yet.
  use select_lex->leaf_tables instead.
2009-08-13 13:36:13 +04:00
Sergey Petrunya
b3f18c8866 MWL#17: Table elimination
- Post-postreview changes fix: Do set NESTED_JOIN::n_tables to number of 
  tables left after elimination.
2009-08-13 13:24:02 +04:00
Sergey Petrunya
40bb97b525 MWL#17: Table elimination
- When making inferences "field is bound" -> "key is bound", do check 
  that the field is part of the key
2009-08-13 04:01:43 +04:00
Sergey Petrunya
b032c7d833 MWL#17: Table elimination
- Continue addressing review feedback: remove "unusable KEYUSEs" 
  extension as it is no longer needed.

sql/item.h:
  MWL#17: Table elimination
  - Code cleanup
sql/opt_table_elimination.cc:
  MWL#17: Table elimination
  - Code cleanup
2009-08-13 03:43:02 +04:00
Sergey Petrunya
854bb82bd8 MWL#17: Table elimination
Address review feedback: 
- Change from Wave-based approach (a-la const table detection) to 
  building and walking functional dependency graph.
- Change from piggy-backing on ref-access code and KEYUSE structures
  to using our own expression analyzer.


sql/item.cc:
  MWL#17: Table elimination
  - Move from C-ish Field_processor_info to C++ ish and generic Field_enumerator
sql/item.h:
  MWL#17: Table elimination
  - Move from C-ish Field_processor_info to C++ ish and generic Field_enumerator
sql/sql_bitmap.h:
  MWL#17: Table elimination
  - Backport of Table_map_iterator from 6.0
2009-08-13 02:34:21 +04:00
Jonathan Perkin
00eec234ee Apply build fix 2009-08-12 22:06:44 +02:00
Alexander Nozdrin
09d042249a Ignore auto-generated file: libmysqld/examples/mysqltest.cc 2009-08-12 23:45:01 +04:00
Alexander Nozdrin
b05eeab593 Fix 5.1 build error. 2009-08-12 23:43:20 +04:00
Daniel Fischer
b50f05e67a Create separate vardirs during collections test runs. 2009-08-12 17:10:15 +02:00
unknown
606c7e0d12 Raise version number after cloning 5.1.38 2009-08-12 16:41:07 +02:00
Sergey Vojtovich
3adae7f2cf Disable main.index_merge_innodb with InnoDB plugin. The test case is
not ready to run with innoplug-1.0.4.
2009-08-12 17:46:12 +05:00
Joerg Bruehe
adaa961a3f Merge main 5.0 with 5.0-build,
automerge didn't handle this correctly,
so test "view" was corrected manually.
2009-08-11 18:59:20 +02:00
Davi Arnaut
54958e8851 Merge from mysql-5.0-bugteam. 2009-08-11 13:22:28 -03:00
Davi Arnaut
d33a57a694 Fix tree name. 2009-08-11 13:14:27 -03:00
Joerg Bruehe
b43fb3e915 Correct a merge error that happened during a backport for 5.0.82sp1:
The test for the 45806 entry in our bug DB got applied twice,
in different places for the "view.test" and "view.result" files.

The fix is to simply remove the erroneous insertion.
2009-08-11 18:13:53 +02:00
Davi Arnaut
81b5dd8285 Update test case result due to mis-merge. 2009-08-11 13:13:06 -03:00
Vladislav Vaintroub
6e7de781d7 merge fix to define __NT__ on Windows 2009-08-11 17:47:33 +02:00
Vladislav Vaintroub
171b5d52af Always compile with __NT__ on windows. in 5.1 itthis #define is
widely used, in replication (delete_allow_opened) and for named
pipe support. We do not support Win9x anymore.
2009-08-11 17:44:13 +02:00
Davi Arnaut
b928a3295c Merge from mysql-5.1-bugteam. 2009-08-11 11:29:07 -03:00
Davi Arnaut
99734bed40 Update README. 2009-08-11 11:25:40 -03:00
Sergey Vojtovich
24e418df69 Merge mysql-5.1-innodb_plugin to mysql-5.1. 2009-08-11 18:05:25 +05:00
unknown
a2daa87980 Raise version number after cloning 5.0.85 2009-08-11 07:16:52 +02:00
Davi Arnaut
a51887143a Merge from mysql-5.0-bugteam. 2009-08-10 19:47:28 -03:00
Aleksandr Kuzminsky
56bca79f6a sync with rev.94 2009-08-10 22:36:10 +00:00
unknown
0a7219d50c Merge 2009-08-10 20:53:26 +02:00