diff options
author | unknown <sergefp@mysql.com> | 2005-12-22 12:29:00 +0300 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2005-12-22 12:29:00 +0300 |
commit | f19fb8709c8cb296c4aa60d0cdd4beb5f4f3cad1 (patch) | |
tree | 8de7ec2c17376c876e0b1170dd371aa5d156c9e8 /sql/opt_range.h | |
parent | cdfd9f7f6ff5eacd8670a824a18613d235ef1cd0 (diff) | |
download | mariadb-git-f19fb8709c8cb296c4aa60d0cdd4beb5f4f3cad1.tar.gz |
WL#2985 "Partition Pruning"
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 ..."
Diffstat (limited to 'sql/opt_range.h')
-rw-r--r-- | sql/opt_range.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/opt_range.h b/sql/opt_range.h index f84058f3b64..3cd348ba9af 100644 --- a/sql/opt_range.h +++ b/sql/opt_range.h @@ -249,6 +249,7 @@ public: struct st_qsel_param; +class PARAM; class SEL_ARG; /* @@ -283,12 +284,12 @@ protected: QUICK_RANGE_SELECT *get_quick_select_for_ref(THD *thd, TABLE *table, struct st_table_ref *ref, ha_rows records); - friend bool get_quick_keys(struct st_qsel_param *param, + friend bool get_quick_keys(PARAM *param, QUICK_RANGE_SELECT *quick,KEY_PART *key, SEL_ARG *key_tree, char *min_key, uint min_key_flag, char *max_key, uint max_key_flag); - friend QUICK_RANGE_SELECT *get_quick_select(struct st_qsel_param*,uint idx, + friend QUICK_RANGE_SELECT *get_quick_select(PARAM*,uint idx, SEL_ARG *key_tree, MEM_ROOT *alloc); friend class QUICK_SELECT_DESC; @@ -718,4 +719,8 @@ QUICK_RANGE_SELECT *get_quick_select_for_ref(THD *thd, TABLE *table, ha_rows records); uint get_index_for_order(TABLE *table, ORDER *order, ha_rows limit); +#ifdef WITH_PARTITION_STORAGE_ENGINE +bool prune_partitions(THD *thd, TABLE *table, Item *pprune_cond); +#endif + #endif |