• unknown's avatar
    WL#1700 - Properly count key_blocks_used and key_blocks_current. · 14bdccb2
    unknown authored
    Introduced a new free blocks list. Free blocks are now re-used before
    new blocks are allocated from the pool. There is a new status variable 
    which can be queried by "show status like key_blocks_unused".
    
    
    include/keycache.h:
      WL#1700 - Properly count key_blocks_used and key_blocks_current.
      free_block_list is the new free blocks list. It is implemented like a stack (LIFO).
      blocks_unused holds the number of never used blocks plus the number of blocks in the free list.
      Removed the variable global_blocks_used, as it was always the same as blocks_used.
    mysql-test/r/key_cache.result:
      WL#1700 - Properly count key_blocks_used and key_blocks_current.
      Inserted some commands which show how key_blocks_used and key_blocks_unused work.
    mysql-test/t/key_cache.test:
      WL#1700 - Properly count key_blocks_used and key_blocks_current.
      Inserted some commands which show how key_blocks_used and key_blocks_unused work.
    mysys/mf_keycache.c:
      WL#1700 - Properly count key_blocks_used and key_blocks_current.
      Introduced a new free blocks list. The introductory comment says it all (I hope).
      Removed the variable global_blocks_used, as it was always the same as blocks_used.
    sql/mysqld.cc:
      WL#1700 - Properly count key_blocks_used and key_blocks_current.
      The blocks_unused count can be queried by "show status like key_blocks_unused".
      Removed the variable global_blocks_used, as it was always the same as blocks_used.
      Introduced SHOW_KEY_CACHE_CONST_LONG for status variables that
      must not be modified (i.e. flushed to zero).
    sql/sql_show.cc:
      WL#1700 - Properly count key_blocks_used and key_blocks_current.
      Introduced SHOW_KEY_CACHE_CONST_LONG for status variables that
      must not be modified (i.e. flushed to zero).
    sql/sql_test.cc:
      WL#1700 - Properly count key_blocks_used and key_blocks_current.
      Removed the variable global_blocks_used, as it was always the same as blocks_used.
    sql/structs.h:
      WL#1700 - Properly count key_blocks_used and key_blocks_current.
      Introduced SHOW_KEY_CACHE_CONST_LONG for status variables that
      must not be modified (i.e. flushed to zero).
    14bdccb2
mysqld.cc 210 KB