diff options
author | Mattias Jonsson <mattias.jonsson@sun.com> | 2010-03-30 22:52:45 +0200 |
---|---|---|
committer | Mattias Jonsson <mattias.jonsson@sun.com> | 2010-03-30 22:52:45 +0200 |
commit | 864d6bc90bc7e4a983fbc69a963b3365dbc3966f (patch) | |
tree | 8edd91e616222b12e1b2bf54c848e345d37ad590 /sql/handler.h | |
parent | 58d8bfab4f10c7f6163d23d08bf79db21016eb07 (diff) | |
download | mariadb-git-864d6bc90bc7e4a983fbc69a963b3365dbc3966f.tar.gz |
Bug#51851: Server with SBR locks mutex twice on LOAD DATA
into partitioned MyISAM table
Problem was that the ha_data structure was introduced in 5.1
and only used for partitioning first, but with the intention
of be of use for others engines as well, and when used by other
engines it would clash if it also was partitioned.
Solution is to move the partitioning specific data to a separate
structure, with its own mutex (which is used for auto_increment).
Also did rename PARTITION_INFO to PARTITION_STATS since there
already exist a class named partition_info, also cleaned up
some related variables.
Diffstat (limited to 'sql/handler.h')
-rw-r--r-- | sql/handler.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/handler.h b/sql/handler.h index 1734e5727dc..95d7d535d16 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -954,7 +954,7 @@ typedef struct { ulong check_time; ulong update_time; ulonglong check_sum; -} PARTITION_INFO; +} PARTITION_STATS; #define UNDEF_NODEGROUP 65535 class Item; @@ -1553,7 +1553,7 @@ public: { return (ha_rows) 10; } virtual void position(const uchar *record)=0; virtual int info(uint)=0; // see my_base.h for full description - virtual void get_dynamic_partition_info(PARTITION_INFO *stat_info, + virtual void get_dynamic_partition_info(PARTITION_STATS *stat_info, uint part_id); virtual int extra(enum ha_extra_function operation) { return 0; } |