From 3d0497297422d7305e24874d084b9d9fd4677154 Mon Sep 17 00:00:00 2001
From: unknown <mikael@dator5.(none)>
Date: Tue, 20 Jun 2006 13:24:30 -0400
Subject: [PATCH] BUG#16000: .par file not removed plus errors to error log for
 normal errors

sql/table.cc:
  Remove error printouts when error occurs during open frm as part of
  CREATE/ALTER TABLE
sql/unireg.cc:
  Ensure .par file is removed after error
---
 sql/table.cc  | 11 +++++++++++
 sql/unireg.cc |  1 +
 2 files changed, 12 insertions(+)

diff --git a/sql/table.cc b/sql/table.cc
index ab1bd49ba48..a96ca0da881 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -1484,7 +1484,18 @@ int open_table_from_share(THD *thd, TABLE_SHARE *share, const char *alias,
       tmp= fix_partition_func(thd, outparam, is_create_table);
     *root_ptr= old_root;
     if (tmp)
+    {
+      if (is_create_table)
+      {
+        /*
+          During CREATE/ALTER TABLE it is ok to receive errors here.
+          It is not ok if it happens during the opening of an frm
+          file as part of a normal query.
+        */
+        error_reported= TRUE;
+      }
       goto err;
+    }
   }
 #endif
 
diff --git a/sql/unireg.cc b/sql/unireg.cc
index 11aa73bb502..42518e7b9b7 100644
--- a/sql/unireg.cc
+++ b/sql/unireg.cc
@@ -339,6 +339,7 @@ int rea_create_table(THD *thd, const char *path,
   DBUG_RETURN(0);
 
 err_handler:
+  VOID(file->create_handler_files(path, NULL, CHF_DELETE_FLAG, create_info));
   my_delete(frm_name, MYF(0));
   DBUG_RETURN(1);
 } /* rea_create_table */
-- 
2.30.9