summaryrefslogtreecommitdiff
path: root/innobase/row/row0mysql.c
diff options
context:
space:
mode:
authormonty@hundin.mysql.fi <>2001-11-07 00:19:36 +0200
committermonty@hundin.mysql.fi <>2001-11-07 00:19:36 +0200
commitf9a321af8a077ea7dc17a7964166738daab6db7e (patch)
treef1c7979e7d8282f034f3cabdfe558293a7f7c2f4 /innobase/row/row0mysql.c
parent9285b745d672c18fe7ed0e6639fba95db862613e (diff)
parentaf2e13481ecc4dbae74fa5a4dc4f9d70ec498e39 (diff)
downloadmariadb-git-f9a321af8a077ea7dc17a7964166738daab6db7e.tar.gz
merge
Diffstat (limited to 'innobase/row/row0mysql.c')
-rw-r--r--innobase/row/row0mysql.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/innobase/row/row0mysql.c b/innobase/row/row0mysql.c
index 45de25437e1..3b7275da8d7 100644
--- a/innobase/row/row0mysql.c
+++ b/innobase/row/row0mysql.c
@@ -946,11 +946,27 @@ row_create_table_for_mysql(
"InnoDB: mysqld and edit my.cnf so that newraw is replaced\n"
"InnoDB: with raw, and innodb_force_... is removed.\n");
+ trx_commit_for_mysql(trx);
+
return(DB_ERROR);
}
trx->op_info = (char *) "creating table";
+ if (0 == ut_strcmp(table->name, "mysql/host")
+ || 0 == ut_strcmp(table->name, "mysql/user")
+ || 0 == ut_strcmp(table->name, "mysql/db")) {
+
+ fprintf(stderr,
+ "InnoDB: Error: trying to create a MySQL system table %s of type InnoDB.\n"
+ "InnoDB: MySQL system tables must be of the MyISAM type!\n",
+ table->name);
+
+ trx_commit_for_mysql(trx);
+
+ return(DB_ERROR);
+ }
+
trx_start_if_not_started(trx);
namelen = ut_strlen(table->name);
@@ -1428,6 +1444,8 @@ funct_exit:
que_graph_free(graph);
+ trx_commit_for_mysql(trx);
+
trx->op_info = (char *) "";
return((int) err);
@@ -1513,6 +1531,20 @@ row_rename_table_for_mysql(
"InnoDB: mysqld and edit my.cnf so that newraw is replaced\n"
"InnoDB: with raw, and innodb_force_... is removed.\n");
+ trx_commit_for_mysql(trx);
+ return(DB_ERROR);
+ }
+
+ if (0 == ut_strcmp(new_name, "mysql/host")
+ || 0 == ut_strcmp(new_name, "mysql/user")
+ || 0 == ut_strcmp(new_name, "mysql/db")) {
+
+ fprintf(stderr,
+ "InnoDB: Error: trying to create a MySQL system table %s of type InnoDB.\n"
+ "InnoDB: MySQL system tables must be of the MyISAM type!\n",
+ new_name);
+
+ trx_commit_for_mysql(trx);
return(DB_ERROR);
}
@@ -1596,6 +1628,8 @@ funct_exit:
que_graph_free(graph);
+ trx_commit_for_mysql(trx);
+
trx->op_info = (char *) "";
return((int) err);