An error occurred fetching the project authors.
  1. 03 Apr, 2006 1 commit
    • unknown's avatar
      BUG#18659: In get_part_iter_for_interval_via_walking(), when we need to · 8b348cac
      unknown authored
      obtain partition number, call partition_info->get_part_partition_id() when
      the table has subpartitions, and get_partition_id() otherwise. (The bug
      was that we were always doing the latter)
      
      
      mysql-test/r/partition_pruning.result:
        Testcase for BUG#18659
      mysql-test/t/partition_pruning.test:
        Testcase for BUG#18659
      8b348cac
  2. 31 Mar, 2006 1 commit
    • unknown's avatar
      Fix for BUG#18025: Wrong query results because of bugs in partition pruning: · b2fb0d44
      unknown authored
       - Fix typo bug in SEL_ARG::is_singlepoint()
       - In set_up_range_analysis_info(), treat MEDIUMINT as enumerable type just like other integer types
      
      
      mysql-test/r/partition_pruning.result:
        Testcase for BUG#18025
      mysql-test/t/partition_pruning.test:
        Testcase for BUG#18025
      sql/opt_range.cc:
        BUG#18025: Fix a typo bug in SEL_ARG::is_singlepoint()
      sql/sql_partition.cc:
        BUG#18025: In set_up_range_analysis_info(), treat MEDIUMINT as enumerable type just like other integer types.
      b2fb0d44
  3. 06 Feb, 2006 1 commit
  4. 29 Jan, 2006 1 commit
    • unknown's avatar
      WL# 2986 · 13ee3410
      unknown authored
      Final patch
      -----------
      
      This WL is about using this bitmap in all parts of the partition handler.
      Thus for:
      rnd_init/rnd_next
      index_init/index_next and all other variants of index scans
      read_range_... the various range scans implemented in the partition handler.
      
      Also use those bitmaps in the various other calls that currently loop over all
      partitions.
      
      
      
      
      mysql-test/r/partition_pruning.result:
        WL# 2986
        
        New results reflecting bitmap being used to determine if a partition is to be
        included
      mysql-test/t/partition_pruning.test:
        WL# 2986
        
        New tests to show bitmap being used in ha_partition
      sql/ha_partition.cc:
        WL# 2986
        
        Used work from 2682 and removed the partition select code.
            
        Added do {} while loop to any iteration over partitions to now utilise 
        m_part_info->used_partitions bitmap to determine if a partition should be
        used.
      sql/ha_partition.h:
        WL# 2986
        
        Removed unused member
      sql/handler.h:
        WL# 2986
        
        Removed unused member
      sql/opt_range.cc:
        WL# 2986
        
        Added bitmap_clear_all to clear bitmap prior to pruning
        DBUG code for testing
      sql/sql_partition.cc:
        WL# 2986
        
        Changed < to <=, which fixes the problem with edge cases going awry.
      13ee3410
  5. 26 Jan, 2006 1 commit
    • unknown's avatar
      WL#2985 "Partition pruning": addition2: perform partition pruning for · 07f77bb2
      unknown authored
      single-table UPDATE/DELETE.
      
      
      mysql-test/r/partition_pruning.result:
        WL#2985 "Partition pruning": addition2: perform partition pruning for UPDATE/DELETE:
        testcases added
      mysql-test/t/partition_pruning.test:
        WL#2985 "Partition pruning": addition2: perform partition pruning for UPDATE/DELETE:
        testcases added
      sql/sql_delete.cc:
        WL#2985 "Partition pruning": addition2: perform partition pruning for UPDATE/DELETE:
        Added partition pruning call in mysql_delete()
      sql/sql_update.cc:
        WL#2985 "Partition pruning": addition2: perform partition pruning for UPDATE/DELETE:
        Added partition pruning call in mysql_update()
      07f77bb2
  6. 04 Jan, 2006 1 commit
    • unknown's avatar
      WL#2985 "Partition Pruning": · d5897c45
      unknown authored
      - post-...-post review fixes
      - Added "integer range walking" that allows to do partition pruning for "a <=? t.field <=? b"
        by finding used partitions for a, a+1, a+2, ..., b-1, b. 
      
      
      mysql-test/r/partition_pruning.result:
        WL#2985 "Partition Pruning": tests for "integer range walking"
      mysql-test/t/partition.test:
        WL#2985 "Partition Pruning": post-review fixes
      mysql-test/t/partition_pruning.test:
        WL#2985 "Partition Pruning": tests for "integer range walking"
      sql/handler.h:
        WL#2985 "Partition Pruning": "integer range walking": 
        - class partition_info now has pointers to "partitioning interval analysis" functions
        - added "partition set iterator" definitions.
      sql/opt_range.cc:
        WL#2985 "Partition Pruning": "integer range walking":
        - Switched to use "partitioning interval analysis" functions
        - Fixed two problems in find_used_partitions() that occur on complicated WHERE clauses.
      sql/sql_partition.cc:
        WL#2985 "Partition Pruning": "integer range walking": 
        - Added "partitioning interval analysis" functions: get_part_iter_for_interval_via_mapping, 
          get_part_iter_for_interval_via_walking, 
        - Added appropriate partition-set-iterator implementations
        - Added a function to set up Partitioning Interval Analysis-related fields in partition_info.
      sql/sql_select.cc:
        WL#2985 "Partition pruning": added comments.
      d5897c45
  7. 29 Dec, 2005 1 commit
  8. 26 Dec, 2005 2 commits
    • unknown's avatar
      add missing DROP TABLE [IF EXISTS] clauses · a7c1e3f6
      unknown authored
      a7c1e3f6
    • unknown's avatar
      WL#2985 "Partition Pruning": post-review fixes: · 8a32a4b7
      unknown authored
      - Added more comments.
      - Added a RANGE_OPT_PARAM::remove_jump_scans flag that disables construction of index_merge
        SEL_TREEs that represent unusable conditions like "key1part1<c1 OR key2part2<c2"
      - make prune_partitions() function handle the case where range analysis produces a list of 
        index_merge trees (it turned out that this is possible, appropriate test case added).
      - Other small fixes.
      
      
      mysql-test/r/partition_pruning.result:
        WL#2985 "Partition Pruning": post-review fixes: more test cases
      mysql-test/t/partition_pruning.test:
        WL#2985 "Partition Pruning": post-review fixes: more test cases
      sql/opt_range.cc:
        WL#2985 "Partition Pruning": post-review fixes:
        - Added more comments.
        - Fix the debug printouts
        - Added a RANGE_OPT_PARAM::remove_jump_scans flag that disables construction of index_merge
          SEL_TREEs that represent unusable conditions like "key1part1<c1 OR key2part2<c2"
        - make prune_partitions() function handle the case where range analysis produces a list of 
          index_merge trees (it turned out that this is possible, appropriate test case added).
      sql/sql_partition.cc:
        WL#2985 "Partition Pruning": post-review fixes: make requested edits in comments.
      sql/table.h:
        WL#2985 "Partition Pruning": post-review fixes: added bool TABLE::no_partitions_used
        (this change was missed when making the original cset)
      8a32a4b7
  9. 22 Dec, 2005 1 commit
    • unknown's avatar
      WL#2985 "Partition Pruning" · c4ef5317
      unknown authored
      sql/ha_ndbcluster.cc:
        WL#2985 "Partition Pruning": added part_info->used_partitions initialization
      sql/ha_partition.cc:
        WL#2985 "Partition Pruning": added part_info->used_partitions initialization
      sql/handler.h:
        WL#2985 "Partition Pruning": 
        Added function prototypes
        in partition_info:
         - Added 'used_partitions' bitmap
         - Added comments
      sql/item.h:
        WL#2985 "Partition Pruning": 
        - added enum monotonicity_info
        - added virtual Item::get_monotonicity_info()
      sql/item_timefunc.cc:
        WL#2985 "Partition Pruning": 
        - added Item_func_to_days::get_monotonicity_info()
        - added Item_func_year::get_monotonicity_info()
      sql/item_timefunc.h:
        WL#2985 "Partition Pruning": 
        - added Item_func_to_days::get_monotonicity_info()
        - added Item_func_year::get_monotonicity_info()
      sql/opt_range.cc:
        WL#2985 "Partition Pruning":
        - Split out PARAM structure into PARAM and RANGE_OPT_PARAM part.
        - Added partition pruning module code.
      sql/opt_range.h:
        WL#2985 "Partition Pruning": 
        Added prune_partitions() function declaration. This is the entry point for partition pruning 
        module
      sql/sql_class.cc:
        WL#2985 "Partition Pruning": added support for "EXPLAIN PARTITIONS SELECT ..."
      sql/sql_lex.h:
        WL#2985 "Partition Pruning": added support for "EXPLAIN PARTITIONS SELECT ..."
      sql/sql_partition.cc:
        WL#2985 "Partition Pruning": 
         - Added get_list_array_idx_for_endpoint and get_range_... functions to support partition 
           pruning on "partition_field < const"-like intervals.
         - Added partition_info::used_partitions bitmap.
         - Added make_used_partitions_str function
         - Fixed BUG#15819
      sql/sql_select.cc:
        WL#2985 "Partition Pruning": 
        - Added prune_partitions() invocation right before the range analysis
        - Added code to handle return value from prune_partitions()
        - Added support for "EXPLAIN PARTITIONS SELECT ..."
      sql/sql_yacc.yy:
        #2985 "Partition Pruning": added support for "EXPLAIN PARTITIONS SELECT ..."
      c4ef5317