An error occurred fetching the project authors.
  1. 04 Apr, 2007 1 commit
  2. 31 Jul, 2006 1 commit
    • unknown's avatar
      BUG#18198: More fixes · 04a70beb
      unknown authored
      mysql-test/r/partition.result:
        Removed test case no longer supported
      mysql-test/r/partition_error.result:
        Changed behaviour of test case
      mysql-test/r/partition_pruning.result:
        Changed behaviour of test case
      mysql-test/t/partition.test:
        Changed behaviour of test case
      mysql-test/t/partition_error.test:
        Changed behaviour of test case
      mysql-test/t/partition_pruning.test:
        Changed behaviour of test case
      sql/sql_partition.cc:
        Ensured PARTITION BY KEY can use any column type
      04a70beb
  3. 28 Jul, 2006 1 commit
    • unknown's avatar
      BUG#14940 "MySQL choose wrong index", v.2 · ef452e19
      unknown authored
      - Make the range-et-al optimizer produce E(#table records after table 
                                                 condition is applied),
      - Make the join optimizer use this value,
      - Add "filtered" column to EXPLAIN EXTENDED to show 
        fraction of records left after table condition is applied
      - Adjust test results, add comments
      
      
      mysql-test/r/archive_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/auto_increment.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/bdb_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/bench_count_distinct.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/binlog_stm_blackhole.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/case.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/cast.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/compress.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ctype_collate.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ctype_cp1250_ch.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/date_formats.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/distinct.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/fulltext.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_compress.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_crypt.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_default.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_encrypt.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_gconcat.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_group.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_if.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_in.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_like.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_math.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_op.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_regexp.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_set.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_str.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_system.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_test.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_time.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/group_by.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/group_min_max.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/having.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/heap.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/heap_hash.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/index_merge.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/index_merge_innodb.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/index_merge_ror.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/innodb_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/insert_update.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/join.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/join_nested.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/key_diff.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/myisam.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ndb_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/negation_elimination.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/null.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/olap.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/partition_pruning.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/query_cache.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/row.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/rpl_get_lock.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/rpl_master_pos_wait.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/select.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ssl.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ssl_compress.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/subselect.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/type_blob.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/union.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/varbinary.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/variables.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/view.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/ctype_cp1250_ch.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/func_like.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/group_min_max.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/index_merge_ror.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/index_merge_ror_cpk.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/join.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/partition_pruning.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      sql/opt_range.cc:
        BUG#14940: Make range/index_merge/group-min-max optimizer produce TABLE::quick_condition_rows -
          estimate of #records that will match the table condition.
      sql/sql_class.cc:
        BUG#14940: Add "filtered" column to output of EXPLAIN EXTENDED
      sql/sql_select.cc:
        BUG#14940: 
        - Make the join optimizer to use TABLE::quick_condition_rows=
          = E(#table records after filtering with table condition) 
        - Add "filtered" column to output of EXPLAIN EXTENDED
      sql/sql_select.h:
        BUG#14940: Added comments
      sql/table.h:
        BUG#14940: Added comments
      ef452e19
  4. 24 Jul, 2006 1 commit
    • unknown's avatar
      BUG#20257: Fix partition pruning for BIGINT UNSIGNED: · 045cde1c
      unknown authored
       - Fix problems in the "Interval walking" partition interval analyzer.
      
      
      mysql-test/r/partition_pruning.result:
        BUG#20257: Add more testcases for partition pruning
      mysql-test/t/partition_pruning.test:
        BUG#20257: Add more testcases for partition pruning
      sql/sql_partition.cc:
        BUG#20257: Fix partition pruning for BIGINT UNSIGNED, interval walking:
         - provide special handling for an edge case of interval of size 4G-1.
         - Store interval size in ulonglong, not uint (it was possible to miss partitions this way)
         - In get_next_partition_via_walking(), interpret the value of walked-over field as having the 
           same "signedness" as field (this is so because this value was obtained by calling field->val_int())
         - Remove out of date todo comment.
      045cde1c
  5. 20 Jul, 2006 1 commit
    • unknown's avatar
      BUG20733: Bug in partition pruning with zerofill field · d3b743ae
      unknown authored
      Problem was with handling NULL values in ranges
      
      
      mysql-test/r/partition_hash.result:
        New partition pruning test cases
      mysql-test/r/partition_list.result:
        New partition pruning test cases
      mysql-test/r/partition_pruning.result:
        New partition pruning test cases
      mysql-test/r/partition_range.result:
        New partition pruning test cases
      mysql-test/t/partition_hash.test:
        New partition pruning test cases
      mysql-test/t/partition_list.test:
        New partition pruning test cases
      mysql-test/t/partition_pruning.test:
        New partition pruning test cases
      mysql-test/t/partition_range.test:
        New partition pruning test cases
      sql/opt_range.cc:
        Added comment
      sql/sql_partition.cc:
        Partition pruning didn't handle ranges with NULL values in a proper manner
      d3b743ae
  6. 30 Jun, 2006 1 commit
    • unknown's avatar
      BUG#20484: "Partitions: crash with EXPLAIN and UNION" · d2f08db4
      unknown authored
       - Don't forget to produce "partitions" column for "UNION RESULT" row of EXPLAIN output
      
      
      mysql-test/r/partition_pruning.result:
        BUG#20484: Testcase
      mysql-test/t/partition_pruning.test:
        BUG#20484: Testcase
      d2f08db4
  7. 05 Jun, 2006 1 commit
    • unknown's avatar
      BUG#19684: Garbage in 'partitions' column in EXPLAIN output: · 027d90bc
      unknown authored
      In select_describe(), make the String object that holds the value of 
      "partitions" column to "own" the value buffer, so the buffer isn't
      prematurely freed.
      [this is the second attempt with review fixes]
      
      
      mysql-test/r/partition_pruning.result:
        BUG#19684: Testcase
      mysql-test/t/partition_pruning.test:
        BUG#19684: Testcase
      sql/sql_select.cc:
        BUG#19684: Garbage in 'partitions' column in EXPLAIN output:
        - Added comment
        - Make the String object that holds the value of "partitions" column
          to "own" the value buffer, so the buffer isn't prematurely freed.
      027d90bc
  8. 04 Jun, 2006 1 commit
  9. 10 Apr, 2006 1 commit
  10. 06 Apr, 2006 1 commit
    • unknown's avatar
      BUG#18558 "Partition pruning results are incorrect for certain class of WHERE clauses" : · 4d1666f6
      unknown authored
      * Produce right results for conditions that were transformed to "(partitioning_range) AND
        (list_of_subpartitioning_ranges)": make each partition id set iterator auto-reset itself
        after it has returned all partition ids in the sequence 
      * Fix "Range mapping" and "Range mapping" partitioning interval analysis functions to 
        correctly deal with NULL values. 
      
      
      mysql-test/r/partition_pruning.result:
        Testcase for BUG#18558
      mysql-test/t/partition_pruning.test:
        Testcase for BUG#18558
      sql/opt_range.cc:
        BUG#18558: Move partition set iterator initialization to sql_partition.cc, comment fixes
      sql/partition_info.h:
        BUG#18558: Make each partition set iterator auto-reset itself after it has returned all 
        partition ids in the set it enumerates.
      sql/sql_partition.cc:
        BUG#18558: 
        - Make each partition set iterator auto-reset itself after it has returned all 
          partition ids in the set it enumerates. 
        - Fix partition interval analysis to correctly handle intervals with one or both
          NULL bounds.
      sql/sql_partition.h:
        BUG#18558: 
         - Make each partition set iterator auto-reset itself after it has returned all 
           partition ids in the set it enumerates. 
         - Rename PARTITION_ITERATOR::has_null_value to ret_null_part
      4d1666f6
  11. 03 Apr, 2006 1 commit
    • unknown's avatar
      BUG#18659: In get_part_iter_for_interval_via_walking(), when we need to · a26509ae
      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
      a26509ae
  12. 31 Mar, 2006 1 commit
    • unknown's avatar
      Fix for BUG#18025: Wrong query results because of bugs in partition pruning: · 45751090
      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.
      45751090
  13. 06 Feb, 2006 1 commit
  14. 29 Jan, 2006 1 commit
    • unknown's avatar
      WL# 2986 · ff5d0124
      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.
      ff5d0124
  15. 26 Jan, 2006 1 commit
    • unknown's avatar
      WL#2985 "Partition pruning": addition2: perform partition pruning for · d50236f6
      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()
      d50236f6
  16. 04 Jan, 2006 1 commit
    • 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
  17. 29 Dec, 2005 1 commit
  18. 26 Dec, 2005 2 commits
    • unknown's avatar
      add missing DROP TABLE [IF EXISTS] clauses · 01e1d1a0
      unknown authored
      01e1d1a0
    • unknown's avatar
      WL#2985 "Partition Pruning": post-review fixes: · a4a1bb0e
      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)
      a4a1bb0e
  19. 22 Dec, 2005 1 commit
    • unknown's avatar
      WL#2985 "Partition Pruning" · f19fb870
      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 ..."
      f19fb870