Commit eb8b2948 authored by marko's avatar marko

branches/zip: Merge revisions 2630:2702 from branches/5.1:

  ------------------------------------------------------------------------
  r2702 | sunny | 2008-09-30 11:41:56 +0300 (Tue, 30 Sep 2008) | 13 lines

  branches/5.1: Since handler::get_auto_increment() doesn't allow us
  to return the cause of failure we have to inform MySQL using the
  sql_print_warning() function to return the cause for autoinc failure.
  Previously we simply printed the error code, this patch prints the
  text string representing the following two error codes:

  DB_LOCK_WAIT_TIMEOUT
  DB_DEADLOCK.

  Bug#35498 Cannot get table test/table1 auto-inccounter value in ::info

  Approved by Marko.
  ------------------------------------------------------------------------
  rb://18
parent 7548c3d8
......@@ -8308,12 +8308,22 @@ ha_innobase::innobase_get_auto_increment(
} else {
*value = autoinc;
}
/* A deadlock error during normal processing is OK
and can be ignored. */
} else if (error != DB_DEADLOCK) {
/* We need to print this message here because the
handler::get_auto_increment() doesn't allow a way
to return the specific error for why it failed. */
} else if (error == DB_DEADLOCK) {
sql_print_warning(
"Deadlock in "
"innobase_get_auto_increment()");
} else if (error == DB_LOCK_WAIT_TIMEOUT) {
sql_print_warning(
"Lock wait timeout in "
"innobase_get_auto_increment()");
} else {
sql_print_error("InnoDB: Error: %lu in "
"::innobase_get_auto_increment()",
sql_print_error(
"InnoDB: Error: %lu in "
"innobase_get_auto_increment()",
error);
}
......
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