mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
1ad5bb1a69
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)
415 lines
15 KiB
Text
415 lines
15 KiB
Text
DROP TABLE IF EXISTS t1, t2, v, x;
|
|
# Actual test of key caches
|
|
# Verifing that reads/writes use the key cache correctly
|
|
SELECT @org_key_cache_buffer_size:= @@global.default.key_buffer_size;
|
|
@org_key_cache_buffer_size:= @@global.default.key_buffer_size
|
|
1048576
|
|
# Minimize default key cache (almost disabled).
|
|
SET @@global.default.key_buffer_size = 4096;
|
|
CREATE TABLE t1 (
|
|
a INT,
|
|
b INT,
|
|
c INT NOT NULL,
|
|
PRIMARY KEY (a),
|
|
KEY `inx_b` (b))
|
|
PARTITION BY RANGE (a)
|
|
SUBPARTITION BY HASH (a)
|
|
(PARTITION p0 VALUES LESS THAN (1167602410)
|
|
(SUBPARTITION sp0,
|
|
SUBPARTITION sp1),
|
|
PARTITION p1 VALUES LESS THAN MAXVALUE
|
|
(SUBPARTITION sp2,
|
|
SUBPARTITION sp3));
|
|
CREATE TABLE t2 (
|
|
a INT,
|
|
b INT,
|
|
c INT NOT NULL,
|
|
PRIMARY KEY (a),
|
|
KEY `inx_b` (b));
|
|
FLUSH TABLES;
|
|
FLUSH STATUS;
|
|
SET @a:=1167602400;
|
|
CREATE VIEW v AS SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4;
|
|
CREATE VIEW x AS SELECT 1 FROM v,v a,v b;
|
|
FLUSH STATUS;
|
|
INSERT t1 SELECT @a, @a * (1 - ((@a % 2) * 2)) , 1167612400 - (@a:=@a+1) FROM x, x y;
|
|
reads vs requests
|
|
reads == requests
|
|
writes vs requests
|
|
writes == requests
|
|
# row distribution:
|
|
SELECT PARTITION_NAME, SUBPARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA='test' and TABLE_NAME='t1';
|
|
PARTITION_NAME SUBPARTITION_NAME TABLE_ROWS
|
|
p0 sp0 5
|
|
p0 sp1 5
|
|
p1 sp2 2043
|
|
p1 sp3 2043
|
|
DROP VIEW x;
|
|
DROP VIEW v;
|
|
FLUSH TABLES;
|
|
FLUSH STATUS;
|
|
SELECT COUNT(b) FROM t1 WHERE b >= 0;
|
|
COUNT(b)
|
|
2048
|
|
Zero key reads?
|
|
No!
|
|
INSERT t2 SELECT a,b,c FROM t1;
|
|
reads vs requests
|
|
reads == requests
|
|
writes vs requests
|
|
writes == requests
|
|
FLUSH STATUS;
|
|
SELECT COUNT(b) FROM t2 WHERE b >= 0;
|
|
COUNT(b)
|
|
2048
|
|
Zero key reads?
|
|
No!
|
|
FLUSH TABLES;
|
|
# Setting the default key cache to 1M
|
|
SET GLOBAL key_buffer_size = 1024*1024;
|
|
FLUSH STATUS;
|
|
# All these have to read the indexes
|
|
LOAD INDEX INTO CACHE t1 PARTITION (p1);
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys status OK
|
|
Zero key reads?
|
|
No!
|
|
SELECT COUNT(b) FROM t1 WHERE b >= 0;
|
|
COUNT(b)
|
|
2048
|
|
Zero key reads?
|
|
No!
|
|
SELECT COUNT(b) FROM t2 WHERE b >= 0;
|
|
COUNT(b)
|
|
2048
|
|
Zero key reads?
|
|
No!
|
|
# All these should be able to use the key cache
|
|
SELECT COUNT(b) FROM t1 WHERE b >= 0;
|
|
COUNT(b)
|
|
2048
|
|
Zero key reads?
|
|
Yes!
|
|
SELECT COUNT(b) FROM t2 WHERE b >= 0;
|
|
COUNT(b)
|
|
2048
|
|
Zero key reads?
|
|
Yes!
|
|
FLUSH TABLES;
|
|
LOAD INDEX INTO CACHE t1 PARTITION (p1,p0);
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys status OK
|
|
Zero key reads?
|
|
No!
|
|
# should not be zero
|
|
SELECT COUNT(b) FROM t1 WHERE b >= 0;
|
|
COUNT(b)
|
|
2048
|
|
Zero key reads?
|
|
Yes!
|
|
LOAD INDEX INTO CACHE t2;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 preload_keys status OK
|
|
Zero key reads?
|
|
No!
|
|
# should not be zero
|
|
SELECT COUNT(b) FROM t2 WHERE b >= 0;
|
|
COUNT(b)
|
|
2048
|
|
Zero key reads?
|
|
Yes!
|
|
FLUSH TABLES;
|
|
LOAD INDEX INTO CACHE t1 PARTITION (p1,p0) IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys status OK
|
|
Zero key reads?
|
|
No!
|
|
# should not be zero
|
|
SELECT COUNT(b) FROM t1 WHERE b >= 0;
|
|
COUNT(b)
|
|
2048
|
|
Zero key reads?
|
|
No!
|
|
LOAD INDEX INTO CACHE t2 IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 preload_keys status OK
|
|
Zero key reads?
|
|
No!
|
|
# should not be zero
|
|
SELECT COUNT(b) FROM t2 WHERE b >= 0;
|
|
COUNT(b)
|
|
2048
|
|
Zero key reads?
|
|
No!
|
|
TRUNCATE TABLE t2;
|
|
INSERT t2 SELECT a,b,c FROM t1;
|
|
reads vs requests
|
|
reads != requests
|
|
writes vs requests
|
|
writes != requests
|
|
DROP TABLE t1,t2;
|
|
SET GLOBAL hot_cache.key_buffer_size = 1024*1024;
|
|
SET GLOBAL warm_cache.key_buffer_size = 1024*1024;
|
|
SET @@global.cold_cache.key_buffer_size = 1024*1024;
|
|
SELECT @@global.default.key_buffer_size a, @@global.default.key_cache_block_size b, @@global.default.key_cache_age_threshold c, @@global.default.key_cache_division_limit d;
|
|
a b c d
|
|
1048576 1024 300 100
|
|
SELECT @@global.hot_cache.key_buffer_size a, @@global.hot_cache.key_cache_block_size b, @@global.hot_cache.key_cache_age_threshold c, @@global.hot_cache.key_cache_division_limit d;
|
|
a b c d
|
|
1048576 1024 300 100
|
|
SELECT @@global.warm_cache.key_buffer_size a, @@global.warm_cache.key_cache_block_size b, @@global.warm_cache.key_cache_age_threshold c, @@global.warm_cache.key_cache_division_limit d;
|
|
a b c d
|
|
1048576 1024 300 100
|
|
SELECT @@global.cold_cache.key_buffer_size a, @@global.cold_cache.key_cache_block_size b, @@global.cold_cache.key_cache_age_threshold c, @@global.cold_cache.key_cache_division_limit d;
|
|
a b c d
|
|
1048576 1024 300 100
|
|
CREATE TABLE t1 (
|
|
a INT,
|
|
b VARCHAR(257),
|
|
c INT NOT NULL,
|
|
PRIMARY KEY (a),
|
|
KEY `inx_b` (b),
|
|
KEY `inx_c`(c))
|
|
PARTITION BY RANGE (a)
|
|
SUBPARTITION BY HASH (a)
|
|
(PARTITION p0 VALUES LESS THAN (10)
|
|
(SUBPARTITION sp0,
|
|
SUBPARTITION sp1),
|
|
PARTITION p1 VALUES LESS THAN MAXVALUE
|
|
(SUBPARTITION sp2,
|
|
SUBPARTITION sp3));
|
|
CREATE TABLE t2 (
|
|
a INT,
|
|
b VARCHAR(257),
|
|
c INT NOT NULL,
|
|
PRIMARY KEY (a),
|
|
KEY `inx_b` (b),
|
|
KEY `inx_c`(c));
|
|
SET @a:=1167602400;
|
|
CREATE VIEW v AS SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4;
|
|
CREATE VIEW x AS SELECT 1 FROM v,v a,v b;
|
|
INSERT t1 SELECT @a, CONCAT('X_', @a, ' MySQL'), 1167612400 - (@a:=@a+1) FROM x, x a;
|
|
DROP VIEW x;
|
|
DROP VIEW v;
|
|
INSERT t2 SELECT a, b, c FROM t1;
|
|
SELECT COUNT(*) FROM t1;
|
|
COUNT(*)
|
|
4096
|
|
SELECT COUNT(*) FROM t2;
|
|
COUNT(*)
|
|
4096
|
|
FLUSH TABLES;
|
|
# Restrict partitioned commands to partitioned tables only
|
|
CACHE INDEX t2 PARTITION (p0) KEY (`inx_b`) IN hot_cache;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
CACHE INDEX t2 PARTITION (p0,`p1`) INDEX (`PRIMARY`) IN hot_cache;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
CACHE INDEX t2 PARTITION (`p1`) INDEX (`PRIMARY`,`inx_b`) IN hot_cache;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
CACHE INDEX t2 PARTITION (ALL) KEY (`inx_b`,`PRIMARY`) IN hot_cache;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
# Basic key cache testing
|
|
# The manual correctly says: "The syntax of CACHE INDEX enables you to
|
|
# specify that only particular indexes from a table should be assigned
|
|
# to the cache. The current implementation assigns all the table's
|
|
# indexes to the cache, so there is no reason to specify anything
|
|
# other than the table name."
|
|
# So the most of the test only tests the syntax
|
|
CACHE INDEX t2 INDEX (`inx_b`) IN hot_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 assign_to_keycache status OK
|
|
CACHE INDEX t2 KEY (`PRIMARY`) IN warm_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 assign_to_keycache status OK
|
|
CACHE INDEX t2 KEY (`PRIMARY`,`inx_b`) IN cold_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 assign_to_keycache status OK
|
|
CACHE INDEX t2 INDEX (inx_b,`PRIMARY`) IN default;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 assign_to_keycache status OK
|
|
CACHE INDEX t1 PARTITION (p0) KEY (`inx_b`) IN cold_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache status OK
|
|
CACHE INDEX t1 PARTITIONS (p0) KEY (`inx_b`) IN cold_cache;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PARTITIONS (p0) KEY (`inx_b`) IN cold_cache' at line 1
|
|
# only one table at a time if specifying partitions
|
|
CACHE INDEX t1,t2 PARTITION (p0) KEY (`inx_b`) IN cold_cache;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PARTITION (p0) KEY (`inx_b`) IN cold_cache' at line 1
|
|
CACHE INDEX t1 PARTITION (`p0`,p1) INDEX (`PRIMARY`) IN warm_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache status OK
|
|
CACHE INDEX t1 PARTITION (`p1`) INDEX (`PRIMARY`,inx_b) IN hot_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache status OK
|
|
CACHE INDEX t1 PARTITION (ALL) KEY (`inx_b`,`PRIMARY`) IN default;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache status OK
|
|
CACHE INDEX t1 PARTITION (ALL) IN hot_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache status OK
|
|
CACHE INDEX t1 INDEX (`inx_b`) IN default;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache status OK
|
|
CACHE INDEX t1 KEY (`PRIMARY`) IN hot_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache status OK
|
|
CACHE INDEX t1 KEY (`PRIMARY`,`inx_b`) IN warm_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache status OK
|
|
CACHE INDEX t1 INDEX (`inx_b`,`PRIMARY`) IN cold_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache status OK
|
|
CACHE INDEX t1 IN hot_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache status OK
|
|
# Test of non existent key cache:
|
|
CACHE INDEX t1 IN non_existent_key_cache;
|
|
ERROR HY000: Unknown key cache 'non_existent_key_cache'
|
|
# Basic testing of LOAD INDEX
|
|
LOAD INDEX INTO CACHE t2;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 preload_keys status OK
|
|
# PRIMARY and secondary keys have different block sizes
|
|
LOAD INDEX INTO CACHE t2 ignore leaves;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 preload_keys error Indexes use different block sizes
|
|
test.t2 preload_keys status Operation failed
|
|
# Must have INDEX or KEY before the index list
|
|
LOAD INDEX INTO CACHE t2 (`PRIMARY`);
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(`PRIMARY`)' at line 1
|
|
# Test of IGNORE LEAVES
|
|
LOAD INDEX INTO CACHE t2 INDEX (`PRIMARY`);
|
|
Table Op Msg_type Msg_text
|
|
test.t2 preload_keys status OK
|
|
LOAD INDEX INTO CACHE t2 KEY (`PRIMARY`,`inx_b`) IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 preload_keys error Indexes use different block sizes
|
|
test.t2 preload_keys status Operation failed
|
|
CACHE INDEX t2 IN warm_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 assign_to_keycache status OK
|
|
CACHE INDEX t1 IN cold_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache status OK
|
|
LOAD INDEX INTO CACHE t2 KEY (`PRIMARY`) IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 preload_keys error Indexes use different block sizes
|
|
test.t2 preload_keys status Operation failed
|
|
CACHE INDEX t2 INDEX (`inx_b`, `inx_c`) IN hot_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 assign_to_keycache status OK
|
|
LOAD INDEX INTO CACHE t2 KEY (`inx_b`, `inx_c`) IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 preload_keys error Indexes use different block sizes
|
|
test.t2 preload_keys status Operation failed
|
|
CACHE INDEX t2 IN warm_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 assign_to_keycache status OK
|
|
CACHE INDEX t2 INDEX (`PRIMARY`, `inx_c`) IN hot_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 assign_to_keycache status OK
|
|
LOAD INDEX INTO CACHE t2 KEY (`PRIMARY`,`inx_c`) IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 preload_keys error Indexes use different block sizes
|
|
test.t2 preload_keys status Operation failed
|
|
CACHE INDEX t2 INDEX (`inx_b`,`PRIMARY`) IN default;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 assign_to_keycache status OK
|
|
LOAD INDEX INTO CACHE t2 KEY (`PRIMARY`,`inx_b`);
|
|
Table Op Msg_type Msg_text
|
|
test.t2 preload_keys status OK
|
|
CACHE INDEX t2 IN default;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 assign_to_keycache status OK
|
|
LOAD INDEX INTO CACHE t2 IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 preload_keys error Indexes use different block sizes
|
|
test.t2 preload_keys status Operation failed
|
|
LOAD INDEX INTO CACHE t2 PARTITION (p1) INDEX (`PRIMARY`);
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
LOAD INDEX INTO CACHE t1, t2;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys status OK
|
|
test.t2 preload_keys status OK
|
|
# only one table at a time if specifying partitions
|
|
LOAD INDEX INTO CACHE t1 PARTITION (p0), t2;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' t2' at line 1
|
|
LOAD INDEX INTO CACHE t1 IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys error Indexes use different block sizes
|
|
test.t1 preload_keys error Subpartition sp2 returned error
|
|
test.t1 preload_keys status Operation failed
|
|
LOAD INDEX INTO CACHE t1 INDEX (`PRIMARY`);
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys status OK
|
|
LOAD INDEX INTO CACHE t1 INDEX (`PRIMARY`,`inx_b`) IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys error Indexes use different block sizes
|
|
test.t1 preload_keys error Subpartition sp2 returned error
|
|
test.t1 preload_keys status Operation failed
|
|
LOAD INDEX INTO CACHE t1 INDEX (`inx_b`) IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys error Indexes use different block sizes
|
|
test.t1 preload_keys error Subpartition sp2 returned error
|
|
test.t1 preload_keys status Operation failed
|
|
LOAD INDEX INTO CACHE t1 INDEX (`PRIMARY`) IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys error Indexes use different block sizes
|
|
test.t1 preload_keys error Subpartition sp2 returned error
|
|
test.t1 preload_keys status Operation failed
|
|
LOAD INDEX INTO CACHE t1 INDEX (`PRIMARY`,`inx_b`);
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys status OK
|
|
LOAD INDEX INTO CACHE t1 PARTITION (p1) INDEX (`PRIMARY`);
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys status OK
|
|
LOAD INDEX INTO CACHE t1 PARTITION (`p1`,p0) KEY (`PRIMARY`) IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys error Indexes use different block sizes
|
|
test.t1 preload_keys error Subpartition sp2 returned error
|
|
test.t1 preload_keys status Operation failed
|
|
LOAD INDEX INTO CACHE t1 PARTITION (ALL);
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys status OK
|
|
LOAD INDEX INTO CACHE t1 PARTITIONS ALL;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PARTITIONS ALL' at line 1
|
|
LOAD INDEX INTO CACHE t1 PARTITION (p1,`p0`) IGNORE LEAVES;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 preload_keys error Indexes use different block sizes
|
|
test.t1 preload_keys error Subpartition sp2 returned error
|
|
test.t1 preload_keys status Operation failed
|
|
DROP INDEX `inx_b` on t1;
|
|
DROP INDEX `inx_b` on t2;
|
|
CACHE INDEX t2 PARTITION (p0) KEY (`inx_b`) IN hot_cache;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
CACHE INDEX t2 INDEX (`inx_b`) IN hot_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 assign_to_keycache Error Key 'inx_b' doesn't exist in table 't2'
|
|
test.t2 assign_to_keycache status Operation failed
|
|
CACHE INDEX t1 PARTITION (p0) KEY (`inx_b`) IN hot_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache error Subpartition sp0 returned error
|
|
test.t1 assign_to_keycache Error Key 'inx_b' doesn't exist in table 't1'
|
|
test.t1 assign_to_keycache status Operation failed
|
|
CACHE INDEX t1 INDEX (`inx_b`) IN hot_cache;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 assign_to_keycache error Subpartition sp0 returned error
|
|
test.t1 assign_to_keycache Error Key 'inx_b' doesn't exist in table 't1'
|
|
test.t1 assign_to_keycache status Operation failed
|
|
DROP TABLE t1,t2;
|
|
SET GLOBAL hot_cache.key_buffer_size = 0;
|
|
SET GLOBAL warm_cache.key_buffer_size = 0;
|
|
SET @@global.cold_cache.key_buffer_size = 0;
|
|
SELECT @@global.default.key_buffer_size a, @@global.default.key_cache_block_size b, @@global.default.key_cache_age_threshold c, @@global.default.key_cache_division_limit d;
|
|
a b c d
|
|
1048576 1024 300 100
|
|
SELECT @@global.hot_cache.key_buffer_size a, @@global.hot_cache.key_cache_block_size b, @@global.hot_cache.key_cache_age_threshold c, @@global.hot_cache.key_cache_division_limit d;
|
|
a b c d
|
|
0 1024 300 100
|
|
SELECT @@global.warm_cache.key_buffer_size a, @@global.warm_cache.key_cache_block_size b, @@global.warm_cache.key_cache_age_threshold c, @@global.warm_cache.key_cache_division_limit d;
|
|
a b c d
|
|
0 1024 300 100
|
|
SELECT @@global.cold_cache.key_buffer_size a, @@global.cold_cache.key_cache_block_size b, @@global.cold_cache.key_cache_age_threshold c, @@global.cold_cache.key_cache_division_limit d;
|
|
a b c d
|
|
0 1024 300 100
|
|
SET @@global.default.key_buffer_size = @org_key_cache_buffer_size;
|