mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Better warning message if lock test fails
Made archive.test a bit more safe mysql-test/r/archive.result: Added removal of files to make rerun of failed test work mysql-test/t/archive.test: Added removal of files to make rerun of failed test work mysys/thr_lock.c: Better warning message if lock test fails
This commit is contained in:
parent
1bbb55a260
commit
84edaac4f1
3 changed files with 10 additions and 6 deletions
|
@ -12717,6 +12717,7 @@ COUNT(t1.a)
|
|||
729
|
||||
DROP TABLE t1;
|
||||
SET @@join_buffer_size= @save_join_buffer_size;
|
||||
flush tables;
|
||||
SHOW CREATE TABLE t1;
|
||||
ERROR HY000: Table upgrade required. Please do "REPAIR TABLE `t1`" or dump/reload to fix it!
|
||||
SELECT * FROM t1;
|
||||
|
|
|
@ -1630,6 +1630,11 @@ SET @@join_buffer_size= @save_join_buffer_size;
|
|||
# BUG#47012 archive tables are not upgradeable, and server crashes on any access
|
||||
#
|
||||
let $MYSQLD_DATADIR= `SELECT @@datadir`;
|
||||
|
||||
# Remove files to handle possible restart of test
|
||||
flush tables;
|
||||
remove_files_wildcard $MYSQLD_DATADIR/test t1.*;
|
||||
|
||||
copy_file std_data/bug47012.frm $MYSQLD_DATADIR/test/t1.frm;
|
||||
copy_file std_data/bug47012.ARZ $MYSQLD_DATADIR/test/t1.ARZ;
|
||||
copy_file std_data/bug47012.ARM $MYSQLD_DATADIR/test/t1.ARM;
|
||||
|
|
|
@ -158,15 +158,13 @@ static int check_lock(struct st_lock_list *list, const char* lock_type,
|
|||
{
|
||||
THR_LOCK_DATA *data,**prev;
|
||||
uint count=0;
|
||||
THR_LOCK_OWNER *UNINIT_VAR(first_owner);
|
||||
|
||||
prev= &list->data;
|
||||
if (list->data)
|
||||
{
|
||||
enum thr_lock_type last_lock_type=list->data->type;
|
||||
enum thr_lock_type last_lock_type= list->data->type;
|
||||
THR_LOCK_OWNER first_owner= list->data->owner;
|
||||
|
||||
if (same_owner && list->data)
|
||||
first_owner= list->data->owner;
|
||||
for (data=list->data; data && count++ < MAX_LOCKS ; data=data->next)
|
||||
{
|
||||
if (data->type != last_lock_type)
|
||||
|
@ -184,8 +182,8 @@ static int check_lock(struct st_lock_list *list, const char* lock_type,
|
|||
last_lock_type != TL_WRITE_CONCURRENT_INSERT)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Warning: Found locks from different threads in %s: %s\n",
|
||||
lock_type,where);
|
||||
"Warning: Found locks from different threads in %s at '%s'. org_lock_type: %d last_lock_type: %d new_lock_type: %d\n",
|
||||
lock_type, where, list->data->type, last_lock_type, data->type);
|
||||
return 1;
|
||||
}
|
||||
if (no_cond && data->cond)
|
||||
|
|
Loading…
Reference in a new issue