Commit ff8221a8 authored by sunny's avatar sunny

Add debug lock checks to autoinc functions. Add lock guards around an

invocation of dict_table_autoinc_initialize().
parent 7815285f
...@@ -441,6 +441,8 @@ dict_table_autoinc_initialize( ...@@ -441,6 +441,8 @@ dict_table_autoinc_initialize(
dict_table_t* table, /* in: table */ dict_table_t* table, /* in: table */
ib_longlong value) /* in: next value to assign to a row */ ib_longlong value) /* in: next value to assign to a row */
{ {
ut_ad(mutex_own(&table->autoinc_mutex));
table->autoinc_inited = TRUE; table->autoinc_inited = TRUE;
table->autoinc = value; table->autoinc = value;
} }
...@@ -457,6 +459,8 @@ dict_table_autoinc_read( ...@@ -457,6 +459,8 @@ dict_table_autoinc_read(
{ {
ib_longlong value; ib_longlong value;
ut_ad(mutex_own(&table->autoinc_mutex));
if (!table->autoinc_inited) { if (!table->autoinc_inited) {
value = 0; value = 0;
......
...@@ -2895,7 +2895,9 @@ next_rec: ...@@ -2895,7 +2895,9 @@ next_rec:
/* MySQL calls ha_innobase::reset_auto_increment() which does /* MySQL calls ha_innobase::reset_auto_increment() which does
the same thing. */ the same thing. */
dict_table_autoinc_lock(table);
dict_table_autoinc_initialize(table, 0); dict_table_autoinc_initialize(table, 0);
dict_table_autoinc_unlock(table);
dict_update_statistics(table); dict_update_statistics(table);
trx_commit_for_mysql(trx); trx_commit_for_mysql(trx);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment