summaryrefslogtreecommitdiff
path: root/innobase/row/row0ins.c
diff options
context:
space:
mode:
authorunknown <monty@hundin.mysql.fi>2002-05-16 18:20:49 +0300
committerunknown <monty@hundin.mysql.fi>2002-05-16 18:20:49 +0300
commit4d094257dbb785d792785e610ab3cdf41eae9b8c (patch)
tree12de711f3f9d8ad9eee9d28cf71e5487f17315d3 /innobase/row/row0ins.c
parent2618c6963c5bf1349c47ce3af6e55213ea9773f4 (diff)
parent74d29a07712a0caf57fca62dacfeb14b110beca4 (diff)
downloadmariadb-git-4d094257dbb785d792785e610ab3cdf41eae9b8c.tar.gz
merge with 3.23.51
BitKeeper/etc/ignore: auto-union BitKeeper/etc/logging_ok: auto-union BitKeeper/deleted/.del-mysql_fix_extensions.sh: Delete: scripts/mysql_fix_extensions.sh Build-tools/Do-rpm: Auto merged Makefile.am: Auto merged client/mysqldump.c: Auto merged client/mysqltest.c: Auto merged extra/resolve_stack_dump.c: Auto merged include/my_pthread.h: Auto merged include/my_sys.h: Auto merged include/mysqld_error.h: Auto merged innobase/row/row0ins.c: Auto merged innobase/row/row0mysql.c: Auto merged innobase/row/row0sel.c: Auto merged isam/pack_isam.c: Auto merged libmysql/libmysql.c: Auto merged mysql-test/r/func_if.result: Auto merged mysql-test/t/join.test: Auto merged mysys/array.c: Auto merged mysys/charset.c: Auto merged mysys/default.c: Auto merged mysys/hash.c: Auto merged mysys/my_thr_init.c: Auto merged mysys/raid.cc: Auto merged mysql-test/t/type_decimal.test: Auto merged sql/hostname.cc: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_timefunc.h: Auto merged sql/log.cc: Auto merged sql/mini_client.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged strings/Makefile.am: Auto merged
Diffstat (limited to 'innobase/row/row0ins.c')
-rw-r--r--innobase/row/row0ins.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/innobase/row/row0ins.c b/innobase/row/row0ins.c
index 14e69024a8a..ed4df08fcf3 100644
--- a/innobase/row/row0ins.c
+++ b/innobase/row/row0ins.c
@@ -456,7 +456,8 @@ row_ins_foreign_delete_or_set_null(
}
if (!page_rec_is_user_rec(clust_rec)) {
- fprintf(stderr, "InnoDB: error in cascade of a foreign key op\n"
+ fprintf(stderr,
+ "InnoDB: error in cascade of a foreign key op\n"
"InnoDB: index %s table %s\n", index->name,
index->table->name);
@@ -490,9 +491,10 @@ row_ins_foreign_delete_or_set_null(
}
if (rec_get_deleted_flag(clust_rec)) {
- /* This should never happen since we already have an S-lock
- on non-delete-marked clust_rec or secondary index record! */
-
+ /* This can happen if there is a circular reference of
+ rows such that cascading delete comes to delete a row
+ already in the process of being delete marked */
+/*
fprintf(stderr,
"InnoDB: error 2 in cascade of a foreign key op\n"
"InnoDB: index %s table %s\n", index->name,
@@ -509,6 +511,8 @@ row_ins_foreign_delete_or_set_null(
fprintf(stderr, "InnoDB: to mysql@lists.mysql.com\n");
ut_a(0);
+*/
+ err = DB_SUCCESS;
goto nonstandard_exit_func;
}