diff --git a/mysql-test/r/mysqld--help-notwin.result b/mysql-test/r/mysqld--help-notwin.result index ba87c3b6b23e..9e2a66b307fa 100644 --- a/mysql-test/r/mysqld--help-notwin.result +++ b/mysql-test/r/mysqld--help-notwin.result @@ -2144,9 +2144,6 @@ The following options may be given as the first argument: (Defaults to on; use --skip-rocksdb-is-fd-close-on-exec to disable.) --rocksdb-keep-log-file-num=# DBOptions::keep_log_file_num for RocksDB - --rocksdb-large-prefix - Support large index prefix length of 3072 bytes. If off, - the maximum index prefix length is 767. --rocksdb-live-files-metadata[=name] Enable or disable ROCKSDB_LIVE_FILES_METADATA plugin. Possible values are ON, OFF, FORCE (don't start if the @@ -3661,7 +3658,6 @@ rocksdb-info-log-level error_level rocksdb-io-write-timeout 0 rocksdb-is-fd-close-on-exec TRUE rocksdb-keep-log-file-num 1000 -rocksdb-large-prefix FALSE rocksdb-live-files-metadata ON rocksdb-lock-scanned-rows FALSE rocksdb-lock-wait-timeout 1 diff --git a/mysql-test/suite/rocksdb/r/dup_key_update.result b/mysql-test/suite/rocksdb/r/dup_key_update.result index a5a7297a9714..eb587fc345fe 100644 --- a/mysql-test/suite/rocksdb/r/dup_key_update.result +++ b/mysql-test/suite/rocksdb/r/dup_key_update.result @@ -1,5 +1,3 @@ -DROP TABLE IF EXISTS t1; -DROP TABLE IF EXISTS t2; CREATE TABLE t1 (id1 INT, id2 INT, id3 INT, PRIMARY KEY (id1, id2, id3), UNIQUE KEY (id3, id1)) ENGINE=ROCKSDB; @@ -178,7 +176,6 @@ id1 id2 id3 9 17 9 DROP TABLE t1; DROP TABLE t2; -set global rocksdb_large_prefix=1; CREATE TABLE t1 (id1 varchar(128) CHARACTER SET latin1 COLLATE latin1_bin, id2 varchar(256) CHARACTER SET utf8 COLLATE utf8_bin, id3 varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci, @@ -187,8 +184,6 @@ UNIQUE KEY (id3, id1)) ENGINE=ROCKSDB; Warnings: Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. Warning 3778 'utf8mb3_bin' is a collation of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation instead. -set global rocksdb_large_prefix=DEFAULT; -set global rocksdb_large_prefix=1; CREATE TABLE t2 (id1 varchar(128) CHARACTER SET latin1 COLLATE latin1_bin, id2 varchar(256) CHARACTER SET utf8 COLLATE utf8_bin, id3 varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci, @@ -197,7 +192,6 @@ UNIQUE KEY (id3, id1) COMMENT 'rev:cf') ENGINE=ROCKSDB; Warnings: Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. Warning 3778 'utf8mb3_bin' is a collation of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation instead. -set global rocksdb_large_prefix=DEFAULT; INSERT INTO t1 VALUES (1, 1, 1) ON DUPLICATE KEY UPDATE id2 = 9; SELECT * FROM t1 WHERE id1 = 1; id1 id2 id3 diff --git a/mysql-test/suite/rocksdb/r/early_load_rocksdb_plugin.result b/mysql-test/suite/rocksdb/r/early_load_rocksdb_plugin.result index 54fd72cd0897..5ffd1f11f0a3 100644 --- a/mysql-test/suite/rocksdb/r/early_load_rocksdb_plugin.result +++ b/mysql-test/suite/rocksdb/r/early_load_rocksdb_plugin.result @@ -9,6 +9,10 @@ # # Restarting the server # restart +# +# Error log checks +# include/assert_grep.inc [Check RocksDB:Init column families] include/assert_grep.inc [Check Data dictionary initializing] +include/assert_grep.inc [disabling rocksdb_large_prefix is not allowed with MySQL data dictionary in MyRocks] # Remove data dir and log file. diff --git a/mysql-test/suite/rocksdb/r/index.result b/mysql-test/suite/rocksdb/r/index.result index fa0376918fbe..573e45670301 100644 --- a/mysql-test/suite/rocksdb/r/index.result +++ b/mysql-test/suite/rocksdb/r/index.result @@ -40,20 +40,6 @@ t1 0 PRIMARY 1 pk A # NULL NULL SE_SPECIFIC YES NULL t1 1 a 1 a A # NULL NULL YES SE_SPECIFIC simple index on a YES NULL ALTER TABLE t1 DROP KEY a; DROP TABLE t1; -set global rocksdb_large_prefix=0; -CREATE TABLE t1 ( -a BLOB(1024), -KEY (a(767)) -) ENGINE=rocksdb; -DROP TABLE t1; -CREATE TABLE t1 ( -a BLOB(1024), -KEY (a(768)) -) ENGINE=rocksdb; -Warnings: -Warning 1071 Specified key was too long; max key length is 767 bytes -DROP TABLE t1; -set global rocksdb_large_prefix=1; CREATE TABLE t1 ( a BLOB(4096), KEY (a(3072)) @@ -66,7 +52,6 @@ KEY (a(3073)) Warnings: Warning 1071 Specified key was too long; max key length is 3072 bytes DROP TABLE t1; -set global rocksdb_large_prefix=DEFAULT; # # Issue #376: MyRocks: ORDER BY optimizer is unable to use the index extension # diff --git a/mysql-test/suite/rocksdb/r/index_primary.result b/mysql-test/suite/rocksdb/r/index_primary.result index 41dc7360e4da..3d15ad84eb4f 100644 --- a/mysql-test/suite/rocksdb/r/index_primary.result +++ b/mysql-test/suite/rocksdb/r/index_primary.result @@ -46,18 +46,6 @@ SHOW KEYS IN t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Visible Expression t1 0 PRIMARY 1 b A # NULL NULL SE_SPECIFIC YES NULL DROP TABLE t1; -set global rocksdb_large_prefix=0; -CREATE TABLE t1 ( -a BLOB(1024), -PRIMARY KEY (a(767)) -) ENGINE=rocksdb; -DROP TABLE t1; -CREATE TABLE t1 ( -a BLOB(1024), -PRIMARY KEY (a(768)) -) ENGINE=rocksdb; -ERROR 42000: Specified key was too long; max key length is 767 bytes -set global rocksdb_large_prefix=1; CREATE TABLE t1 ( a BLOB(4096), PRIMARY KEY (a(3072)) @@ -68,4 +56,3 @@ a BLOB(4096), PRIMARY KEY (a(3073)) ) ENGINE=rocksdb; ERROR 42000: Specified key was too long; max key length is 3072 bytes -set global rocksdb_large_prefix=DEFAULT; diff --git a/mysql-test/suite/rocksdb/r/index_type_btree.result b/mysql-test/suite/rocksdb/r/index_type_btree.result index 999d29ca4046..ba277f2b6774 100644 --- a/mysql-test/suite/rocksdb/r/index_type_btree.result +++ b/mysql-test/suite/rocksdb/r/index_type_btree.result @@ -49,20 +49,6 @@ t1 0 PRIMARY 1 pk A # NULL NULL SE_SPECIFIC YES NULL t1 1 a 1 a A # NULL NULL YES SE_SPECIFIC simple index on a YES NULL ALTER TABLE t1 DROP KEY a; DROP TABLE t1; -set global rocksdb_large_prefix=0; -CREATE TABLE t1 ( -a BLOB(1024), -KEY (a(767)) -) ENGINE=rocksdb; -DROP TABLE t1; -CREATE TABLE t1 ( -a BLOB(1024), -KEY (a(768)) -) ENGINE=rocksdb; -Warnings: -Warning 1071 Specified key was too long; max key length is 767 bytes -DROP TABLE t1; -set global rocksdb_large_prefix=1; CREATE TABLE t1 ( a BLOB(4096), KEY (a(3072)) @@ -75,4 +61,3 @@ KEY (a(3073)) Warnings: Warning 1071 Specified key was too long; max key length is 3072 bytes DROP TABLE t1; -set global rocksdb_large_prefix=DEFAULT; diff --git a/mysql-test/suite/rocksdb/r/index_type_hash.result b/mysql-test/suite/rocksdb/r/index_type_hash.result index 49cee0bd5719..4b3a56602c94 100644 --- a/mysql-test/suite/rocksdb/r/index_type_hash.result +++ b/mysql-test/suite/rocksdb/r/index_type_hash.result @@ -49,20 +49,6 @@ t1 0 PRIMARY 1 pk A # NULL NULL SE_SPECIFIC YES NULL t1 1 a 1 a A # NULL NULL YES SE_SPECIFIC simple index on a YES NULL ALTER TABLE t1 DROP KEY a; DROP TABLE t1; -set global rocksdb_large_prefix=0; -CREATE TABLE t1 ( -a BLOB(1024), -KEY (a(767)) -) ENGINE=rocksdb; -DROP TABLE t1; -CREATE TABLE t1 ( -a BLOB(1024), -KEY (a(768)) -) ENGINE=rocksdb; -Warnings: -Warning 1071 Specified key was too long; max key length is 767 bytes -DROP TABLE t1; -set global rocksdb_large_prefix=1; CREATE TABLE t1 ( a BLOB(4096), KEY (a(3072)) @@ -75,4 +61,3 @@ KEY (a(3073)) Warnings: Warning 1071 Specified key was too long; max key length is 3072 bytes DROP TABLE t1; -set global rocksdb_large_prefix=DEFAULT; diff --git a/mysql-test/suite/rocksdb/r/rocksdb.result b/mysql-test/suite/rocksdb/r/rocksdb.result index a2da4795ac8c..98268829dfca 100644 --- a/mysql-test/suite/rocksdb/r/rocksdb.result +++ b/mysql-test/suite/rocksdb/r/rocksdb.result @@ -992,7 +992,6 @@ rocksdb_index_type kBinarySearch rocksdb_info_log_level error_level rocksdb_is_fd_close_on_exec ON rocksdb_keep_log_file_num 1000 -rocksdb_large_prefix OFF rocksdb_lock_scanned_rows OFF rocksdb_lock_wait_timeout 1 rocksdb_log_file_time_to_roll 0 @@ -2512,16 +2511,10 @@ id select * from t1 where id=9 for update; id drop table t1; -#Index on blob column -SET @old_mode = @@sql_mode; -SET sql_mode = 'strict_all_tables'; -Warnings: -Warning 3135 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release. +# Index on blob column create table t1 (a int, b text, c varchar(400), Primary Key(a), Key(c, b(255))) ENGINE=rocksdb CHARSET=latin1; drop table t1; -set global rocksdb_large_prefix=1; create table t1 (a int, b text, c varchar(400), Primary Key(a), Key(b(1255))) ENGINE=rocksdb CHARSET=latin1; -set global rocksdb_large_prefix=0; insert into t1 values (1, '1abcde', '1abcde'), (2, '2abcde', '2abcde'), (3, '3abcde', '3abcde'); select * from t1; a b c @@ -2545,9 +2538,6 @@ a b c 2 12345 2abcde 3 3abcde 3abcde drop table t1; -create table t1 (a int, b text, c varchar(400), Primary Key(a), Key(b(2255))) ENGINE=rocksdb CHARSET=latin1; -ERROR 42000: Specified key was too long; max key length is 767 bytes -SET sql_mode = @old_mode; drop table t0; # # Fix assertion failure (attempt to overrun the key buffer) for prefix indexes diff --git a/mysql-test/suite/rocksdb/t/dup_key_update.test b/mysql-test/suite/rocksdb/t/dup_key_update.test index a163e64fc530..5a557c022938 100644 --- a/mysql-test/suite/rocksdb/t/dup_key_update.test +++ b/mysql-test/suite/rocksdb/t/dup_key_update.test @@ -2,11 +2,6 @@ # Test insert ... on duplicate key update statements ---disable_warnings -DROP TABLE IF EXISTS t1; -DROP TABLE IF EXISTS t2; ---enable_warnings - CREATE TABLE t1 (id1 INT, id2 INT, id3 INT, PRIMARY KEY (id1, id2, id3), UNIQUE KEY (id3, id1)) ENGINE=ROCKSDB; @@ -15,28 +10,23 @@ CREATE TABLE t2 (id1 INT, id2 INT, id3 INT, PRIMARY KEY (id1, id2, id3), UNIQUE KEY (id3, id1) COMMENT 'rev:cf') ENGINE=ROCKSDB; - --source suite/rocksdb/include/dup_key_update.inc # Cleanup DROP TABLE t1; DROP TABLE t2; -set global rocksdb_large_prefix=1; CREATE TABLE t1 (id1 varchar(128) CHARACTER SET latin1 COLLATE latin1_bin, id2 varchar(256) CHARACTER SET utf8 COLLATE utf8_bin, id3 varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci, PRIMARY KEY (id1, id2, id3), UNIQUE KEY (id3, id1)) ENGINE=ROCKSDB; -set global rocksdb_large_prefix=DEFAULT; -set global rocksdb_large_prefix=1; CREATE TABLE t2 (id1 varchar(128) CHARACTER SET latin1 COLLATE latin1_bin, id2 varchar(256) CHARACTER SET utf8 COLLATE utf8_bin, id3 varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci, PRIMARY KEY (id1, id2, id3), UNIQUE KEY (id3, id1) COMMENT 'rev:cf') ENGINE=ROCKSDB; -set global rocksdb_large_prefix=DEFAULT; --source suite/rocksdb/include/dup_key_update.inc diff --git a/mysql-test/suite/rocksdb/t/early_load_rocksdb_plugin.test b/mysql-test/suite/rocksdb/t/early_load_rocksdb_plugin.test index 10fdd3ef7fb6..b8ce15b6f87b 100644 --- a/mysql-test/suite/rocksdb/t/early_load_rocksdb_plugin.test +++ b/mysql-test/suite/rocksdb/t/early_load_rocksdb_plugin.test @@ -18,6 +18,7 @@ let extra_args=--no-defaults --basedir=$BASEDIR --debug=+d,ddse_rocksdb; --echo # Try --initialize --echo # + --echo # Run the server with --initialize --exec $MYSQLD $extra_args --initialize --default_dd_storage_engine=RocksDB --datadir=$DDIR --log-error-verbosity=3 > $MYSQLD_LOG 2>&1 @@ -29,6 +30,9 @@ let extra_args=--no-defaults --basedir=$BASEDIR --debug=+d,ddse_rocksdb; --echo # Restarting the server --source include/start_mysqld.inc +--echo # +--echo # Error log checks +--echo # --let $assert_file = $MYSQLD_LOG --let $assert_count = 1 @@ -41,5 +45,8 @@ let extra_args=--no-defaults --basedir=$BASEDIR --debug=+d,ddse_rocksdb; --let $assert_only_after = Check RocksDB:Init column families --source include/assert_grep.inc +--let $assert_text=disabling rocksdb_large_prefix is not allowed with MySQL data dictionary in MyRocks +--source include/assert_grep.inc + --echo # Remove data dir and log file. --remove_file $MYSQLD_LOG diff --git a/mysql-test/suite/rocksdb/t/index.inc b/mysql-test/suite/rocksdb/t/index.inc index 046f83cdb1be..1babda850827 100644 --- a/mysql-test/suite/rocksdb/t/index.inc +++ b/mysql-test/suite/rocksdb/t/index.inc @@ -119,26 +119,6 @@ DROP TABLE t1; --enable_testcase -# -# Test index prefix length limits. -# -set global rocksdb_large_prefix=0; - -CREATE TABLE t1 ( - a BLOB(1024), - KEY (a(767)) -) ENGINE=rocksdb; -DROP TABLE t1; - -# Should display warning -CREATE TABLE t1 ( - a BLOB(1024), - KEY (a(768)) -) ENGINE=rocksdb; -DROP TABLE t1; - -set global rocksdb_large_prefix=1; - CREATE TABLE t1 ( a BLOB(4096), KEY (a(3072)) @@ -151,5 +131,3 @@ CREATE TABLE t1 ( KEY (a(3073)) ) ENGINE=rocksdb; DROP TABLE t1; - -set global rocksdb_large_prefix=DEFAULT; diff --git a/mysql-test/suite/rocksdb/t/index_primary.test b/mysql-test/suite/rocksdb/t/index_primary.test index 5dcfbaa8d3bc..aba72258ac44 100644 --- a/mysql-test/suite/rocksdb/t/index_primary.test +++ b/mysql-test/suite/rocksdb/t/index_primary.test @@ -62,25 +62,6 @@ ALTER TABLE t1 ADD CONSTRAINT PRIMARY KEY pk (a); SHOW KEYS IN t1; DROP TABLE t1; -# -# Test index prefix length limits. -# -set global rocksdb_large_prefix=0; - -CREATE TABLE t1 ( - a BLOB(1024), - PRIMARY KEY (a(767)) -) ENGINE=rocksdb; -DROP TABLE t1; - ---error ER_TOO_LONG_KEY -CREATE TABLE t1 ( - a BLOB(1024), - PRIMARY KEY (a(768)) -) ENGINE=rocksdb; - -set global rocksdb_large_prefix=1; - CREATE TABLE t1 ( a BLOB(4096), PRIMARY KEY (a(3072)) @@ -92,5 +73,3 @@ CREATE TABLE t1 ( a BLOB(4096), PRIMARY KEY (a(3073)) ) ENGINE=rocksdb; - -set global rocksdb_large_prefix=DEFAULT; diff --git a/mysql-test/suite/rocksdb/t/rocksdb.test b/mysql-test/suite/rocksdb/t/rocksdb.test index fcb2d28d884e..0f45700ebc69 100644 --- a/mysql-test/suite/rocksdb/t/rocksdb.test +++ b/mysql-test/suite/rocksdb/t/rocksdb.test @@ -1669,14 +1669,10 @@ select * from t1 where id=9 for update; -- disconnect con1 drop table t1; ---echo #Index on blob column -SET @old_mode = @@sql_mode; -SET sql_mode = 'strict_all_tables'; +--echo # Index on blob column create table t1 (a int, b text, c varchar(400), Primary Key(a), Key(c, b(255))) ENGINE=rocksdb CHARSET=latin1; drop table t1; -set global rocksdb_large_prefix=1; create table t1 (a int, b text, c varchar(400), Primary Key(a), Key(b(1255))) ENGINE=rocksdb CHARSET=latin1; -set global rocksdb_large_prefix=0; insert into t1 values (1, '1abcde', '1abcde'), (2, '2abcde', '2abcde'), (3, '3abcde', '3abcde'); select * from t1; --replace_column 10 # 11 # @@ -1686,9 +1682,6 @@ explain select b, a from t1 where b like '1%'; update t1 set b= '12345' where b = '2abcde'; select * from t1; drop table t1; ---error ER_TOO_LONG_KEY -create table t1 (a int, b text, c varchar(400), Primary Key(a), Key(b(2255))) ENGINE=rocksdb CHARSET=latin1; -SET sql_mode = @old_mode; drop table t0; diff --git a/mysql-test/suite/rocksdb_sys_vars/r/rocksdb_large_prefix_basic.result b/mysql-test/suite/rocksdb_sys_vars/r/rocksdb_large_prefix_basic.result deleted file mode 100644 index 89697683d1c9..000000000000 --- a/mysql-test/suite/rocksdb_sys_vars/r/rocksdb_large_prefix_basic.result +++ /dev/null @@ -1,64 +0,0 @@ -CREATE TABLE valid_values (value varchar(255)) ENGINE=myisam; -INSERT INTO valid_values VALUES(1); -INSERT INTO valid_values VALUES(0); -INSERT INTO valid_values VALUES('on'); -CREATE TABLE invalid_values (value varchar(255)) ENGINE=myisam; -INSERT INTO invalid_values VALUES('\'aaa\''); -INSERT INTO invalid_values VALUES('\'bbb\''); -SET @start_global_value = @@global.ROCKSDB_LARGE_PREFIX; -SELECT @start_global_value; -@start_global_value -0 -'# Setting to valid values in global scope#' -"Trying to set variable @@global.ROCKSDB_LARGE_PREFIX to 1" -SET @@global.ROCKSDB_LARGE_PREFIX = 1; -SELECT @@global.ROCKSDB_LARGE_PREFIX; -@@global.ROCKSDB_LARGE_PREFIX -1 -"Setting the global scope variable back to default" -SET @@global.ROCKSDB_LARGE_PREFIX = DEFAULT; -SELECT @@global.ROCKSDB_LARGE_PREFIX; -@@global.ROCKSDB_LARGE_PREFIX -0 -"Trying to set variable @@global.ROCKSDB_LARGE_PREFIX to 0" -SET @@global.ROCKSDB_LARGE_PREFIX = 0; -SELECT @@global.ROCKSDB_LARGE_PREFIX; -@@global.ROCKSDB_LARGE_PREFIX -0 -"Setting the global scope variable back to default" -SET @@global.ROCKSDB_LARGE_PREFIX = DEFAULT; -SELECT @@global.ROCKSDB_LARGE_PREFIX; -@@global.ROCKSDB_LARGE_PREFIX -0 -"Trying to set variable @@global.ROCKSDB_LARGE_PREFIX to on" -SET @@global.ROCKSDB_LARGE_PREFIX = on; -SELECT @@global.ROCKSDB_LARGE_PREFIX; -@@global.ROCKSDB_LARGE_PREFIX -1 -"Setting the global scope variable back to default" -SET @@global.ROCKSDB_LARGE_PREFIX = DEFAULT; -SELECT @@global.ROCKSDB_LARGE_PREFIX; -@@global.ROCKSDB_LARGE_PREFIX -0 -"Trying to set variable @@session.ROCKSDB_LARGE_PREFIX to 444. It should fail because it is not session." -SET @@session.ROCKSDB_LARGE_PREFIX = 444; -ERROR HY000: Variable 'rocksdb_large_prefix' is a GLOBAL variable and should be set with SET GLOBAL -'# Testing with invalid values in global scope #' -"Trying to set variable @@global.ROCKSDB_LARGE_PREFIX to 'aaa'" -SET @@global.ROCKSDB_LARGE_PREFIX = 'aaa'; -Got one of the listed errors -SELECT @@global.ROCKSDB_LARGE_PREFIX; -@@global.ROCKSDB_LARGE_PREFIX -0 -"Trying to set variable @@global.ROCKSDB_LARGE_PREFIX to 'bbb'" -SET @@global.ROCKSDB_LARGE_PREFIX = 'bbb'; -Got one of the listed errors -SELECT @@global.ROCKSDB_LARGE_PREFIX; -@@global.ROCKSDB_LARGE_PREFIX -0 -SET @@global.ROCKSDB_LARGE_PREFIX = @start_global_value; -SELECT @@global.ROCKSDB_LARGE_PREFIX; -@@global.ROCKSDB_LARGE_PREFIX -0 -DROP TABLE valid_values; -DROP TABLE invalid_values; diff --git a/mysql-test/suite/rocksdb_sys_vars/t/rocksdb_large_prefix_basic.test b/mysql-test/suite/rocksdb_sys_vars/t/rocksdb_large_prefix_basic.test deleted file mode 100644 index 5ed3c74131ea..000000000000 --- a/mysql-test/suite/rocksdb_sys_vars/t/rocksdb_large_prefix_basic.test +++ /dev/null @@ -1,18 +0,0 @@ ---source include/have_rocksdb.inc - -CREATE TABLE valid_values (value varchar(255)) ENGINE=myisam; -INSERT INTO valid_values VALUES(1); -INSERT INTO valid_values VALUES(0); -INSERT INTO valid_values VALUES('on'); - -CREATE TABLE invalid_values (value varchar(255)) ENGINE=myisam; -INSERT INTO invalid_values VALUES('\'aaa\''); -INSERT INTO invalid_values VALUES('\'bbb\''); - ---let $sys_var=ROCKSDB_LARGE_PREFIX ---let $read_only=0 ---let $session=0 ---source ../include/rocksdb_sys_var.inc - -DROP TABLE valid_values; -DROP TABLE invalid_values; diff --git a/share/messages_to_clients.txt b/share/messages_to_clients.txt index 6fc3d553c7aa..76a7536c7b57 100644 --- a/share/messages_to_clients.txt +++ b/share/messages_to_clients.txt @@ -10767,6 +10767,9 @@ ER_THRIFT_PLACEHOLDER_50136 ER_RDB_TTL_WRITES_WITH_STALE_SNAPSHOT eng "Can't execute writes with a stale snapshot on a TTL enabled table when rocksdb_binlog_ttl = 1. Retry the transaction to refresh the snapshot." +OBSOLETE_ER_RDB_DDSE_CANNOT_DISABLE_LARGE_PREFIX + eng "Can't disable rocksdb_large_prefix when MyRocks is the MySQL data dictionary engine" + # # End of 8.0 FB MySQL error messages. # (Please read comments from the header of this section before adding error diff --git a/storage/rocksdb/ha_rocksdb.cc b/storage/rocksdb/ha_rocksdb.cc index 9247e671ab71..7d495d7706bc 100644 --- a/storage/rocksdb/ha_rocksdb.cc +++ b/storage/rocksdb/ha_rocksdb.cc @@ -61,6 +61,7 @@ #include "sql/sql_partition.h" #include "sql/sql_table.h" #include "sql/sql_thd_internal_api.h" +#include "sql/strfunc.h" /* RocksDB includes */ #include "env/composite_env_wrapper.h" @@ -929,7 +930,6 @@ static unsigned long long rocksdb_table_stats_max_num_rows_scanned = 0ul; static bool rocksdb_enable_bulk_load_api = 1; static bool rocksdb_enable_remove_orphaned_dropped_cfs = 1; static bool rocksdb_print_snapshot_conflict_queries = 0; -static bool rocksdb_large_prefix = 0; static bool rocksdb_allow_to_start_after_corruption = 0; static ulong rocksdb_write_policy = rocksdb::TxnDBWritePolicy::WRITE_COMMITTED; static char *rocksdb_read_free_rpl_tables; @@ -2686,12 +2686,6 @@ static MYSQL_SYSVAR_BOOL(table_stats_use_table_scan, rocksdb_update_table_stats_use_table_scan, rocksdb_table_stats_use_table_scan); -static MYSQL_SYSVAR_BOOL( - large_prefix, rocksdb_large_prefix, PLUGIN_VAR_RQCMDARG, - "Support large index prefix length of 3072 bytes. If off, the maximum " - "index prefix length is 767.", - nullptr, nullptr, false); - static MYSQL_SYSVAR_BOOL( allow_to_start_after_corruption, rocksdb_allow_to_start_after_corruption, PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_READONLY, @@ -3095,7 +3089,6 @@ static struct SYS_VAR *rocksdb_system_variables[] = { MYSQL_SYSVAR(table_stats_use_table_scan), MYSQL_SYSVAR(table_stats_background_thread_nice_value), - MYSQL_SYSVAR(large_prefix), MYSQL_SYSVAR(allow_to_start_after_corruption), MYSQL_SYSVAR(error_on_suboptimal_collation), MYSQL_SYSVAR(stats_recalc_rate), @@ -11608,13 +11601,6 @@ bool ha_rocksdb::is_pk(const uint index, const TABLE *const table_arg, is_hidden_pk(index, table_arg, tbl_def_arg); } -uint ha_rocksdb::max_supported_key_part_length( - HA_CREATE_INFO *create_info MY_ATTRIBUTE((unused))) const { - DBUG_ENTER_FUNC(); - DBUG_RETURN(rocksdb_large_prefix ? MAX_INDEX_COL_LEN_LARGE - : MAX_INDEX_COL_LEN_SMALL); -} - const char *ha_rocksdb::get_key_name(const uint index, const TABLE *const table_arg, const Rdb_tbl_def *const tbl_def_arg) { diff --git a/storage/rocksdb/ha_rocksdb.h b/storage/rocksdb/ha_rocksdb.h index cdb2f71452bb..9d3d7123a24e 100644 --- a/storage/rocksdb/ha_rocksdb.h +++ b/storage/rocksdb/ha_rocksdb.h @@ -562,8 +562,12 @@ class ha_rocksdb : public my_core::handler, public blob_buffer { DBUG_RETURN(MAX_REF_PARTS); } - uint max_supported_key_part_length( - HA_CREATE_INFO *create_info) const override; + [[nodiscard]] uint max_supported_key_part_length( + HA_CREATE_INFO *) const override { + DBUG_TRACE; + + return MAX_INDEX_COL_LEN; + } /** @brief unireg.cc will call this to make sure that the storage engine can handle diff --git a/storage/rocksdb/rdb_global.h b/storage/rocksdb/rdb_global.h index 6a554f902138..e4dbfe0897fe 100644 --- a/storage/rocksdb/rdb_global.h +++ b/storage/rocksdb/rdb_global.h @@ -306,8 +306,7 @@ enum select_bypass_policy_type { /* Maximum index prefix length in bytes. */ -#define MAX_INDEX_COL_LEN_LARGE 3072 -#define MAX_INDEX_COL_LEN_SMALL 767 +constexpr uint MAX_INDEX_COL_LEN = 3072; /* MyRocks specific error codes. NB! Please make sure that you will update