lp:~maria-captains/maria/5.3-subqueries
- Get this branch:
- bzr branch lp:~maria-captains/maria/5.3-subqueries
Branch merges
Branch information
Recent revisions
- 2793. By Timour Katchaounov on 2010-06-01
-
MWL#89: Cost-based choice between Materialization and IN->EXISTS transformation
Phase 2: Changed the code-generation for subquery materialization to be
performed in runtime memory for each (re)execution, instead of in
statement memory (once per prepared statement).- Item_in_
subselect: :setup_ engine( ) no longer wraps materialization related
objects to be created in statement memory.
- Merged subselect_hash_sj_ engine: :init_permanent and
subselect_hash_sj_ engine: :init_runtime into subselect_ hash_sj_ engine: :init,
which is called for each (re)execution.
- Fixed deletion of the temp table accordingly. - 2792. By Timour Katchaounov on 2010-05-27
-
MWL#89: Cost-based choice between Materialization and IN->EXISTS transformation
Phase 1: Implement recursive bottom-up optimization of subqueires instead of
lazy optimization.The patch implements a preparatory phase for MWL#89, which is a prerequisite
to implement a cost-based choice between both strategies. The patch passes the
complete regression test.The main change is implemented by the method:
JOIN::optimize_ materialized_ in_subqueries( ). All other changes were required to correct problems resulting from changing the
order of optimization. Most of these problems followed the same pattern - there are
some shared structures between a subquery and its parent query. Depending on which
one is optimized first (parent or child query), these shared strucutres may get
different values, thus resulting in an inconsistent query plan. - 2791. By Sergey Petrunia on 2010-05-03
-
Fix a crash when running subselect.test with --debug option: use
correct number of tables (when we're optimizing a materializable semi-join
nest, we're considering only tables from within that nest). - 2790. By Timour Katchaounov on 2010-04-06
-
Fixed an error in the creation of REF access method for materialized
semi-join, where the the REF buffer format was mistaken to be in
record format instead of key format. The error was that the null
byte for all fields of the record was in the front of the buffer,
and not before each field data. - 2789. By Timour Katchaounov on 2010-04-05
-
Fixed a problem where the temp table of a materialized subquery
was not cleaned up between PS re-executions. The reason was two-fold:
- a merge with mysql-6.0 missed select_union:: cleanup( ) that should
have cleaned up the temp table, and
- the subclass of select_union used by materialization didn't call
the base class cleanup() method. - 2788. By Timour Katchaounov on 2010-04-02
-
MWL#68: Subquery optimization: Efficient NOT IN execution with NULLs
Fixed an error where the priority queue for the indexes used for partial
matching was not emptied after each execution in all cases. - 2787. By Sergey Petrunia on 2010-03-29
-
Fix buildbot compile failure on hardy-amd64-
makedist:
invoke proper Item_int constructor. - 2786. By Sergey Petrunia on 2010-03-29
-
MWL#110: Make EXPLAIN always show materialization separately
- Add Item_in_subselect: :get_identifier () that returns subquery's id
- Change select_describe() to produce output in new format
- Update test results (checked)
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:maria/5.1

