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)
This commit is contained in:
parent
d2fe24d1ef
commit
9a59083163
@ -1341,3 +1341,6 @@ win/vs71cache.txt
|
||||
win/vs8cache.txt
|
||||
zlib/*.ds?
|
||||
zlib/*.vcproj
|
||||
debian/control
|
||||
debian/defs.mk
|
||||
include/abi_check
|
||||
|
@ -168,8 +168,23 @@ int STDCALL mysql_server_init(int argc __attribute__((unused)),
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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) {
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user