diff options
author | unknown <sergefp@mysql.com> | 2007-02-27 22:01:03 +0300 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2007-02-27 22:01:03 +0300 |
commit | b68a22019e63dbaf7d1918b86c8a456a48dcdc3c (patch) | |
tree | 6dca6a83507a775256db33191e2be2b82ddae332 /sql/ha_partition.h | |
parent | 5b64b12c7fec848c07475d26a6923dac93a1e5bc (diff) | |
download | mariadb-git-b68a22019e63dbaf7d1918b86c8a456a48dcdc3c.tar.gz |
BUG#26117 "index_merge sort-union over partitioned table crashes"
Before the fix:
ha_partition objects had ha_partition::m_part_info==NULL and that caused
crash
After:
- The new ha_partition::clone() function makes the clones use parent's
m_part_info value.
- The parent ha_partition object remains responsible for deallocation of
m_part_info.
mysql-test/r/partition_innodb.result:
BUG#26117 "index_merge sort-union over partitioned table crashes"
- Testcase
mysql-test/t/partition_innodb.test:
BUG#26117 "index_merge sort-union over partitioned table crashes"
- Testcase
Diffstat (limited to 'sql/ha_partition.h')
-rw-r--r-- | sql/ha_partition.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/ha_partition.h b/sql/ha_partition.h index 4fdf325fa06..1069dd058d5 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -132,7 +132,13 @@ private: THR_LOCK_DATA lock; /* MySQL lock */ PARTITION_SHARE *share; /* Shared lock info */ + /* + TRUE <=> this object was created with ha_partition::clone and doesn't + "own" the m_part_info structure. + */ + bool is_clone; public: + handler *clone(MEM_ROOT *mem_root); virtual void set_part_info(partition_info *part_info) { m_part_info= part_info; |