Merge mysql.com:/home/my/mysql-4.0 into mysql.com:/home/my/mysql-4.1
innobase/os/os0file.c: Auto merged innobase/row/row0ins.c: Auto merged innobase/row/row0mysql.c: Auto merged
This commit is contained in:
commit
cfcca61a17
@ -1807,7 +1807,7 @@ os_file_pread(
|
||||
os_file_n_pending_preads++;
|
||||
os_mutex_exit(os_file_count_mutex);
|
||||
|
||||
n_bytes = pread(file, buf, n, offs);
|
||||
n_bytes = pread(file, buf, (ssize_t)n, offs);
|
||||
|
||||
os_mutex_enter(os_file_count_mutex);
|
||||
os_file_n_pending_preads--;
|
||||
@ -1832,7 +1832,7 @@ os_file_pread(
|
||||
return(ret);
|
||||
}
|
||||
|
||||
ret = read(file, buf, n);
|
||||
ret = read(file, buf, (ssize_t)n);
|
||||
|
||||
os_mutex_exit(os_file_seek_mutexes[i]);
|
||||
|
||||
@ -1882,7 +1882,7 @@ os_file_pwrite(
|
||||
os_file_n_pending_pwrites++;
|
||||
os_mutex_exit(os_file_count_mutex);
|
||||
|
||||
ret = pwrite(file, buf, n, offs);
|
||||
ret = pwrite(file, buf, (ssize_t)n, offs);
|
||||
|
||||
os_mutex_enter(os_file_count_mutex);
|
||||
os_file_n_pending_pwrites--;
|
||||
@ -1917,7 +1917,7 @@ os_file_pwrite(
|
||||
return(ret);
|
||||
}
|
||||
|
||||
ret = write(file, buf, n);
|
||||
ret = write(file, buf, (ssize_t)n);
|
||||
|
||||
if (srv_unix_file_flush_method != SRV_UNIX_LITTLESYNC
|
||||
&& srv_unix_file_flush_method != SRV_UNIX_NOSYNC
|
||||
|
@ -980,6 +980,23 @@ row_ins_foreign_check_on_constraint(
|
||||
|
||||
err = row_update_cascade_for_mysql(thr, cascade,
|
||||
foreign->foreign_table);
|
||||
|
||||
if (foreign->foreign_table->n_foreign_key_checks_running == 0) {
|
||||
fprintf(stderr,
|
||||
"InnoDB: error: table %s has the counter 0 though there is\n"
|
||||
"InnoDB: a FOREIGN KEY check running on it.\n",
|
||||
foreign->foreign_table->name);
|
||||
}
|
||||
|
||||
/* Release the data dictionary latch for a while, so that we do not
|
||||
starve other threads from doing CREATE TABLE etc. if we have a huge
|
||||
cascaded operation running. The counter n_foreign_key_checks_running
|
||||
will prevent other users from dropping or ALTERing the table when we
|
||||
release the latch. */
|
||||
|
||||
row_mysql_unfreeze_data_dictionary(thr_get_trx(thr));
|
||||
row_mysql_freeze_data_dictionary(thr_get_trx(thr));
|
||||
|
||||
mtr_start(mtr);
|
||||
|
||||
/* Restore pcur position */
|
||||
|
@ -2479,8 +2479,8 @@ row_drop_table_for_mysql(
|
||||
fputs(" InnoDB: You are trying to drop table ", stderr);
|
||||
ut_print_name(stderr, trx, table->name);
|
||||
fputs("\n"
|
||||
"InnoDB: though there are foreign key check running on it.\n"
|
||||
"InnoDB: Adding the table to the background drop queue.\n",
|
||||
"InnoDB: though there is a foreign key check running on it.\n"
|
||||
"InnoDB: Adding the table to the background drop queue.\n",
|
||||
stderr);
|
||||
|
||||
row_add_table_to_background_drop_list(table);
|
||||
|
Loading…
x
Reference in New Issue
Block a user