2003-07-06 18:09:57 +02:00
|
|
|
#
|
2010-05-26 18:33:40 +02:00
|
|
|
# Test of multiple key caches, simple and segmented
|
2003-07-06 18:09:57 +02:00
|
|
|
#
|
2003-11-18 12:47:27 +01:00
|
|
|
--disable_warnings
|
|
|
|
drop table if exists t1, t2, t3;
|
|
|
|
--enable_warnings
|
2003-07-06 18:09:57 +02:00
|
|
|
|
2010-02-16 17:41:11 +01:00
|
|
|
SET @save_key_buffer_size=@@key_buffer_size;
|
|
|
|
SET @save_key_cache_block_size=@@key_cache_block_size;
|
2010-05-26 18:33:40 +02:00
|
|
|
SET @save_key_cache_segments=@@key_cache_segments;
|
2003-07-06 18:09:57 +02:00
|
|
|
|
|
|
|
SELECT @@key_buffer_size, @@small.key_buffer_size;
|
|
|
|
|
|
|
|
# Change default key cache size
|
|
|
|
SET @@global.key_buffer_size=16*1024*1024;
|
|
|
|
SET @@global.default.key_buffer_size=16*1024*1024;
|
|
|
|
SET @@global.default.key_buffer_size=16*1024*1024;
|
|
|
|
|
|
|
|
SET @@global.small.key_buffer_size=1*1024*1024;
|
|
|
|
SET @@global.medium.key_buffer_size=4*1024*1024;
|
|
|
|
# Drop buffer
|
|
|
|
SET @@global.medium.key_buffer_size=0;
|
|
|
|
# Test double drop
|
|
|
|
SET @@global.medium.key_buffer_size=0;
|
|
|
|
|
|
|
|
# Print key buffer with different syntaxes
|
|
|
|
SHOW VARIABLES like "key_buffer_size";
|
|
|
|
SELECT @@key_buffer_size;
|
|
|
|
SELECT @@global.key_buffer_size;
|
|
|
|
SELECT @@global.default.key_buffer_size;
|
|
|
|
SELECT @@global.default.`key_buffer_size`;
|
|
|
|
SELECT @@global.`default`.`key_buffer_size`;
|
|
|
|
SELECT @@`default`.key_buffer_size;
|
|
|
|
|
|
|
|
SELECT @@small.key_buffer_size;
|
|
|
|
SELECT @@medium.key_buffer_size;
|
|
|
|
|
2010-02-16 17:41:11 +01:00
|
|
|
SET @@global.key_buffer_size=@save_key_buffer_size;
|
2003-07-06 18:09:57 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Errors
|
|
|
|
#
|
|
|
|
|
|
|
|
--error 1064
|
|
|
|
SELECT @@default.key_buffer_size;
|
After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
BitKeeper/deleted/.del-ctype_tis620.result-old~3578ceb0b8284685:
Delete: mysql-test/r/ctype_tis620.result-old
BitKeeper/deleted/.del-ctype_tis620.test-old~ffb1bbd2935d1aba:
Delete: mysql-test/t/ctype_tis620.test-old
client/mysqlbinlog.cc:
Added DBUG statements
Added call of my_end() to free all used memory on exit
heap/hp_info.c:
After merge fixes
heap/hp_open.c:
After merge fixes
include/heap.h:
After merge fixes
include/m_ctype.h:
Use pchar instead of 'int' for character parameters.
Added 'my_binary_compare()'
include/m_string.h:
Fixed wrong define
innobase/ibuf/ibuf0ibuf.c:
After merge fixes
innobase/srv/srv0start.c:
After merge fixes
mysql-test/r/alter_table.result:
Fixed results after merge
mysql-test/r/auto_increment.result:
Fixed results after merge
mysql-test/r/bdb.result:
Fixed results after merge
mysql-test/r/binary.result:
Fixed results after merge
mysql-test/r/create.result:
Fixed results after merge
mysql-test/r/ctype_mb.result:
Fixed results after merge
mysql-test/r/ctype_tis620.result:
Fixed results after merge
mysql-test/r/ctype_utf8.result:
Fixed results after merge
mysql-test/r/delete.result:
Fixed results after merge
mysql-test/r/func_compress.result:
Fixed results after merge
mysql-test/r/func_gconcat.result:
Fixed results after merge
mysql-test/r/func_group.result:
Fixed results after merge
mysql-test/r/func_str.result:
Fixed results after merge
mysql-test/r/innodb.result:
Fixed results after merge
mysql-test/r/insert.result:
Fixed results after merge
mysql-test/r/insert_select.result:
Fixed results after merge
mysql-test/r/key.result:
Fixed results after merge
mysql-test/r/loaddata.result:
Fixed results after merge
mysql-test/r/lock.result:
Fixed results after merge
mysql-test/r/myisam.result:
Fixed results after merge
mysql-test/r/null.result:
Fixed results after merge
mysql-test/r/null_key.result:
Fixed results after merge
mysql-test/r/order_by.result:
Fixed results after merge
mysql-test/r/query_cache.result:
Fixed results after merge
mysql-test/r/range.result:
Fixed results after merge
mysql-test/r/rpl_multi_delete.result:
Fixed results after merge
mysql-test/r/rpl_until.result:
Fixed results after merge
mysql-test/r/subselect.result:
Fixed results after merge
mysql-test/r/subselect_innodb.result:
Fixed results after merge
mysql-test/r/type_blob.result:
Fixed results after merge
mysql-test/r/type_datetime.result:
Fixed results after merge
mysql-test/r/type_decimal.result:
Fixed results after merge
mysql-test/r/type_enum.result:
Fixed results after merge
mysql-test/r/type_float.result:
Fixed results after merge
mysql-test/r/type_ranges.result:
Fixed results after merge
mysql-test/r/type_time.result:
Fixed results after merge
mysql-test/r/type_timestamp.result:
Fixed results after merge
mysql-test/r/type_uint.result:
Fixed results after merge
mysql-test/r/type_year.result:
Fixed results after merge
mysql-test/r/variables.result:
Fixed results after merge
mysql-test/r/warnings.result:
Fixed results after merge
mysql-test/t/case.test:
Fixed shifted error messages
mysql-test/t/create.test:
Fixed shifted error messages
mysql-test/t/ctype_collate.test:
Fixed shifted error messages
mysql-test/t/ctype_tis620.test:
Merge with 4.0 ctype_tis620 test
mysql-test/t/delete.test:
Fixed shifted error messages
mysql-test/t/derived.test:
Fixed shifted error messages
mysql-test/t/fulltext.test:
Fixed shifted error messages
mysql-test/t/func_in.test:
Fixed shifted error messages
mysql-test/t/func_str.test:
Fixed shifted error messages
mysql-test/t/func_test.test:
Fixed shifted error messages
mysql-test/t/grant.test:
Fixed shifted error messages
mysql-test/t/innodb.test:
Change to 4.1 syntax
mysql-test/t/key_cache.test:
Fixed shifted error messages
mysql-test/t/myisam.test:
New test of blob and end space
mysql-test/t/row.test:
Fixed shifted error messages
mysql-test/t/rpl_until.test:
Fixed shifted error messages
mysql-test/t/subselect.test:
Fixed shifted error messages
mysql-test/t/subselect_innodb.test:
Fix test to take into account foreign key constraints
mysql-test/t/union.test:
Fixed shifted error messages
mysql-test/t/user_var.test:
Fixed shifted error messages
mysql-test/t/variables.test:
Fixed shifted error messages
mysys/my_handler.c:
Merge with 4.0 code
sql/ha_heap.cc:
After merge fixes
sql/handler.cc:
After merge fixes
sql/item.cc:
After merge fixes
sql/item_cmpfunc.cc:
Ensure that we are comparing end space with BINARY strings
sql/item_cmpfunc.h:
Ensure that we are comparing end space with BINARY strings
sql/log_event.cc:
More DBUG statements
Ensure that we use all options to LOAD DATA in replication
sql/opt_range.cc:
After merge fixes
sql/sql_db.cc:
After merge fixes
sql/sql_handler.cc:
After merge fixes
Use 'any_db' instead of '' to mean 'no database comparison'
sql/sql_parse.cc:
After merge fixes
sql/sql_select.cc:
After merge fixes
Added function comment for setup_group()
sql/sql_string.cc:
Added stringcmp() for binary comparison.
Added function comments for sortcmp() and stringcmp()
sql/sql_string.h:
Added stringcmp()
sql/sql_table.cc:
After merge fixes
sql/sql_update.cc:
After merge fixes
sql/sql_yacc.yy:
Use 'any_db' instead of '' to mean any database. Using "" causes a 'wrong db name' error.
strings/ctype-big5.c:
Strip only end space, not other space characters.
strings/ctype-bin.c:
Removed some not needed functions.
Added function comments
Don't remove end space in comparisons
Change my_wildcmp_bin() to be 'identical' with other similar code
strings/ctype-czech.c:
Strip only end space, not other space characters.
strings/ctype-gbk.c:
Strip only end space, not other space characters.
strings/ctype-latin1.c:
Strip only end space, not other space characters.
strings/ctype-mb.c:
Strip only end space, not other space characters.
strings/ctype-simple.c:
Strip only end space, not other space characters.
strings/ctype-sjis.c:
Strip only end space, not other space characters.
strings/ctype-tis620.c:
Added usage of my_instr_simple. This needs to be cleaned up!
strings/ctype-utf8.c:
Strip only end space, not other space characters.
strings/ctype-win1250ch.c:
Strip only end space, not other space characters.
Fixed indentation
strings/strto.c:
Code cleanup
2004-02-16 09:03:25 +01:00
|
|
|
--error 1272
|
2003-12-17 23:52:03 +01:00
|
|
|
SELECT @@skr.storage_engine="test";
|
2003-08-02 11:43:18 +02:00
|
|
|
|
|
|
|
select @@keycache1.key_cache_block_size;
|
|
|
|
select @@keycache1.key_buffer_size;
|
|
|
|
set global keycache1.key_cache_block_size=2048;
|
|
|
|
select @@keycache1.key_buffer_size;
|
|
|
|
select @@keycache1.key_cache_block_size;
|
|
|
|
set global keycache1.key_buffer_size=1*1024*1024;
|
|
|
|
select @@keycache1.key_buffer_size;
|
|
|
|
select @@keycache1.key_cache_block_size;
|
|
|
|
set global keycache2.key_buffer_size=4*1024*1024;
|
|
|
|
select @@keycache2.key_buffer_size;
|
|
|
|
select @@keycache2.key_cache_block_size;
|
|
|
|
set global keycache1.key_buffer_size=0;
|
|
|
|
select @@keycache1.key_buffer_size;
|
|
|
|
select @@keycache1.key_cache_block_size;
|
|
|
|
select @@key_buffer_size;
|
|
|
|
select @@key_cache_block_size;
|
|
|
|
|
2003-11-18 12:47:27 +01:00
|
|
|
set global keycache1.key_buffer_size=1024*1024;
|
2003-08-02 11:43:18 +02:00
|
|
|
|
2003-11-18 12:47:27 +01:00
|
|
|
create table t1 (p int primary key, a char(10)) delay_key_write=1;
|
2003-08-02 11:43:18 +02:00
|
|
|
create table t2 (p int primary key, i int, a char(10), key k1(i), key k2(a));
|
|
|
|
|
2004-05-03 15:55:21 +02:00
|
|
|
show status like 'key_blocks_used';
|
2004-05-07 00:43:17 +02:00
|
|
|
|
|
|
|
# Following results differs on 64 and 32 bit systems because of different
|
|
|
|
# pointer sizes, which takes up different amount of space in key cache
|
|
|
|
|
2004-11-10 16:16:58 +01:00
|
|
|
--replace_result 1812 KEY_BLOCKS_UNUSED 1793 KEY_BLOCKS_UNUSED 1674 KEY_BLOCKS_UNUSED 1818 KEY_BLOCKS_UNUSED 1824 KEY_BLOCKS_UNUSED
|
2004-05-07 00:43:17 +02:00
|
|
|
show status like 'key_blocks_unused';
|
2004-05-03 15:55:21 +02:00
|
|
|
|
2003-08-02 11:43:18 +02:00
|
|
|
insert into t1 values (1, 'qqqq'), (11, 'yyyy');
|
|
|
|
insert into t2 values (1, 1, 'qqqq'), (2, 1, 'pppp'),
|
|
|
|
(3, 1, 'yyyy'), (4, 3, 'zzzz');
|
|
|
|
select * from t1;
|
|
|
|
select * from t2;
|
|
|
|
|
|
|
|
update t1 set p=2 where p=1;
|
|
|
|
update t2 set i=2 where i=1;
|
|
|
|
|
2004-05-03 15:55:21 +02:00
|
|
|
show status like 'key_blocks_used';
|
2004-11-10 16:16:58 +01:00
|
|
|
--replace_result 1808 KEY_BLOCKS_UNUSED 1789 KEY_BLOCKS_UNUSED 1670 KEY_BLOCKS_UNUSED 1814 KEY_BLOCKS_UNUSED 1820 KEY_BLOCKS_UNUSED
|
2004-05-07 00:43:17 +02:00
|
|
|
show status like 'key_blocks_unused';
|
2004-05-03 15:55:21 +02:00
|
|
|
|
preload.result, key_cache.result, preload.test, key_cache.test, sql_yacc.yy:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
sql/sql_yacc.yy:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/t/key_cache.test:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/t/preload.test:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/r/key_cache.result:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/r/preload.result:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
2004-02-02 09:19:51 +01:00
|
|
|
cache index t1 key (`primary`) in keycache1;
|
2003-08-02 11:43:18 +02:00
|
|
|
|
|
|
|
explain select p from t1;
|
|
|
|
select p from t1;
|
|
|
|
explain select i from t2;
|
|
|
|
select i from t2;
|
|
|
|
explain select count(*) from t1, t2 where t1.p = t2.i;
|
|
|
|
select count(*) from t1, t2 where t1.p = t2.i;
|
|
|
|
|
2003-11-18 12:47:27 +01:00
|
|
|
cache index t2 in keycache1;
|
2003-08-02 11:43:18 +02:00
|
|
|
update t2 set p=p+1000, i=2 where a='qqqq';
|
2003-11-18 12:47:27 +01:00
|
|
|
cache index t2 in keycache2;
|
2003-08-02 11:43:18 +02:00
|
|
|
insert into t2 values (2000, 3, 'yyyy');
|
2003-11-18 12:47:27 +01:00
|
|
|
cache index t2 in keycache1;
|
2003-08-02 11:43:18 +02:00
|
|
|
update t2 set p=3000 where a='zzzz';
|
|
|
|
select * from t2;
|
|
|
|
explain select p from t2;
|
|
|
|
select p from t2;
|
|
|
|
explain select i from t2;
|
|
|
|
select i from t2;
|
|
|
|
explain select a from t2;
|
|
|
|
select a from t2;
|
|
|
|
|
2003-11-18 12:47:27 +01:00
|
|
|
# Test some error conditions
|
After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
BitKeeper/deleted/.del-ctype_tis620.result-old~3578ceb0b8284685:
Delete: mysql-test/r/ctype_tis620.result-old
BitKeeper/deleted/.del-ctype_tis620.test-old~ffb1bbd2935d1aba:
Delete: mysql-test/t/ctype_tis620.test-old
client/mysqlbinlog.cc:
Added DBUG statements
Added call of my_end() to free all used memory on exit
heap/hp_info.c:
After merge fixes
heap/hp_open.c:
After merge fixes
include/heap.h:
After merge fixes
include/m_ctype.h:
Use pchar instead of 'int' for character parameters.
Added 'my_binary_compare()'
include/m_string.h:
Fixed wrong define
innobase/ibuf/ibuf0ibuf.c:
After merge fixes
innobase/srv/srv0start.c:
After merge fixes
mysql-test/r/alter_table.result:
Fixed results after merge
mysql-test/r/auto_increment.result:
Fixed results after merge
mysql-test/r/bdb.result:
Fixed results after merge
mysql-test/r/binary.result:
Fixed results after merge
mysql-test/r/create.result:
Fixed results after merge
mysql-test/r/ctype_mb.result:
Fixed results after merge
mysql-test/r/ctype_tis620.result:
Fixed results after merge
mysql-test/r/ctype_utf8.result:
Fixed results after merge
mysql-test/r/delete.result:
Fixed results after merge
mysql-test/r/func_compress.result:
Fixed results after merge
mysql-test/r/func_gconcat.result:
Fixed results after merge
mysql-test/r/func_group.result:
Fixed results after merge
mysql-test/r/func_str.result:
Fixed results after merge
mysql-test/r/innodb.result:
Fixed results after merge
mysql-test/r/insert.result:
Fixed results after merge
mysql-test/r/insert_select.result:
Fixed results after merge
mysql-test/r/key.result:
Fixed results after merge
mysql-test/r/loaddata.result:
Fixed results after merge
mysql-test/r/lock.result:
Fixed results after merge
mysql-test/r/myisam.result:
Fixed results after merge
mysql-test/r/null.result:
Fixed results after merge
mysql-test/r/null_key.result:
Fixed results after merge
mysql-test/r/order_by.result:
Fixed results after merge
mysql-test/r/query_cache.result:
Fixed results after merge
mysql-test/r/range.result:
Fixed results after merge
mysql-test/r/rpl_multi_delete.result:
Fixed results after merge
mysql-test/r/rpl_until.result:
Fixed results after merge
mysql-test/r/subselect.result:
Fixed results after merge
mysql-test/r/subselect_innodb.result:
Fixed results after merge
mysql-test/r/type_blob.result:
Fixed results after merge
mysql-test/r/type_datetime.result:
Fixed results after merge
mysql-test/r/type_decimal.result:
Fixed results after merge
mysql-test/r/type_enum.result:
Fixed results after merge
mysql-test/r/type_float.result:
Fixed results after merge
mysql-test/r/type_ranges.result:
Fixed results after merge
mysql-test/r/type_time.result:
Fixed results after merge
mysql-test/r/type_timestamp.result:
Fixed results after merge
mysql-test/r/type_uint.result:
Fixed results after merge
mysql-test/r/type_year.result:
Fixed results after merge
mysql-test/r/variables.result:
Fixed results after merge
mysql-test/r/warnings.result:
Fixed results after merge
mysql-test/t/case.test:
Fixed shifted error messages
mysql-test/t/create.test:
Fixed shifted error messages
mysql-test/t/ctype_collate.test:
Fixed shifted error messages
mysql-test/t/ctype_tis620.test:
Merge with 4.0 ctype_tis620 test
mysql-test/t/delete.test:
Fixed shifted error messages
mysql-test/t/derived.test:
Fixed shifted error messages
mysql-test/t/fulltext.test:
Fixed shifted error messages
mysql-test/t/func_in.test:
Fixed shifted error messages
mysql-test/t/func_str.test:
Fixed shifted error messages
mysql-test/t/func_test.test:
Fixed shifted error messages
mysql-test/t/grant.test:
Fixed shifted error messages
mysql-test/t/innodb.test:
Change to 4.1 syntax
mysql-test/t/key_cache.test:
Fixed shifted error messages
mysql-test/t/myisam.test:
New test of blob and end space
mysql-test/t/row.test:
Fixed shifted error messages
mysql-test/t/rpl_until.test:
Fixed shifted error messages
mysql-test/t/subselect.test:
Fixed shifted error messages
mysql-test/t/subselect_innodb.test:
Fix test to take into account foreign key constraints
mysql-test/t/union.test:
Fixed shifted error messages
mysql-test/t/user_var.test:
Fixed shifted error messages
mysql-test/t/variables.test:
Fixed shifted error messages
mysys/my_handler.c:
Merge with 4.0 code
sql/ha_heap.cc:
After merge fixes
sql/handler.cc:
After merge fixes
sql/item.cc:
After merge fixes
sql/item_cmpfunc.cc:
Ensure that we are comparing end space with BINARY strings
sql/item_cmpfunc.h:
Ensure that we are comparing end space with BINARY strings
sql/log_event.cc:
More DBUG statements
Ensure that we use all options to LOAD DATA in replication
sql/opt_range.cc:
After merge fixes
sql/sql_db.cc:
After merge fixes
sql/sql_handler.cc:
After merge fixes
Use 'any_db' instead of '' to mean 'no database comparison'
sql/sql_parse.cc:
After merge fixes
sql/sql_select.cc:
After merge fixes
Added function comment for setup_group()
sql/sql_string.cc:
Added stringcmp() for binary comparison.
Added function comments for sortcmp() and stringcmp()
sql/sql_string.h:
Added stringcmp()
sql/sql_table.cc:
After merge fixes
sql/sql_update.cc:
After merge fixes
sql/sql_yacc.yy:
Use 'any_db' instead of '' to mean any database. Using "" causes a 'wrong db name' error.
strings/ctype-big5.c:
Strip only end space, not other space characters.
strings/ctype-bin.c:
Removed some not needed functions.
Added function comments
Don't remove end space in comparisons
Change my_wildcmp_bin() to be 'identical' with other similar code
strings/ctype-czech.c:
Strip only end space, not other space characters.
strings/ctype-gbk.c:
Strip only end space, not other space characters.
strings/ctype-latin1.c:
Strip only end space, not other space characters.
strings/ctype-mb.c:
Strip only end space, not other space characters.
strings/ctype-simple.c:
Strip only end space, not other space characters.
strings/ctype-sjis.c:
Strip only end space, not other space characters.
strings/ctype-tis620.c:
Added usage of my_instr_simple. This needs to be cleaned up!
strings/ctype-utf8.c:
Strip only end space, not other space characters.
strings/ctype-win1250ch.c:
Strip only end space, not other space characters.
Fixed indentation
strings/strto.c:
Code cleanup
2004-02-16 09:03:25 +01:00
|
|
|
--error 1284
|
2003-11-18 12:47:27 +01:00
|
|
|
cache index t1 in unknown_key_cache;
|
preload.result, key_cache.result, preload.test, key_cache.test, sql_yacc.yy:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
sql/sql_yacc.yy:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/t/key_cache.test:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/t/preload.test:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/r/key_cache.result:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/r/preload.result:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX
2004-02-02 09:19:51 +01:00
|
|
|
cache index t1 key (unknown_key) in keycache1;
|
2003-11-18 12:47:27 +01:00
|
|
|
|
2003-08-02 11:43:18 +02:00
|
|
|
select @@keycache2.key_buffer_size;
|
|
|
|
select @@keycache2.key_cache_block_size;
|
|
|
|
set global keycache2.key_buffer_size=0;
|
|
|
|
select @@keycache2.key_buffer_size;
|
|
|
|
select @@keycache2.key_cache_block_size;
|
2003-11-18 12:47:27 +01:00
|
|
|
set global keycache2.key_buffer_size=1024*1024;
|
|
|
|
select @@keycache2.key_buffer_size;
|
2003-08-02 11:43:18 +02:00
|
|
|
|
|
|
|
update t2 set p=4000 where a='zzzz';
|
|
|
|
update t1 set p=p+1;
|
|
|
|
|
|
|
|
set global keycache1.key_buffer_size=0;
|
|
|
|
select * from t2;
|
|
|
|
select p from t2;
|
|
|
|
explain select i from t2;
|
|
|
|
select i from t2;
|
|
|
|
explain select a from t2;
|
|
|
|
select a from t2;
|
|
|
|
|
|
|
|
select * from t1;
|
|
|
|
select p from t1;
|
|
|
|
|
2003-11-18 12:47:27 +01:00
|
|
|
# Use the 'small' key cache
|
|
|
|
create table t3 (like t1);
|
|
|
|
cache index t3 in small;
|
|
|
|
insert into t3 select * from t1;
|
|
|
|
cache index t3 in keycache2;
|
|
|
|
cache index t1,t2 in default;
|
|
|
|
drop table t1,t2,t3;
|
2003-08-02 11:43:18 +02:00
|
|
|
|
2004-05-03 15:55:21 +02:00
|
|
|
show status like 'key_blocks_used';
|
2004-11-10 16:16:58 +01:00
|
|
|
--replace_result 1812 KEY_BLOCKS_UNUSED 1793 KEY_BLOCKS_UNUSED 1674 KEY_BLOCKS_UNUSED 1818 KEY_BLOCKS_UNUSED 1824 KEY_BLOCKS_UNUSED
|
2004-05-07 00:43:17 +02:00
|
|
|
show status like 'key_blocks_unused';
|
2004-05-03 15:55:21 +02:00
|
|
|
|
2006-04-19 05:57:31 +02:00
|
|
|
|
2003-11-18 12:47:27 +01:00
|
|
|
# Cleanup
|
|
|
|
# We don't reset keycache2 as we want to ensure that mysqld will reset it
|
2003-12-09 22:29:38 +01:00
|
|
|
set global keycache2.key_buffer_size=0;
|
|
|
|
|
|
|
|
# Test to set up a too small size for a key cache (bug #2064)
|
|
|
|
set global keycache3.key_buffer_size=100;
|
|
|
|
set global keycache3.key_buffer_size=0;
|
2004-11-16 22:58:49 +01:00
|
|
|
|
2006-04-19 05:57:31 +02:00
|
|
|
# Test case for bug 6447
|
2004-11-16 22:58:49 +01:00
|
|
|
|
|
|
|
create table t1 (mytext text, FULLTEXT (mytext));
|
|
|
|
insert t1 values ('aaabbb');
|
|
|
|
|
|
|
|
check table t1;
|
2006-11-15 10:23:27 +01:00
|
|
|
set @my_key_cache_block_size= @@global.key_cache_block_size;
|
2004-11-16 22:58:49 +01:00
|
|
|
set GLOBAL key_cache_block_size=2048;
|
|
|
|
check table t1;
|
|
|
|
drop table t1;
|
2006-11-15 10:23:27 +01:00
|
|
|
# Restore the changed variable value
|
|
|
|
set global key_cache_block_size= @my_key_cache_block_size;
|
2005-07-28 02:22:47 +02:00
|
|
|
|
2006-04-19 05:57:31 +02:00
|
|
|
#
|
|
|
|
# Bug #19079: corrupted index when key_cache_block_size is not multiple of
|
|
|
|
# myisam_block_size
|
|
|
|
|
|
|
|
CREATE TABLE t1(a int NOT NULL AUTO_INCREMENT PRIMARY KEY);
|
2006-11-15 10:23:27 +01:00
|
|
|
SET @my_key_cache_block_size= @@global.key_cache_block_size;
|
2006-04-19 05:57:31 +02:00
|
|
|
SET GLOBAL key_cache_block_size=1536;
|
|
|
|
INSERT INTO t1 VALUES (1);
|
|
|
|
SELECT @@key_cache_block_size;
|
|
|
|
CHECK TABLE t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
|
|
|
|
CREATE TABLE t1(a int NOT NULL AUTO_INCREMENT PRIMARY KEY, b int);
|
|
|
|
CREATE TABLE t2(a int NOT NULL AUTO_INCREMENT PRIMARY KEY, b int);
|
|
|
|
SET GLOBAL key_cache_block_size=1536;
|
|
|
|
INSERT INTO t1 VALUES (1,0);
|
|
|
|
INSERT INTO t2(b) SELECT b FROM t1;
|
|
|
|
INSERT INTO t1(b) SELECT b FROM t2;
|
|
|
|
INSERT INTO t2(b) SELECT b FROM t1;
|
|
|
|
INSERT INTO t1(b) SELECT b FROM t2;
|
|
|
|
INSERT INTO t2(b) SELECT b FROM t1;
|
|
|
|
INSERT INTO t1(b) SELECT b FROM t2;
|
|
|
|
INSERT INTO t2(b) SELECT b FROM t1;
|
|
|
|
INSERT INTO t1(b) SELECT b FROM t2;
|
|
|
|
INSERT INTO t2(b) SELECT b FROM t1;
|
|
|
|
INSERT INTO t1(b) SELECT b FROM t2;
|
|
|
|
INSERT INTO t2(b) SELECT b FROM t1;
|
|
|
|
INSERT INTO t1(b) SELECT b FROM t2;
|
|
|
|
INSERT INTO t2(b) SELECT b FROM t1;
|
|
|
|
INSERT INTO t1(b) SELECT b FROM t2;
|
|
|
|
INSERT INTO t2(b) SELECT b FROM t1;
|
|
|
|
INSERT INTO t1(b) SELECT b FROM t2;
|
|
|
|
INSERT INTO t2(b) SELECT b FROM t1;
|
|
|
|
INSERT INTO t1(b) SELECT b FROM t2;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
|
|
SELECT @@key_cache_block_size;
|
|
|
|
CHECK TABLE t1;
|
|
|
|
DROP TABLE t1,t2;
|
2006-11-15 10:23:27 +01:00
|
|
|
# Restore changed variables
|
|
|
|
set global key_cache_block_size= @my_key_cache_block_size;
|
2006-04-19 05:57:31 +02:00
|
|
|
|
2005-08-07 20:39:17 +02:00
|
|
|
#
|
|
|
|
# Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
|
|
|
|
# (One cannot drop the default key cache.)
|
|
|
|
#
|
Assorted post-merge fixes, clean-up, integration, compat with 5.6.
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).
2010-11-25 04:11:05 +01:00
|
|
|
--error ER_WARN_CANT_DROP_DEFAULT_KEYCACHE
|
2005-08-07 20:39:17 +02:00
|
|
|
set @@global.key_buffer_size=0;
|
|
|
|
select @@global.key_buffer_size;
|
|
|
|
|
2007-05-31 20:04:54 +02:00
|
|
|
#
|
|
|
|
# Bug#28478 - Improper key_cache_block_size corrupts MyISAM tables
|
|
|
|
#
|
|
|
|
SET @bug28478_key_cache_block_size= @@global.key_cache_block_size;
|
|
|
|
SET GLOBAL key_cache_block_size= 1536;
|
|
|
|
CREATE TABLE t1 (
|
|
|
|
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
|
|
c1 CHAR(150),
|
|
|
|
c2 CHAR(150),
|
|
|
|
c3 CHAR(150),
|
|
|
|
KEY(c1, c2, c3)
|
|
|
|
) ENGINE= MyISAM;
|
|
|
|
INSERT INTO t1 (c1, c2, c3) VALUES
|
|
|
|
('a', 'b', 'c'), ('b', 'c', 'd'), ('c', 'd', 'e'), ('d', 'e', 'f'),
|
|
|
|
('e', 'f', 'g'), ('f', 'g', 'h'), ('g', 'h', 'i'), ('h', 'i', 'j'),
|
|
|
|
('i', 'j', 'k'), ('j', 'k', 'l'), ('k', 'l', 'm'), ('l', 'm', 'n'),
|
|
|
|
('m', 'n', 'o'), ('n', 'o', 'p'), ('o', 'p', 'q'), ('p', 'q', 'r'),
|
|
|
|
('q', 'r', 's'), ('r', 's', 't'), ('s', 't', 'u'), ('t', 'u', 'v'),
|
|
|
|
('u', 'v', 'w'), ('v', 'w', 'x'), ('w', 'x', 'y'), ('x', 'y', 'z');
|
|
|
|
INSERT INTO t1 (c1, c2, c3) SELECT c1, c2, c3 from t1;
|
|
|
|
INSERT INTO t1 (c1, c2, c3) SELECT c1, c2, c3 from t1;
|
|
|
|
INSERT INTO t1 (c1, c2, c3) SELECT c1, c2, c3 from t1;
|
|
|
|
CHECK TABLE t1;
|
|
|
|
SHOW VARIABLES LIKE 'key_cache_block_size';
|
|
|
|
SET GLOBAL key_cache_block_size= @bug28478_key_cache_block_size;
|
|
|
|
DROP TABLE t1;
|
|
|
|
|
2005-07-28 02:22:47 +02:00
|
|
|
# End of 4.1 tests
|
2010-02-16 17:41:11 +01:00
|
|
|
|
2010-05-26 18:33:40 +02:00
|
|
|
# End of 5.1 tests
|
|
|
|
|
2010-02-16 17:41:11 +01:00
|
|
|
#
|
2010-05-26 18:33:40 +02:00
|
|
|
# Test cases for segmented key caches
|
2010-02-16 17:41:11 +01:00
|
|
|
#
|
|
|
|
|
|
|
|
# Test usage of the KEY_CACHE table from information schema
|
|
|
|
# for a simple key cache
|
|
|
|
|
|
|
|
set global key_buffer_size=@save_key_buffer_size;
|
|
|
|
set global key_cache_block_size=@save_key_cache_block_size;
|
|
|
|
select @@key_buffer_size;
|
|
|
|
select @@key_cache_block_size;
|
2010-05-26 18:33:40 +02:00
|
|
|
select @@key_cache_segments;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
create table t1 (
|
|
|
|
p int not null auto_increment primary key,
|
|
|
|
a char(10));
|
|
|
|
create table t2 (
|
|
|
|
p int not null auto_increment primary key,
|
|
|
|
i int, a char(10), key k1(i), key k2(a));
|
|
|
|
|
2010-05-26 18:33:40 +02:00
|
|
|
select @@key_cache_segments;
|
2010-02-16 17:41:11 +01:00
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
insert into t1 values (1, 'qqqq'), (2, 'yyyy');
|
|
|
|
insert into t2 values (1, 1, 'qqqq'), (2, 1, 'pppp'),
|
|
|
|
(3, 1, 'yyyy'), (4, 3, 'zzzz');
|
|
|
|
select * from t1;
|
|
|
|
select * from t2;
|
|
|
|
update t1 set p=3 where p=1;
|
|
|
|
update t2 set i=2 where i=1;
|
|
|
|
|
2010-04-07 17:05:09 +02:00
|
|
|
--replace_result 1808 KEY_BLOCKS_UNUSED 1670 KEY_BLOCKS_UNUSED 1789 KEY_BLOCKS_UNUSED
|
2010-02-16 17:41:11 +01:00
|
|
|
show status like 'key_%';
|
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
delete from t2 where a='zzzz';
|
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
delete from t1;
|
|
|
|
delete from t2;
|
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
2010-05-26 18:33:40 +02:00
|
|
|
# For the key cache with 2 segments execute the same sequence of
|
2010-02-16 17:41:11 +01:00
|
|
|
# statements as for the simple cache above.
|
|
|
|
# The statistical information on the number of i/o requests and
|
|
|
|
# the number of is expected to be the same.
|
|
|
|
|
2010-05-26 18:33:40 +02:00
|
|
|
set global key_cache_segments=2;
|
|
|
|
select @@key_cache_segments;
|
2010-02-16 17:41:11 +01:00
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
insert into t1 values (1, 'qqqq'), (2, 'yyyy');
|
|
|
|
insert into t2 values (1, 1, 'qqqq'), (2, 1, 'pppp'),
|
|
|
|
(3, 1, 'yyyy'), (4, 3, 'zzzz');
|
|
|
|
select * from t1;
|
|
|
|
select * from t2;
|
|
|
|
update t1 set p=3 where p=1;
|
|
|
|
update t2 set i=2 where i=1;
|
|
|
|
|
2010-04-07 17:05:09 +02:00
|
|
|
--replace_result 1808 KEY_BLOCKS_UNUSED 1670 KEY_BLOCKS_UNUSED 1788 KEY_BLOCKS_UNUSED
|
2010-02-16 17:41:11 +01:00
|
|
|
show status like 'key_%';
|
2010-04-01 01:37:28 +02:00
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
delete from t1;
|
|
|
|
delete from t2;
|
2010-04-01 01:37:28 +02:00
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
2010-05-26 18:33:40 +02:00
|
|
|
# Check that we can work with one segment with the same results
|
2010-02-16 17:41:11 +01:00
|
|
|
|
2010-05-26 18:33:40 +02:00
|
|
|
set global key_cache_segments=1;
|
|
|
|
select @@key_cache_segments;
|
2010-02-16 17:41:11 +01:00
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
insert into t1 values (1, 'qqqq'), (2, 'yyyy');
|
|
|
|
insert into t2 values (1, 1, 'qqqq'), (2, 1, 'pppp'),
|
|
|
|
(3, 1, 'yyyy'), (4, 3, 'zzzz');
|
|
|
|
select * from t1;
|
|
|
|
select * from t2;
|
|
|
|
update t1 set p=3 where p=1;
|
|
|
|
update t2 set i=2 where i=1;
|
|
|
|
|
2010-04-07 17:05:09 +02:00
|
|
|
--replace_result 1808 KEY_BLOCKS_UNUSED 1670 KEY_BLOCKS_UNUSED 1789 KEY_BLOCKS_UNUSED
|
2010-02-16 17:41:11 +01:00
|
|
|
show status like 'key_%';
|
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
delete from t1;
|
|
|
|
delete from t2;
|
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
flush tables; flush status;
|
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
2010-05-26 18:33:40 +02:00
|
|
|
# Switch back to 2 segments
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global key_buffer_size=32*1024;
|
|
|
|
select @@key_buffer_size;
|
2010-05-26 18:33:40 +02:00
|
|
|
set global key_cache_segments=2;
|
|
|
|
select @@key_cache_segments;
|
2010-02-16 17:41:11 +01:00
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
insert into t1 values (1, 'qqqq'), (2, 'yyyy');
|
|
|
|
insert into t2 values (1, 1, 'qqqq'), (2, 1, 'pppp'),
|
|
|
|
(3, 1, 'yyyy'), (4, 3, 'zzzz');
|
|
|
|
select * from t1;
|
|
|
|
select * from t2;
|
|
|
|
update t1 set p=3 where p=1;
|
|
|
|
update t2 set i=2 where i=1;
|
|
|
|
|
|
|
|
--replace_column 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
# Add more rows to tables t1 and t2
|
|
|
|
|
|
|
|
insert into t1(a) select a from t1;
|
|
|
|
insert into t1(a) select a from t1;
|
|
|
|
insert into t1(a) select a from t1;
|
|
|
|
insert into t1(a) select a from t1;
|
|
|
|
insert into t1(a) select a from t1;
|
|
|
|
insert into t1(a) select a from t1;
|
|
|
|
insert into t1(a) select a from t1;
|
|
|
|
insert into t1(a) select a from t1;
|
|
|
|
|
|
|
|
insert into t2(i,a) select i,a from t2;
|
|
|
|
insert into t2(i,a) select i,a from t2;
|
|
|
|
insert into t2(i,a) select i,a from t2;
|
|
|
|
insert into t2(i,a) select i,a from t2;
|
|
|
|
insert into t2(i,a) select i,a from t2;
|
|
|
|
insert into t2(i,a) select i,a from t2;
|
|
|
|
insert into t2(i,a) select i,a from t2;
|
|
|
|
insert into t2(i,a) select i,a from t2;
|
|
|
|
|
|
|
|
--replace_column 6 # 7 # 10 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
select * from t1 where p between 1010 and 1020 ;
|
|
|
|
select * from t2 where p between 1010 and 1020 ;
|
|
|
|
--replace_column 6 # 7 # 10 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
flush tables; flush status;
|
|
|
|
update t1 set a='zzzz' where a='qqqq';
|
|
|
|
update t2 set i=1 where i=2;
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
2010-05-26 18:33:40 +02:00
|
|
|
# Now test how we can work with 7 segments
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache1.key_buffer_size=256*1024;
|
|
|
|
select @@keycache1.key_buffer_size;
|
2010-05-26 18:33:40 +02:00
|
|
|
set global keycache1.key_cache_segments=7;
|
|
|
|
select @@keycache1.key_cache_segments;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
--replace_column 7 #
|
2010-04-01 01:37:28 +02:00
|
|
|
select * from information_schema.key_caches where key_cache_name like "key%"
|
2010-05-26 18:33:40 +02:00
|
|
|
and segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
cache index t1 key (`primary`) in keycache1;
|
|
|
|
|
|
|
|
explain select p from t1 where p between 1010 and 1020;
|
|
|
|
select p from t1 where p between 1010 and 1020;
|
|
|
|
explain select i from t2 where p between 1010 and 1020;
|
|
|
|
select i from t2 where p between 1010 and 1020;
|
|
|
|
explain select count(*) from t1, t2 where t1.p = t2.i;
|
|
|
|
select count(*) from t1, t2 where t1.p = t2.i;
|
|
|
|
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
--replace_column 7 #
|
2010-04-01 01:37:28 +02:00
|
|
|
select * from information_schema.key_caches where key_cache_name like "key%"
|
2010-05-26 18:33:40 +02:00
|
|
|
and segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
cache index t2 in keycache1;
|
|
|
|
update t2 set p=p+3000, i=2 where a='qqqq';
|
|
|
|
--replace_column 7 #
|
2010-04-01 01:37:28 +02:00
|
|
|
select * from information_schema.key_caches where key_cache_name like "key%"
|
2010-05-26 18:33:40 +02:00
|
|
|
and segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache2.key_buffer_size=1024*1024;
|
|
|
|
cache index t2 in keycache2;
|
|
|
|
insert into t2 values (2000, 3, 'yyyy');
|
|
|
|
--replace_column 7 #
|
2010-04-01 01:37:28 +02:00
|
|
|
select * from information_schema.key_caches where key_cache_name like "keycache2"
|
2010-05-26 18:33:40 +02:00
|
|
|
and segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
--replace_column 7 #
|
2010-04-01 01:37:28 +02:00
|
|
|
select * from information_schema.key_caches where key_cache_name like "key%"
|
2010-05-26 18:33:40 +02:00
|
|
|
and segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
cache index t2 in keycache1;
|
|
|
|
update t2 set p=p+5000 where a='zzzz';
|
|
|
|
select * from t2 where p between 1010 and 1020;
|
|
|
|
explain select p from t2 where p between 1010 and 1020;
|
|
|
|
select p from t2 where p between 1010 and 1020;
|
|
|
|
explain select i from t2 where a='yyyy' and i=3;
|
|
|
|
select i from t2 where a='yyyy' and i=3;
|
|
|
|
explain select a from t2 where a='yyyy' and i=3;
|
|
|
|
select a from t2 where a='yyyy' and i=3 ;
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache1.key_cache_block_size=2*1024;
|
|
|
|
insert into t2 values (7000, 3, 'yyyy');
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache1.key_cache_block_size=8*1024;
|
2010-04-01 23:42:40 +02:00
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
insert into t2 values (8000, 3, 'yyyy');
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache1.key_buffer_size=64*1024;
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache1.key_cache_block_size=2*1024;
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache1.key_cache_block_size=8*1024;
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache1.key_buffer_size=0;
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache1.key_cache_block_size=8*1024;
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache1.key_buffer_size=0;
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache1.key_buffer_size=128*1024;
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
set global keycache1.key_cache_block_size=1024;
|
|
|
|
--replace_column 6 # 7 #
|
2010-05-26 18:33:40 +02:00
|
|
|
select * from information_schema.key_caches where segment_number is null;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
|
|
|
drop table t1,t2;
|
|
|
|
|
|
|
|
set global keycache1.key_buffer_size=0;
|
|
|
|
set global keycache2.key_buffer_size=0;
|
|
|
|
|
|
|
|
set global key_buffer_size=@save_key_buffer_size;
|
2010-05-26 18:33:40 +02:00
|
|
|
set global key_cache_segments=@save_key_cache_segments;
|
2010-02-16 17:41:11 +01:00
|
|
|
|
2010-05-26 18:33:40 +02:00
|
|
|
# End of 5.2 tests
|