summaryrefslogtreecommitdiff
path: root/sql/ha_partition.h
diff options
context:
space:
mode:
authorMattias Jonsson <mattias.jonsson@oracle.com>2010-10-01 13:39:49 +0200
committerMattias Jonsson <mattias.jonsson@oracle.com>2010-10-01 13:39:49 +0200
commitcfcf51b719b73c3dd5b854b14dc4829f3a5b7650 (patch)
tree091a2e59c87cb003723f6af8740cfa8647842ef4 /sql/ha_partition.h
parent0b7c5f4dcc496a9bbae17e386552d2d36700c3e9 (diff)
parent814fbc5b6f2bf40c91bfb01dfa1bcf711af01d76 (diff)
downloadmariadb-git-cfcf51b719b73c3dd5b854b14dc4829f3a5b7650.tar.gz
merge
Diffstat (limited to 'sql/ha_partition.h')
-rw-r--r--sql/ha_partition.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/sql/ha_partition.h b/sql/ha_partition.h
index feb2ddb9cfc..76b91e160ca 100644
--- a/sql/ha_partition.h
+++ b/sql/ha_partition.h
@@ -44,6 +44,7 @@ typedef struct st_partition_share
typedef struct st_ha_data_partition
{
ulonglong next_auto_inc_val; /**< first non reserved value */
+ pthread_mutex_t LOCK_auto_inc;
bool auto_inc_initialized;
} HA_DATA_PARTITION;
@@ -948,8 +949,9 @@ private:
DBUG_ASSERT(table_share->ha_data && !auto_increment_lock);
if(table_share->tmp_table == NO_TMP_TABLE)
{
+ HA_DATA_PARTITION *ha_data= (HA_DATA_PARTITION*) table_share->ha_data;
auto_increment_lock= TRUE;
- pthread_mutex_lock(&table_share->mutex);
+ pthread_mutex_lock(&ha_data->LOCK_auto_inc);
}
}
virtual void unlock_auto_increment()
@@ -962,7 +964,8 @@ private:
*/
if(auto_increment_lock && !auto_increment_safe_stmt_log_lock)
{
- pthread_mutex_unlock(&table_share->mutex);
+ HA_DATA_PARTITION *ha_data= (HA_DATA_PARTITION*) table_share->ha_data;
+ pthread_mutex_unlock(&ha_data->LOCK_auto_inc);
auto_increment_lock= FALSE;
}
}