From aab1e50e719f1f31629890fad650e9b0290cb906 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 27 Mar 2004 00:35:45 +0400 Subject: fixed bug #2342 "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread" 1. added new status HA_ADMIN_REJECT and processing of it in mysql_admin_table 2. got ha_berkley::analyze to return HA_ADMIN_REJECT if there are any transactions with the table.. mysql-test/r/bdb-crash.result: added test for bug #2342 "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread" mysql-test/t/bdb-crash.test: added test for bug #2342 "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread" sql/ha_berkeley.cc: fixed bug #2342 "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread" we have to return new status "HA_ADMIN_REJECT" for ha_berkley::analyze if there are any transaction for this table so as bdb documentation says: "The DB->stat method cannot be transaction protected" sql/handler.h: added new status of table info "HA_ADMIN_REJECT" We have to return this status for bdb tables which have any active transactions so as bdb-documentation says: "The DB->stat method cannot be transaction-protected" sql/sql_table.cc: added processing of the new status HA_ADMIN_REJECT in mysql_admin_table (reason to add this status is explained in comment for commit on sql/handler.h) --- mysql-test/t/bdb-crash.test | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'mysql-test/t/bdb-crash.test') diff --git a/mysql-test/t/bdb-crash.test b/mysql-test/t/bdb-crash.test index 4575a612728..a966ea4659d 100644 --- a/mysql-test/t/bdb-crash.test +++ b/mysql-test/t/bdb-crash.test @@ -34,3 +34,15 @@ INSERT INTO t1 VALUES(NULL,1,'2001-03-01',1,1,1,'New',NULL,NULL,'now'); select * from t1; drop table t1; + +# +# Test for bug #2342 "Running ANALYZE TABLE on bdb table +# inside a transaction hangs server thread" +# + +create table t1 (a int) engine=bdb; + +set autocommit=0; +insert into t1 values(1); +analyze table t1; +drop table t1; \ No newline at end of file -- cgit v1.2.1 From 04e879e7aedb11cb32db81bcef92169297784007 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 27 Mar 2004 02:37:05 +0400 Subject: some cleanup of last patch for BUG #2342 mysql-test/t/bdb-crash.test: added newline sql/ha_berkeley.cc: added a commet --- mysql-test/t/bdb-crash.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mysql-test/t/bdb-crash.test') diff --git a/mysql-test/t/bdb-crash.test b/mysql-test/t/bdb-crash.test index a966ea4659d..98b542bf4c3 100644 --- a/mysql-test/t/bdb-crash.test +++ b/mysql-test/t/bdb-crash.test @@ -45,4 +45,4 @@ create table t1 (a int) engine=bdb; set autocommit=0; insert into t1 values(1); analyze table t1; -drop table t1; \ No newline at end of file +drop table t1; -- cgit v1.2.1