1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Many files:

Improved concurrency for key cache reassignment


include/my_sys.h:
  Improved concurrency for key cache reassignment
include/myisam.h:
  Improved concurrency for key cache reassignment
myisam/mi_keycache.c:
  Improved concurrency for key cache reassignment
myisam/mi_locking.c:
  Improved concurrency for key cache reassignment
mysys/mf_keycache.c:
  Improved concurrency for key cache reassignment
sql/ha_myisam.cc:
  Improved concurrency for key cache reassignment
sql/sql_table.cc:
  Improved concurrency for key cache reassignment
This commit is contained in:
unknown
2003-10-01 18:20:07 -07:00
parent 5a85cb66be
commit 7de7c38f2f
7 changed files with 89 additions and 21 deletions

View File

@ -62,17 +62,12 @@ int mi_lock_database(MI_INFO *info, int lock_type)
/*
During a key cache reassignment the current and registered
key caches for the table are different.
Although at present key cache ressignment is always
performed with a shared cache for the table acquired,
for future possible optimizations we still
handle this situation as if we could come to this point
during the ressignment (in non-reassignment thread).
*/
if (info->lock_type == F_WRLCK && !share->w_locks &&
((switch_fl= share->keycache != share->reg_keycache) ||
!share->delay_key_write) &&
flush_key_blocks(*share->keycache, share->kfile,
switch_fl ? FLUSH_RELEASE : FLUSH_KEEP))
switch_fl ? FLUSH_REMOVE : FLUSH_KEEP))
{
error=my_errno;
mi_mark_crashed(info); /* Mark that table must be checked */