summaryrefslogtreecommitdiff
path: root/mysql-test/r/key_cache.result
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-7184 main.key_cache fails in buildbot on Windows 32bitSergei Golubchik2015-01-191-30/+34
| | | | change the test not to use absolute values of Key_blocks_unused.
* Fixed problem with very slow shutdown when using 100,000 MyISAM tables with ↵Michael Widenius2014-07-191-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | delay_key_write Reason for the problem was that the hash of changed files in the key cache was too small (was 128). Fixed by making the hash size larger and changeable. - Introduced key-cache-file-hash-size (default 512) for MyISAM and aria_pagecache_file_hash_size (default 512) for Aria. - Added new status variable "Feature_delay_key_write" which counts number of tables opened that are using delay_key_write mysql-test/r/features.result: Added test of Feature_delay_key_write mysql-test/r/key_cache.result: Updated tests as the number of blocks has changed mysql-test/r/mysqld--help.result: Updated result mysql-test/suite/maria/maria3.result: Updated result mysql-test/suite/sys_vars/r/key_cache_file_hash_size_basic.result: Test new variable mysql-test/suite/sys_vars/t/aria_pagecache_file_hash_size_basic.test: Test new variable mysql-test/suite/sys_vars/t/key_cache_file_hash_size_basic.test: Test new variable mysql-test/t/features.test: Added test of Feature_delay_key_write mysql-test/t/key_cache.test: Updated tests as the number of blocks has changed mysys/mf_keycache.c: Made CHANGED_BLOCKS_HASH dynamic sql/handler.cc: Updated call to init_key_cache() sql/mysqld.cc: Added "Feature_delay_key_write" Added support for key-cache-file-hash-size sql/mysqld.h: Added support for key-cache-file-hash-size sql/sql_class.h: Added feature_files_opened_with_delayed_keys sql/sys_vars.cc: Added key_cache_file_hash_size storage/maria/ha_maria.cc: Added pagecache_file_hash_size Added counting of files with delay_key_write storage/maria/ma_checkpoint.c: Fixed compiler warning storage/maria/ma_pagecache.c: Made PAGECACHE_CHANGED_BLOCKS_HASH into a variable storage/maria/ma_pagecache.h: Made PAGECACHE_CHANGED_BLOCKS_HASH into a variable storage/maria/ma_rt_test.c: Updated parameters for init_pagecache() storage/maria/ma_test1.c: Updated parameters for init_pagecache() storage/maria/ma_test2.c: Updated parameters for init_pagecache() storage/maria/ma_test3.c: Updated parameters for init_pagecache() storage/maria/maria_chk.c: Updated parameters for init_pagecache() storage/maria/maria_ftdump.c: Updated parameters for init_pagecache() storage/maria/maria_pack.c: Updated parameters for init_pagecache() storage/maria/maria_read_log.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_pagecache_consist.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_pagecache_rwconsist.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_pagecache_rwconsist2.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_pagecache_single.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_test_loghandler-t.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_test_loghandler_first_lsn-t.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_test_loghandler_max_lsn-t.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_test_loghandler_multigroup-t.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_test_loghandler_multithread-t.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_test_loghandler_noflush-t.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_test_loghandler_nologs-t.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_test_loghandler_pagecache-t.c: Updated parameters for init_pagecache() storage/maria/unittest/ma_test_loghandler_purge-t.c: Updated parameters for init_pagecache() storage/myisam/ha_myisam.cc: Added counting of files with delay_key_write storage/myisam/mi_check.c: Updated call to init_key_cache() storage/myisam/mi_test1.c: Updated call to init_key_cache() storage/myisam/mi_test2.c: Updated call to init_key_cache() storage/myisam/mi_test3.c: Updated call to init_key_cache() storage/myisam/mi_test_all.sh: Fixed broken test storage/myisam/myisam_ftdump.c: Updated call to init_key_cache() storage/myisam/myisamchk.c: Updated call to init_key_cache() storage/myisam/myisamlog.c: Updated call to init_key_cache()
* 5.3 mergeSergei Golubchik2012-02-211-16/+16
|\
| * Merge with MariaDB 5.2Michael Widenius2012-02-211-0/+16
| |\
| | * Merge with MariaDB 5.1 and MySQL 5.1.61Michael Widenius2012-02-201-0/+16
| | |\
* | | \ Merge MySQL 5.5.20 into MariaDB 5.5.unknown2012-02-141-0/+16
|\ \ \ \
| * \ \ \ merged bug#12361113.Mattias Jonsson2011-12-141-0/+16
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | Also added tests for partitions key caches.
| | * | | mergeMattias Jonsson2011-12-141-0/+16
| | |\ \ \
| | | * | | Bug#12361113: CRASH WHEN "LOAD INDEX INTO CACHE" WITH TOOMattias Jonsson2011-12-121-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SMALL KEY CACHE The server crashed on division by zero because the key cache was not initialized and the block length was 0 which was used in a division. The fix was to not allow CACHE INDEX if the key cache was not initiallized. Thus never try LOAD INDEX INTO CACHE for an uninitialized key cache. Also added some windows files/directories to .bzrignore.
* | | | | | after merge changes:Sergei Golubchik2011-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rename all debugging related command-line options and variables to start from "debug-", and made them all OFF by default. * replace "MySQL" with "MariaDB" in error messages * "Cast ... converted ... integer to it's ... complement" is now a note, not a warning * @@query_cache_strip_comments now has a session scope, not global.
* | | | | | 5.3->5.5 mergeSergei Golubchik2011-11-271-1/+1
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | |
| * | | | | Made the optimizer switch for index condition pushdown set to 'on' by default. Igor Babaev2011-11-211-1/+1
| | | | | |
* | | | | | merge with 5.3Sergei Golubchik2011-10-191-2/+2
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sql/sql_insert.cc: CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. ****** CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. sql/sql_table.cc: small cleanup ****** small cleanup
| * | | | | Set the default to be mrr=off,mrr_sort_keys=off:Sergey Petrunya2011-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Set the default - Adjust the testcases so that 'new' tests are run with optimizations turned on. - Pull out relevant tests from "irrelevant" tests and run them with optimizations on. - Run range.test and innodb.test with both mrr=on and mrr=off
| * | | | | Make EXPLAIN better at displaying MRR/BKA:Sergey Petrunya2011-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - "Using MRR" is no longer shown with range access. - Instead, both range and BKA accesses will show one of the following: = "Rowid-ordered scan" = "Key-ordered scan" = "Key-ordered Rowid-ordered scan" depending on whether DS-MRR implementation will do scan keys in order, rowids in order, or both. - The patch also introduces a way for other storage engines/MRR implementations to pass information to EXPLAIN output about the properties of employed MRR scans.
| * | | | | Merge with 5.2Michael Widenius2011-03-091-2/+1
| |\ \ \ \ \ | | | |_|_|/ | | |/| | |
| | * | | | Merge with 5.1 to get in changes from MySQL 5.1.55Michael Widenius2011-02-281-2/+1
| | |\ \ \ \ | | | | |/ / | | | |/| |
| | | * | | Assorted post-merge fixes, clean-up, integration, compat with 5.6.Tatiana A. Nurnberg2010-11-251-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 43233/55794. mysql-test/r/change_user.result: Don't use -1 integer wrap around. It used to work, but now we do what's actually in the documentation. In tests, we now use DEFAULT or the numeral equivalent (as we do in the 5.6 tests). mysql-test/r/key_cache.result: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. mysql-test/r/variables.result: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. mysql-test/t/change_user.test: Don't use -1 integer wrap around. It used to work, but now we do what's actually in the documentation. In tests, we now use DEFAULT or the numeral equivalent (as we do in the 5.6 tests). mysql-test/t/key_cache.test: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. mysql-test/t/variables.test: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. sql/mysqld.cc: 0 is a legal (albeit magic) value: "drop key cache." sql/set_var.cc: bound_unsigned() can go now, it was just a kludge until things are done The Right Way, which they are now. Can't drop default key case is an error now, not a warning, for compatibility with 5.6. tests/mysql_client_test.c: Don't use -1 integer wrap around. It used to work, but now we do what's actually in the documentation. In tests, we now use DEFAULT or the numeral equivalent (as we do in the 5.6 tests).
| * | | | | MergeIgor Babaev2010-11-021-1/+1
| |\ \ \ \ \
| | * | | | | Fixed bug #52636.Igor Babaev2010-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applied the fix for bug #47217 from the mysql-6.0 codebase. The patch adds not null predicates generated for the left parts of the equality predicates used for ref accesses. This is done for such predicates both in where conditions and on conditions. For the where conditions the not null predicates were generated but in 5.0/5.1 they actually never were used due to some lame merge from 4.1 to 5.0. The fix for bug #47217 made these predicates to be used in the condition pushed to the tables. Yet only this patch generates not null predicates for equality predicated from on conditions of outer joins. This patch introduces a performance regression that can be observed on a test case from null_key.test. The regression will disappear after the fix for bug #57024 from mariadb-5.1 is pulled into mariadb-5.3. The patch contains many changes in the outputs of the EXPLAIN commands since generated not null predicates are considered as parts of the conditions pushed to join tables and may add 'Usingwhere' in some rows of EXPLAINs where there used to be no such comments.
* | | | | | | merge.Sergei Golubchik2010-11-251-3/+437
|\ \ \ \ \ \ \ | |/ / / / / / | | | | | / / | |_|_|_|/ / |/| | | | | | | | | | | checkpoint. does not compile.
| * | | | | merge w/ 5.2Sergei Golubchik2010-11-021-0/+3
| |\ \ \ \ \ | | |/ / / / | |/| / / / | | |/ / /
| | * | | merge w/ 5.1Sergei Golubchik2010-10-291-0/+3
| | |\ \ \ | | | |/ /
| * | | | MariaDB 5.2 -> MariaDB 5.3 merge Sergey Petrunya2010-06-261-2/+433
| |\ \ \ \ | | |/ / /
| | * | | rename "partitioned key cache" to "segmented"Sergei Golubchik2010-05-261-88/+88
| | | | |
| | * | | Post-review fixes.Igor Babaev2010-04-011-13/+19
| | | | |
| | * | | Made the results of the key_cache test to be platform independent.Igor Babaev2010-03-311-158/+47
| | | | |
| | * | | Adjusted resultsIgor Babaev2010-03-311-8/+8
| | | | |
| | * | | WL#86: Partitioned key cache for MyISAM.Igor Babaev2010-02-161-2/+538
| | |/ / | | | | | | | | | | | | This is the base patch for the task.
| * | | Backport into MariaDB-5.2 the following:Sergey Petrunya2009-12-151-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WL#2474 "Multi Range Read: Change the default MRR implementation to implement new MRR interface" WL#2475 "Batched range read functions for MyISAM/InnoDb" "Index condition pushdown for MyISAM/InnoDB" Igor's fix from sp1r-igor@olga.mysql.com-20080330055902-07614: There could be observed the following problems: 1. EXPLAIN did not mention pushdown conditions from on expressions in the 'extra' column. As a result if a query had no where conditions pushed down to a table, but had on conditions pushed to this table the 'extra' column in the EXPLAIN for the table missed 'using where'. 2. Conditions for ref access were not eliminated from on expressions though such conditions were eliminated from the where condition.
* | | WL#4738 streamline/simplify @@variable creation processSergei Golubchik2009-12-221-2/+19
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#16565 mysqld --help --verbose does not order variablesBug#20413 sql_slave_skip_counter is not shown in show variables Bug#20415 Output of mysqld --help --verbose is incomplete Bug#25430 variable not found in SELECT @@global.ft_max_word_len; Bug#32902 plugin variables don't know their names Bug#34599 MySQLD Option and Variable Reference need to be consistent in formatting! Bug#34829 No default value for variable and setting default does not raise error Bug#34834 ? Is accepted as a valid sql mode Bug#34878 Few variables have default value according to documentation but error occurs Bug#34883 ft_boolean_syntax cant be assigned from user variable to global var. Bug#37187 `INFORMATION_SCHEMA`.`GLOBAL_VARIABLES`: inconsistent status Bug#40988 log_output_basic.test succeeded though syntactically false. Bug#41010 enum-style command-line options are not honoured (maria.maria-recover fails) Bug#42103 Setting key_buffer_size to a negative value may lead to very large allocations Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled Bug#44797 plugins w/o command-line options have no disabling option in --help Bug#46314 string system variables don't support expressions Bug#46470 sys_vars.max_binlog_cache_size_basic_32 is broken Bug#46586 When using the plugin interface the type "set" for options caused a crash. Bug#47212 Crash in DBUG_PRINT in mysqltest.cc when trying to print octal number Bug#48758 mysqltest crashes on sys_vars.collation_server_basic in gcov builds Bug#49417 some complaints about mysqld --help --verbose output Bug#49540 DEFAULT value of binlog_format isn't the default value Bug#49640 ambiguous option '--skip-skip-myisam' (double skip prefix) Bug#49644 init_connect and \0 Bug#49645 init_slave and multi-byte characters Bug#49646 mysql --show-warnings crashes when server dies CMakeLists.txt: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled client/mysql.cc: don't crash with --show-warnings when mysqld dies config/ac-macros/plugins.m4: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled include/my_getopt.h: comments include/my_pthread.h: fix double #define mysql-test/mysql-test-run.pl: run sys_vars suite by default properly recognize envirinment variables (e.g. MTR_MAX_SAVE_CORE) set to 0 escape gdb command line arguments mysql-test/suite/sys_vars/r/rpl_init_slave_func.result: init_slave+utf8 bug mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: init_slave+utf8 bug mysys/my_getopt.c: Bug#34599 MySQLD Option and Variable Reference need to be consistent in formatting! Bug#46586 When using the plugin interface the type "set" for options caused a crash. Bug#49640 ambiguous option '--skip-skip-myisam' (double skip prefix) mysys/typelib.c: support for flagset sql/ha_ndbcluster.cc: backport from telco tree sql/item_func.cc: Bug#49644 init_connect and \0 Bug#49645 init_slave and multi-byte characters sql/sql_builtin.cc.in: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled sql/sql_plugin.cc: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled Bug#32902 plugin variables don't know their names Bug#44797 plugins w/o command-line options have no disabling option in --help sql/sys_vars.cc: all server variables are defined here storage/myisam/ft_parser.c: remove unnecessary updates of param->quot storage/myisam/ha_myisam.cc: myisam_* variables belong here strings/my_vsnprintf.c: %o and %llx unittest/mysys/my_vsnprintf-t.c: %o and %llx tests vio/viosocket.c: bugfix: fix @@wait_timeout to work with socket timeouts (vs. alarm thread)
* | manual mergeTatiana A. Nurnberg2009-03-161-2/+0
|/
* Bug#31177: Server variables can't be set to their current valuesunknown2007-11-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default values of variables were not subject to upper/lower bounds and step, while setting variables was. Bounds and step are also applied to defaults now; defaults are corrected quietly, values given by the user are corrected, and a correction-warning is thrown as needed. Lastly, very large values could wrap around, starting from 0 again. They are bounded at the maximum value for the respective data-type now if no lower maximum is specified in the variable's definition. client/mysql.cc: correct maxima in options array client/mysqltest.c: adjust minimum for "sleep" option so default value is no longer out of bounds. include/m_string.h: ullstr() - the unsigned brother of llstr() include/my_getopt.h: Flag if we bounded the value (that is, correct anything aside from making value a multiple of block-size) mysql-test/r/delayed.result: We throw a warning now when we adjust out of range parameters. mysql-test/r/index_merge.result: We throw a warning now when we adjust out of range parameters. mysql-test/r/innodb.result: We throw a warning now when we adjust out of range parameters. mysql-test/r/innodb_mysql.result: We throw a warning now when we adjust out of range parameters. mysql-test/r/key_cache.result: We throw a warning now when we adjust out of range parameters. mysql-test/r/packet.result: We throw a warning now when we adjust out of range parameters. mysql-test/r/ps.result: We throw a warning now when we adjust out of range parameters. mysql-test/r/subselect.result: We throw a warning now when we adjust out of range parameters. mysql-test/r/type_bit.result: We throw a warning now when we adjust out of range parameters. mysql-test/r/type_bit_innodb.result: We throw a warning now when we adjust out of range parameters. mysql-test/r/variables.result: correct results: bounds and step apply to variables' default values, too mysql-test/t/variables.test: correct results: bounds and step apply to variables' default values, too mysys/my_getopt.c: - apply bounds/step to default values of variables (based on work by serg) - print complaints about incorrect values for variables (truncation etc., by requestion of consulting) - if no lower maximum is specified in variable definition, bound unsigned values at their maximum to prevent wrap-around - some calls to error_reporter had a \n, some didn't. remove \n from calls, let reporter-function handle it, so the default reporter behaves like that in mysqld sql/mysql_priv.h: correct RANGE_ALLOC_BLOCK_SIZE (cleared with monty) sql/mysqld.cc: correct maxima to correct data-type. correct minima where higher than default. correct range-alloc-block-size. correct inno variables so GET_* corresponds to actual variable's type. sql/set_var.cc: When the new value for a variable is out of bounds, we'll send the client a warning (but not if the value was simply not a multiple of 'blocksize'). sys_var_thd_ulong had this, sys_var_long_ptr_global didn't; broken out and streamlined to avoid duplication of code. strings/llstr.c: ullstr() - the unsigned brother of llstr()
* BUG#26976 - Missing table in merge not noted in related error msg +unknown2007-06-061-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SHOW CREATE TABLE fails Underlying table names, that merge engine fails to open were not reported. With this fix CHECK TABLE issued against merge table reports all underlying table names that it fails to open. Other statements are unaffected, that is underlying table names are not included into error message. This fix doesn't solve SHOW CREATE TABLE issue. myisammrg/myrg_def.h: Added myrg_print_wrong_table declaration. myisammrg/myrg_open.c: If HA_OPEN_FOR_REPAIR is passed to merge engine open function, report names of tables that we fail to open. mysql-test/r/backup.result: Updated test result. mysql-test/r/key_cache.result: Updated test result - removed duplicate error. mysql-test/r/lock.result: Updated test result - added summary row. mysql-test/r/merge.result: A test case for BUG#26976. mysql-test/r/preload.result: Updated test result - removed duplicate error, added summary row. mysql-test/r/ps.result: Updated test result - removed duplicate error, added summary row. mysql-test/r/repair.result: Updated test result - removed duplicate error, added summary row. mysql-test/r/rpl_failed_optimize.result: Updated test result - removed duplicate error, added summary row. mysql-test/r/sp.result: Updated test result - removed duplicate error, added summary row. mysql-test/r/view.result: Updated test result - removed duplicate error, added summary row. mysql-test/t/merge.test: A test case for BUG#26976. sql/ha_myisam.cc: Do not report same error twice. sql/ha_myisammrg.cc: If HA_OPEN_FOR_REPAIR is passed to merge engine open function, report names of tables that we fail to open. Added dummy ha_myisammrg::check to not confuse users with "not implemented" error in case all underlying tables are fine. sql/ha_myisammrg.h: Added ha_myisammrg::check declaration. sql/share/errmsg.txt: Added ER_ADMIN_WRONG_MRG_TABLE errno. It is used instead of ER_WRONG_MRG_TABLE in case HA_OPEN_FOR_REPAIR is passed to merge engine handler open function. sql/sql_error.cc: warning_level_* are now public. It is required by mysql_admin_table to report message level. sql/sql_error.h: warning_level_* are now public. It is required by mysql_admin_table to report message level. sql/sql_table.cc: Reorder mysql_admin_table arguments to meet it's definition. Report errors that are pending in thd->warn_list as results of admin function.
* Bug#28478 - Improper key_cache_block_size corrupts MyISAM tablesunknown2007-05-311-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting a key_cache_block_size which is not a power of 2 could corrupt MyISAM tables. A couple of computations in the key cache code use bit operations which do only work if key_cache_block_size is a power of 2. Replaced bit operations by arithmetic operations to make key cache able to handle block sizes that are not a power of 2. include/keycache.h: Bug#28478 - Improper key_cache_block_size corrupts MyISAM tables Removed element 'key_cache_shift' from KEY_CACHE after the changes in mf_keycache.c made it unused. mysql-test/r/key_cache.result: Bug#28478 - Improper key_cache_block_size corrupts MyISAM tables Added test result mysql-test/t/key_cache.test: Bug#28478 - Improper key_cache_block_size corrupts MyISAM tables Added test mysys/mf_keycache.c: Bug#28478 - Improper key_cache_block_size corrupts MyISAM tables Replaced bit operations by arithmetic operations to make key cache able to handle block sizes that are not a power of 2.
* Cleanup after test casesunknown2006-11-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/init_connect.result: Restore global variable to the value it's set to when server is started mysql-test/r/key_cache.result: Restore global variable values to original mysql-test/r/mysqldump.result: Drop the user that was created. Specifying "drop user myDB_user" is equal to "drop user myDB_user@%" mysql-test/r/rpl_deadlock.result: Restore global variable values to original mysql-test/r/rpl_drop_db.result: Remove the conflicting file and drop database mysqltest1 before test exits mysql-test/r/rpl_ignore_revoke.result: As changes to mysql.* are ignored - explicitly delete the user on slave mysql-test/r/rpl_init_slave.result: Restore global variable values to original mysql-test/r/rpl_max_relay_size.result: Restore global variable values to original mysql-test/r/rpl_sp.result: Restore global variable values to original mysql-test/r/rpl_timezone.result: Restore global variable values to original mysql-test/r/rpl_variables.result: Restore global variable values to original mysql-test/r/view_grant.result: Use same user in all places in the same test "readonly" is equal to "readonly@%" not "readonly@localhost" mysql-test/t/init_connect.test: Restore global variable to the value it's set to when server is started mysql-test/t/key_cache.test: Restore global variable values to original mysql-test/t/mysqldump.test: Drop the user that was created. Specifying "drop user myDB_user" is equal to "drop user myDB_user@%" mysql-test/t/rpl_deadlock.test: Restore global variable values to original mysql-test/t/rpl_drop_db.test: Remove the conflicting file and drop database mysqltest1 before test exits mysql-test/t/rpl_ignore_revoke.test: As changes to mysql.* are ignored - explicitly delete the user on slave mysql-test/t/rpl_init_slave.test: Restore global variable values to original mysql-test/t/rpl_max_relay_size.test: Restore global variable values to original mysql-test/t/rpl_sp.test: Restore global variable values to original mysql-test/t/rpl_timezone.test: Restore global variable values to original mysql-test/t/rpl_variables.test: Restore global variable values to original mysql-test/t/view_grant.test: Use same user in all places in the same test "readonly" is equal to "readonly@%" not "readonly@localhost"
* Post-merge fixesunknown2006-05-311-1/+1
|
* Merge rurik.mysql.com:/home/igor/tmp_mergeunknown2006-05-311-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into rurik.mysql.com:/home/igor/dev/mysql-5.0-0 BitKeeper/deleted/.del-errmsg.txt~31abf77f9e7b9211: Auto merged BitKeeper/deleted/.del-sql_state.h~4307ea5f1fe99019: Auto merged mysql-test/r/explain.result: Auto merged mysql-test/r/key_cache.result: Auto merged mysql-test/r/preload.result: Auto merged mysql-test/t/explain.test: Auto merged mysql-test/t/select.test: Auto merged scripts/make_win_src_distribution.sh: Auto merged sql/sql_base.cc: Auto merged BitKeeper/deleted/.del-errmsg.txt~11edc4db89248c16: Manual merge BitKeeper/deleted/.del-errmsg.txt~184eb1f09242dc72: Manual merge BitKeeper/deleted/.del-errmsg.txt~2cdeb8d6f80eba72: Manual merge BitKeeper/deleted/.del-errmsg.txt~4617575065d612b9: Manual merge BitKeeper/deleted/.del-errmsg.txt~587903f9311db2d1: Manual merge BitKeeper/deleted/.del-errmsg.txt~606dfaeb9e81aa4e: Manual merge BitKeeper/deleted/.del-errmsg.txt~6bbd9eac7f0e6b89: Manual merge BitKeeper/deleted/.del-errmsg.txt~7397c423c52c6d2c: Manual merge BitKeeper/deleted/.del-errmsg.txt~898865062c970766: Manual merge BitKeeper/deleted/.del-errmsg.txt~8ed1999cbd481dc4: Manual merge BitKeeper/deleted/.del-errmsg.txt~94a93cc742fca24d: Manual merge BitKeeper/deleted/.del-errmsg.txt~9dab24f7fb11b1e1: Manual merge BitKeeper/deleted/.del-errmsg.txt~b44a85a177954da0: Manual merge BitKeeper/deleted/.del-errmsg.txt~b6181e29d8282b06: Manual merge BitKeeper/deleted/.del-errmsg.txt~ba132dc9bc936c8a: Manual merge BitKeeper/deleted/.del-errmsg.txt~e2609fdf7870795: Manual merge BitKeeper/deleted/.del-errmsg.txt~e3183b99fbba0a9c: Manual merge BitKeeper/deleted/.del-errmsg.txt~eeb2c47537ed9c23: Manual merge BitKeeper/deleted/.del-errmsg.txt~ef28b592c7591b7: Manual merge BitKeeper/deleted/.del-errmsg.txt~ef53c33ac0ff8a84: Manual merge BitKeeper/deleted/.del-errmsg.txt~f19bfd5d4c918964: Manual merge BitKeeper/deleted/.del-errmsg.txt~f96b7055cac394e: Manual merge BitKeeper/deleted/.del-errmsg.txt~ffe4a0c9e3206150: Manual merge BitKeeper/deleted/.del-mysqld_error.h~9dac75782467aab7: Manual merge
| * Fixed bug #17873: confusing error message when IGNORE/USE/FORCE INDEXunknown2006-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | refers to a column name. mysql-test/r/select.result: Fixed bug #17873: confusing error message when IGNORE/USE/FORCE INDEX refers to a column name. Added a new test case. mysql-test/t/select.test: Fixed bug #17873: confusing error message when IGNORE/USE/FORCE INDEX refers to a column name. Added a new test case. sql/share/czech/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/danish/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/dutch/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/english/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/estonian/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/french/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/german/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/greek/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead.\ sql/share/hungarian/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/italian/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/japanese-sjis/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead.\ sql/share/japanese/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/korean/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/norwegian-ny/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/norwegian/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/polish/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/portuguese/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/romanian/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/russian/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/serbian/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/slovak/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/spanish/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/swedish/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead. sql/share/ukrainian/errmsg.txt: Removed error message ER_INDEX_DOES_NOT_EXIST, used ER_KEY_DOES_NOT_EXITS instead.
| * Fixed bug #17873: confusing error message when IGNORE/USE/FORCE INDEXunknown2006-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | refers to a column name. Added a new error message ER_INDEX_DOES_NOT_EXIST. include/mysqld_error.h: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. include/sql_state.h: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. mysql-test/r/explain.result: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. mysql-test/r/key_cache.result: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. mysql-test/r/preload.result: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. mysql-test/r/select.result: Added a test case for bug #17873. mysql-test/t/explain.test: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. mysql-test/t/select.test: Added a test case for bug #17873. sql/share/czech/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/danish/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/dutch/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/english/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/estonian/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/french/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/german/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/greek/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/hungarian/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/italian/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/japanese-sjis/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/japanese/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/korean/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/norwegian-ny/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/norwegian/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/polish/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/portuguese/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/romanian/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/russian/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/serbian/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/slovak/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/spanish/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/swedish/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST. sql/share/ukrainian/errmsg.txt: Fixed bug #17873. Added a new error message ER_INDEX_DOES_NOT_EXIST.
* | Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-2unknown2006-04-191-0/+42
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into rurik.mysql.com:/home/igor/dev/mysql-5.0-0 mysys/mf_keycache.c: Auto merged ndb/src/kernel/SimBlockList.cpp: Auto merged ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp: Auto merged mysql-test/r/func_gconcat.result: Manual merge mysql-test/r/key_cache.result: Manual merge mysql-test/t/func_gconcat.test: Manual merge mysql-test/t/key_cache.test: Manual merge sql/item_func.cc: Manual merge sql/item_sum.h: Manual merge sql/lock.cc: Manual merge sql/sql_select.cc: Manual merge sql/unireg.h: Manual merge
| * Fixed bug #19079.unknown2006-04-181-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | The bug caused a reported index corruption in the cases when key_cache_block_size was not a multiple of myisam_block_size, e.g. when key_cache_block_size=1536 while myisam_block_size=1024. mysql-test/r/key_cache.result: Added a test case for bug #19079. mysql-test/t/key_cache.test: Added a test case for bug #19079.
* | Bug#10473 - Can't set 'key_buffer_size' system variable to ZEROunknown2005-08-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Give the user a warning if he tries to destroy the default key cache. mysql-test/r/key_cache.result: Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO The test result. mysql-test/t/key_cache.test: Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO The test case. sql/share/errmsg.txt: Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO The new message string.
* | Merge mysql.com:/home/jimw/my/mysql-4.1-cleanunknown2005-08-011-3/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/jimw/my/mysql-5.0-clean mysql-test/r/key_cache.result: Auto merged mysql-test/r/ps_1general.result: Auto merged mysql-test/r/variables.result: Auto merged mysql-test/r/func_math.result: Resolve conflicts mysql-test/r/user_var.result: Resolve conflicts mysql-test/t/func_math.test: Resolve conflicts mysql-test/t/user_var.test: Resolve conflicts sql/item_func.cc: Resolve conflicts sql/sql_parse.cc: Resolve conflicts
| * Don't force column header to @@session.var_name if @@local.var_nameunknown2005-07-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | was used. (Bug #10724) mysql-test/r/key_cache.result: Updated results mysql-test/r/ps_1general.result: Updated results mysql-test/r/user_var.result: Add new results mysql-test/r/variables.result: Update results mysql-test/t/user_var.test: Add new regression test sql/item_func.cc: Don't set name explicitly in get_system_var(), let it get set by the select_item: rule in sql_parse.yy or other callers of get_system_var(). sql/sql_parse.cc: Set the name on the Item returned by get_system_var().
* | Show all generated warnings in SHOW ERRORunknown2005-02-241-0/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we only stored the first given error (the error sent to the client) include/mysys_err.h: Moved ER_FILENOTFOUND last to avoid getting 'error 0' mysql-test/r/backup.result: More warnings from in case of errors mysql-test/r/innodb.result: More warnings from in case of errors mysql-test/r/key_cache.result: More warnings from in case of errors mysql-test/r/myisam.result: More warnings from in case of errors mysql-test/r/preload.result: More warnings from in case of errors mysql-test/r/repair.result: More warnings from in case of errors mysql-test/r/rpl_failed_optimize.result: More warnings from in case of errors mysql-test/r/subselect.result: More warnings from in case of errors mysql-test/t/backup.test: Portability fix mysql-test/t/innodb.test: Avoid some warnings mysql-test/t/myisam.test: Portability fix mysql-test/t/rpl_rotate_logs.test: Portablitiy fix mysys/errors.c: Move ER_FILENOTFOUND last to avoid error 0 sql/mysql_priv.h: Indentation change sql/mysqld.cc: Save all given errors for SHOW ERRORS sql/protocol.cc: Store new errors for SHOW ERROR (Ignore those that are already reported with my_error()) sql/sql_class.cc: More errors with SHOW ERROR sql/sql_class.h: More errors with SHOW ERROR sql/sql_error.cc: More errors with SHOW ERROR sql/sql_parse.cc: Temporary fix: Don't give error for the to-be-removed 'pre-open tables code' sql/sql_show.cc: More debugging Don't register errors while populating schema tables. (If we do, we get a LOT of warnings from information_schema.test) sql/sql_table.cc: Don't register errors from handler in drop table (as we already do it the upper level DROP TABLE code) Don't register errors for 'restore_table' as in most cases the table doesn't exists sql/sql_union.cc: Use file->write_row() instead of 'write_record'. This gives us easer to handle error messages and is faster than the old version
* key_cache.result, key_cache.test:unknown2004-11-161-0/+10
| | | | | | | | | | | | | | | | | | | | Added a test case for bug #6447. mf_keycache.c: Fixed bug #6447. Erronious code in the key_cache_read function caused problems when reading key blocks with offset>0 into key cache. The code of key_cache_insert and key_cache_write was modified similarly. mysys/mf_keycache.c: Fixed bug #6447. Erronious code in the key_cache_read function caused problems when reading key blocks with offset>0 into key cache. The code of key_cache_insert and key_cache_write was modified similarly. mysql-test/t/key_cache.test: Added a test case for bug #6447. mysql-test/r/key_cache.result: Added a test case for bug #6447.
* Language/consistency edits to error messagesunknown2004-06-151-2/+2
| | | | | | | and affected test results.
* Portability fixesunknown2004-05-071-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change strtoll -> my_strtoll10() Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems (Bug #3472) configure.in: Fixed problem on IRIX64 (One can't have AC_MSG_RESULT on same row as AC_DEFINE extra/my_print_defaults.c: Fixed wrong definition for 'verbose' include/my_global.h: Portability fix (IRIX64) libmysql/client_settings.h: Remove compiler warnings libmysql/libmysql.c: Remove compiler warnings mysql-test/r/func_str.result: Updated results mysql-test/r/key_cache.result: Updated results to not depend on key_blocks_unused mysql-test/t/func_str.test: More test of long overflow mysql-test/t/key_cache.test: Updated results to not depend on key_blocks_unused sql/item.cc: Portability fix (don't use strtoll()) sql/item.h: Portability fix (don't use strtoll()) sql/item_sum.h: Portability fix (don't use strtoll()) sql/item_timefunc.cc: Fixed compiler warning strings/ctype-simple.c: Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems strings/ctype-ucs2.c: Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems
* WL#1700 - Properly count key_blocks_used and key_blocks_current.unknown2004-05-031-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).