summaryrefslogtreecommitdiff
path: root/sql/ha_partition.cc
diff options
context:
space:
mode:
authorunknown <gluh@mysql.com/gluh.(none)>2006-08-23 16:58:36 +0500
committerunknown <gluh@mysql.com/gluh.(none)>2006-08-23 16:58:36 +0500
commit0baa801e1695549454a3398169658b70860bb613 (patch)
tree5ddae72a2d08949e6f4b1da60454560198f1e679 /sql/ha_partition.cc
parenta649c63130c8ff09c097253a091cebfe69a5fab4 (diff)
downloadmariadb-git-0baa801e1695549454a3398169658b70860bb613.tar.gz
Bug#20548 Events: crash if InnoDB, multiple events, busy procedures, partitions
setup 'share' struct for all partiton file elements. It's neccessary because we use m_file[0]->update_create_info(create_info) during ha_partition::update_create_info and 'share' for m_file[0] should be valid sql/ha_partition.h: Bug#20548 Events: crash if InnoDB, multiple events, busy procedures, partitions sql/handler.h: Bug#20548 Events: crash if InnoDB, multiple events, busy procedures, partitions
Diffstat (limited to 'sql/ha_partition.cc')
-rw-r--r--sql/ha_partition.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc
index 615c4bfb1bf..b0580d784b0 100644
--- a/sql/ha_partition.cc
+++ b/sql/ha_partition.cc
@@ -1579,6 +1579,17 @@ void ha_partition::update_create_info(HA_CREATE_INFO *create_info)
}
+void ha_partition::change_table_ptr(TABLE *table_arg, TABLE_SHARE *share)
+{
+ handler **file_array= m_file;
+ table= table_arg;
+ table_share= share;
+ do
+ {
+ (*file_array)->change_table_ptr(table_arg, share);
+ } while (*(++file_array));
+}
+
/*
Change comments specific to handler