summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2018-01-29 11:01:14 +0400
committerAlexey Botchkov <holyfoot@askmonty.org>2018-01-29 11:01:14 +0400
commitb4a2baffa82e5c07b96a1c752228560dcac1359b (patch)
tree5520b02f5c3bd21bf36f1fdf00a85dc9143c7fe5 /sql/handler.h
parent041a32abcdd9791761a15d93e77ff2ea7dbc9d7c (diff)
downloadmariadb-git-b4a2baffa82e5c07b96a1c752228560dcac1359b.tar.gz
MDEV-11084 Select statement with partition selection against MyISAM table opens all partitions.
Now we don't open partitions if it was explicitly cpecified. ha_partition::m_opened_partition bitmap added to track partitions that were actually opened.
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/handler.h b/sql/handler.h
index 78e41693ef1..713ffdd7e4e 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -2990,7 +2990,7 @@ public:
/* ha_ methods: pubilc wrappers for private virtual API */
int ha_open(TABLE *table, const char *name, int mode, uint test_if_locked,
- MEM_ROOT *mem_root= 0);
+ MEM_ROOT *mem_root= 0, List<String> *partitions_to_open=NULL);
int ha_index_init(uint idx, bool sorted)
{
DBUG_EXECUTE_IF("ha_index_init_fail", return HA_ERR_TABLE_DEF_CHANGED;);
@@ -3569,6 +3569,9 @@ public:
virtual int info(uint)=0; // see my_base.h for full description
virtual void get_dynamic_partition_info(PARTITION_STATS *stat_info,
uint part_id);
+ virtual void set_partitions_to_open(List<String> *partition_names) {}
+ virtual int change_partitions_to_open(List<String> *partition_names)
+ { return 0; }
virtual int extra(enum ha_extra_function operation)
{ return 0; }
virtual int extra_opt(enum ha_extra_function operation, ulong cache_size)