List:Commits« Previous MessageNext Message »
From:monty Date:June 20 2007 4:22pm
Subject:bk commit into 5.0 tree (monty:1.2517) BUG#25621
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of monty. When monty does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-06-20 19:22:27+03:00, monty@stripped +5 -0
  Allow multiple calls to mysql_server_end()
  (Part of fix for Bug#25621 Error in my_thread_global_end(): 1 threads didn't exit)
  Give correct error message if InnoDB table is not found
  (This allows us to drop a an innodb table that is not in the InnoDB registery)

  BitKeeper/etc/ignore@stripped, 2007-06-20 19:13:51+03:00, monty@stripped +1 -0
    added include/abi_check

  BitKeeper/etc/ignore@stripped, 2007-06-20 19:13:32+03:00, monty@stripped +1 -0
    added debian/defs.mk

  BitKeeper/etc/ignore@stripped, 2007-06-20 19:13:26+03:00, monty@stripped +1 -0
    added debian/control

  libmysql/libmysql.c@stripped, 2007-06-20 19:22:25+03:00, monty@stripped +15 -0
    Allow multiple calls to mysql_server_end()
    (Part of fix for Bug#25621 Error in my_thread_global_end(): 1 threads didn't exit)

  mysql-test/r/innodb_mysql.result@stripped, 2007-06-20 19:22:25+03:00, monty@stripped +8 -0
    Test case for drop of table that only has a .frm file

  mysql-test/t/innodb_mysql.test@stripped, 2007-06-20 19:22:25+03:00, monty@stripped +14 -0
    Test case for drop of table that only has a .frm file

  sql/ha_innodb.cc@stripped, 2007-06-20 19:22:25+03:00, monty@stripped +1 -1
    Give correct error message if InnoDB table is not found.
    (This allows us to drop a an innodb table that is not in the InnoDB registery)

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	monty
# Host:	narttu.mysql.fi
# Root:	/home/my/mysql-5.0

--- 1.256/libmysql/libmysql.c	2007-05-24 21:51:35 +03:00
+++ 1.257/libmysql/libmysql.c	2007-06-20 19:22:25 +03:00
@@ -168,8 +168,23 @@ int STDCALL mysql_server_init(int argc _
 }
 
 
+/*
+  Free all memory and resources used by the client library
+
+  NOTES
+    When calling this there should not be any other threads using
+    the library.
+
+    To make things simpler when used with windows dll's (which calls this
+    function automaticly), it's safe to call this function multiple times.
+*/
+
+
 void STDCALL mysql_server_end()
 {
+  if (!mysql_client_init)
+    return;
+
 #ifdef EMBEDDED_LIBRARY
   end_embedded_server();
 #endif

--- 1.22/mysql-test/r/innodb_mysql.result	2007-06-01 20:53:49 +03:00
+++ 1.23/mysql-test/r/innodb_mysql.result	2007-06-20 19:22:25 +03:00
@@ -625,4 +625,12 @@ t1	CREATE TABLE `t1` (
   `a` int(11) default NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='123'
 drop table t1;
+create table t1 (a int) engine=innodb;
+select * from t2;
+ERROR 42S02: Table 'test.t2' doesn't exist
+drop table t1;
+drop table t2;
+ERROR 42S02: Unknown table 't2'
+create table t2 (a int);
+drop table t2;
 End of 5.0 tests

--- 1.22/mysql-test/t/innodb_mysql.test	2007-06-01 20:53:49 +03:00
+++ 1.23/mysql-test/t/innodb_mysql.test	2007-06-20 19:22:25 +03:00
@@ -605,4 +605,18 @@ alter table t1 comment '123';
 show create table t1;
 drop table t1;
 
+#
+# Test bug when trying to drop data file which no InnoDB directory entry
+#
+
+create table t1 (a int) engine=innodb;
+copy_file $MYSQLTEST_VARDIR/master-data/test/t1.frm $MYSQLTEST_VARDIR/master-data/test/t2.frm;
+--error 1146
+select * from t2;
+drop table t1;
+--error 1051
+drop table t2;
+create table t2 (a int);
+drop table t2;
+
 --echo End of 5.0 tests

--- 1.313/sql/ha_innodb.cc	2007-04-29 16:40:41 +03:00
+++ 1.314/sql/ha_innodb.cc	2007-06-20 19:22:25 +03:00
@@ -504,7 +504,7 @@ convert_error_code_to_mysql(
 
  	} else if (error == (int) DB_TABLE_NOT_FOUND) {
 
-    		return(HA_ERR_KEY_NOT_FOUND);
+    		return(HA_ERR_NO_SUCH_TABLE);
 
   	} else if (error == (int) DB_TOO_BIG_RECORD) {
 

--- 1.248/BitKeeper/etc/ignore	2007-06-01 17:06:37 +03:00
+++ 1.251/BitKeeper/etc/ignore	2007-06-20 19:13:51 +03:00
@@ -1341,3 +1341,6 @@ win/vs71cache.txt
 win/vs8cache.txt
 zlib/*.ds?
 zlib/*.vcproj
+debian/control
+debian/defs.mk
+include/abi_check
Thread
bk commit into 5.0 tree (monty:1.2517) BUG#25621monty20 Jun