summaryrefslogtreecommitdiff
path: root/innobase/row/row0mysql.c
diff options
context:
space:
mode:
authorheikki@donna.mysql.fi <>2001-03-08 16:55:14 +0200
committerheikki@donna.mysql.fi <>2001-03-08 16:55:14 +0200
commitbfe5ff3b2e896822a42e275fdd807c89749e05b1 (patch)
treeb13ac0fecdfa6258b75b9f98bf1abb5946e5f208 /innobase/row/row0mysql.c
parentcb3dfd8252411fe1385129219cfb600c9e8897bb (diff)
downloadmariadb-git-bfe5ff3b2e896822a42e275fdd807c89749e05b1.tar.gz
row0mysql.c Innobase does not trap now if one creates a table already in Innobase
Diffstat (limited to 'innobase/row/row0mysql.c')
-rw-r--r--innobase/row/row0mysql.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/innobase/row/row0mysql.c b/innobase/row/row0mysql.c
index 117a3b02228..5a633f13870 100644
--- a/innobase/row/row0mysql.c
+++ b/innobase/row/row0mysql.c
@@ -818,12 +818,19 @@ row_create_table_for_mysql(
if (err != DB_SUCCESS) {
/* We have special error handling here */
- ut_a(err == DB_OUT_OF_FILE_SPACE);
+
trx->error_state = DB_SUCCESS;
trx_general_rollback_for_mysql(trx, FALSE, NULL);
- row_drop_table_for_mysql(table->name, trx, TRUE);
+ if (err == DB_OUT_OF_FILE_SPACE) {
+ row_drop_table_for_mysql(table->name, trx, TRUE);
+ } else {
+ assert(err == DB_DUPLICATE_KEY);
+ fprintf(stderr,
+ "Innobase: error: table %s already exists in Innobase data dictionary\n",
+ table->name);
+ }
trx->error_state = DB_SUCCESS;
}