• unknown's avatar
    WL#2985 "Partition Pruning": · dc2a6e22
    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.
    dc2a6e22
partition_pruning.test 8.32 KB