diff options
author | Alexey Botchkov <holyfoot@askmonty.org> | 2018-01-29 11:01:14 +0400 |
---|---|---|
committer | Alexey Botchkov <holyfoot@askmonty.org> | 2018-01-29 11:01:14 +0400 |
commit | b4a2baffa82e5c07b96a1c752228560dcac1359b (patch) | |
tree | 5520b02f5c3bd21bf36f1fdf00a85dc9143c7fe5 /sql/handler.h | |
parent | 041a32abcdd9791761a15d93e77ff2ea7dbc9d7c (diff) | |
download | mariadb-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.h | 5 |
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) |