From af83b7aece92cfb775ff5533d5c7c9386e11ddd0 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Mar 2001 16:55:14 +0200 Subject: [PATCH] row0mysql.c Innobase does not trap now if one creates a table already in Innobase innobase/row/row0mysql.c: Innobase does not trap now if one creates a table already in Innobase --- innobase/row/row0mysql.c | 11 +++++++++-- 1 file 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; }