summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/Makefile.am2
-rw-r--r--sql/examples/ha_tina.cc12
-rw-r--r--sql/examples/ha_tina.h2
-rw-r--r--sql/handler.cc4
4 files changed, 19 insertions, 1 deletions
diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am
index f8bf5c490f0..5b0a8afe98e 100644
--- a/mysql-test/Makefile.am
+++ b/mysql-test/Makefile.am
@@ -33,7 +33,7 @@ endif
benchdir_root= $(prefix)
testdir = $(benchdir_root)/mysql-test
EXTRA_SCRIPTS = mysql-test-run-shell.sh install_test_db.sh \
- $(PRESCRIPTS)
+ valgrind.supp $(PRESCRIPTS)
EXTRA_DIST = $(EXTRA_SCRIPTS)
GENSCRIPTS = mysql-test-run-shell mysql-test-run install_test_db mtr
PRESCRIPTS = mysql-test-run.pl
diff --git a/sql/examples/ha_tina.cc b/sql/examples/ha_tina.cc
index 0091e1f40a0..a3b05d298c2 100644
--- a/sql/examples/ha_tina.cc
+++ b/sql/examples/ha_tina.cc
@@ -220,6 +220,18 @@ static int free_share(TINA_SHARE *share)
}
+bool tina_end()
+{
+ if (tina_init)
+ {
+ hash_free(&tina_open_tables);
+ VOID(pthread_mutex_destroy(&tina_mutex));
+ }
+ tina_init= 0;
+ return FALSE;
+}
+
+
/*
Finds the end of a line.
Currently only supports files written on a UNIX OS.
diff --git a/sql/examples/ha_tina.h b/sql/examples/ha_tina.h
index d8cd0fa9cfe..266db1bc1fe 100644
--- a/sql/examples/ha_tina.h
+++ b/sql/examples/ha_tina.h
@@ -136,3 +136,5 @@ class ha_tina: public handler
int find_current_row(byte *buf);
int chain_append();
};
+
+bool tina_end();
diff --git a/sql/handler.cc b/sql/handler.cc
index 0476b855e3c..82fff72f0da 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -341,6 +341,10 @@ int ha_panic(enum ha_panic_function flag)
if (have_archive_db == SHOW_OPTION_YES)
error|= archive_db_end();
#endif
+#ifdef HAVE_CSV_DB
+ if (have_csv_db == SHOW_OPTION_YES)
+ error|= tina_end();
+#endif
return error;
} /* ha_panic */