mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
ha_innodb.cc:
Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY sql/ha_innodb.cc: Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
This commit is contained in:
@@ -278,15 +278,15 @@ convert_error_code_to_mysql(
|
||||
|
||||
} else if (error == (int) DB_LOCK_WAIT_TIMEOUT) {
|
||||
|
||||
/* Since we rolled back the whole transaction, we must
|
||||
tell it also to MySQL so that MySQL knows to empty the
|
||||
cached binlog for this transaction */
|
||||
/* Since we rolled back the whole transaction, we must
|
||||
tell it also to MySQL so that MySQL knows to empty the
|
||||
cached binlog for this transaction */
|
||||
|
||||
if (thd) {
|
||||
ha_rollback(thd);
|
||||
}
|
||||
if (thd) {
|
||||
ha_rollback(thd);
|
||||
}
|
||||
|
||||
return(HA_ERR_LOCK_WAIT_TIMEOUT);
|
||||
return(HA_ERR_LOCK_WAIT_TIMEOUT);
|
||||
|
||||
} else if (error == (int) DB_NO_REFERENCED_ROW) {
|
||||
|
||||
@@ -3954,11 +3954,9 @@ ha_innobase::discard_or_import_tablespace(
|
||||
err = row_import_tablespace_for_mysql(dict_table->name, trx);
|
||||
}
|
||||
|
||||
if (err == DB_SUCCESS) {
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
err = convert_error_code_to_mysql(err, NULL);
|
||||
|
||||
DBUG_RETURN(-1);
|
||||
DBUG_RETURN(err);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
|
||||
Reference in New Issue
Block a user