summaryrefslogtreecommitdiff
path: root/innobase/srv
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2005-08-03 17:09:21 +0300
committerunknown <heikki@hundin.mysql.fi>2005-08-03 17:09:21 +0300
commita8bb376fc7ecc3e26623c897c4ec99739a3d1a29 (patch)
treeaedea677efe6043e724f01c1c14864393d62c931 /innobase/srv
parentacc423865419b1b9269b4e4777a27b431526d9da (diff)
downloadmariadb-git-a8bb376fc7ecc3e26623c897c4ec99739a3d1a29.tar.gz
Many files:
Push the patch of Jan Lindstrom: better comments ha_innodb.cc: Partial fix for Bug #12263 : we let InnoDB always to perform a rollback on the trx object if MySQL closes a connection; but we do print a warning to the .err log if an InnoDB transaction was active; we may remove that print later, since the situation really is not a bug; MySQL just is not aware that some cursor operation started an InnoDB transaction sql/ha_innodb.cc: Partial fix for Bug #12263 : we let InnoDB always to perform a rollback on the trx object if MySQL closes a connection; but we do print a warning to the .err log if an InnoDB transaction was active; we may remove that print later, since the situation really is not a bug; MySQL just is not aware that some cursor operation started an InnoDB transaction sql/ha_innodb.h: Push the patch of Jan Lindstrom: better comments innobase/trx/trx0trx.c: Push the patch of Jan Lindstrom: better comments innobase/srv/srv0srv.c: Push the patch of Jan Lindstrom: better comments innobase/srv/srv0start.c: Push the patch of Jan Lindstrom: better comments innobase/row/row0sel.c: Push the patch of Jan Lindstrom: better comments innobase/read/read0read.c: Push the patch of Jan Lindstrom: better comments innobase/include/read0read.h: Push the patch of Jan Lindstrom: better comments innobase/include/trx0trx.h: Push the patch of Jan Lindstrom: better comments
Diffstat (limited to 'innobase/srv')
-rw-r--r--innobase/srv/srv0srv.c4
-rw-r--r--innobase/srv/srv0start.c10
2 files changed, 14 insertions, 0 deletions
diff --git a/innobase/srv/srv0srv.c b/innobase/srv/srv0srv.c
index 837c5be2bb6..dc85750f0be 100644
--- a/innobase/srv/srv0srv.c
+++ b/innobase/srv/srv0srv.c
@@ -1711,6 +1711,10 @@ srv_printf_innodb_monitor(
fprintf(file, "%ld queries inside InnoDB, %lu queries in queue\n",
(long) srv_conc_n_threads,
(ulong) srv_conc_n_waiting_threads);
+
+ fprintf(file, "%lu read views open inside InnoDB\n",
+ UT_LIST_GET_LEN(trx_sys->view_list));
+
n_reserved = fil_space_get_n_reserved_extents(0);
if (n_reserved > 0) {
fprintf(file,
diff --git a/innobase/srv/srv0start.c b/innobase/srv/srv0start.c
index 7798e0c8e32..ffe4ba08ee9 100644
--- a/innobase/srv/srv0start.c
+++ b/innobase/srv/srv0start.c
@@ -1833,6 +1833,16 @@ innobase_shutdown_for_mysql(void)
srv_free();
os_sync_free();
+ /* Check that all read views are closed except read view owned
+ by a purge. */
+
+ if (UT_LIST_GET_LEN(trx_sys->view_list) > 1) {
+ fprintf(stderr,
+"InnoDB: Error: all read views were not closed before shutdown:\n"
+"InnoDB: %lu read views open \n",
+ UT_LIST_GET_LEN(trx_sys->view_list) - 1);
+ }
+
/* 5. Free all allocated memory and the os_fast_mutex created in
ut0mem.c */