mirror of
https://github.com/MariaDB/server.git
synced 2026-05-06 15:15:34 +02:00
MDEV-17171: RocksDB Tables do not have "Creation Date"
Variant#5 of the patch: - take creation date from the .frm file, like InnoDB does - Update_time is in-memory only (like in InnoDB).
This commit is contained in:
parent
162f475c4b
commit
9c72963d2a
19 changed files with 323 additions and 77 deletions
|
|
@ -121,12 +121,12 @@ set rocksdb_bulk_load=0;
|
|||
--remove_file $file
|
||||
|
||||
# Make sure row count index stats are correct
|
||||
--replace_column 6 # 7 # 8 # 9 #
|
||||
--replace_column 6 # 7 # 8 # 9 # 12 # 13 #
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
|
||||
--replace_column 6 # 7 # 8 # 9 #
|
||||
--replace_column 6 # 7 # 8 # 9 # 12 # 13 #
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
|
||||
# Make sure all the data is there.
|
||||
|
|
|
|||
|
|
@ -121,12 +121,12 @@ set rocksdb_bulk_load=0;
|
|||
--remove_file $file
|
||||
|
||||
# Make sure row count index stats are correct
|
||||
--replace_column 6 # 7 # 8 # 9 #
|
||||
--replace_column 6 # 7 # 8 # 9 # 12 # 13 #
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
|
||||
--replace_column 6 # 7 # 8 # 9 #
|
||||
--replace_column 6 # 7 # 8 # 9 # 12 # 13 #
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
|
||||
# Make sure all the data is there.
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ pk a b
|
|||
set rocksdb_bulk_load=0;
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL partitioned 0 N
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
|
|
@ -50,9 +50,9 @@ test.t2 analyze status OK
|
|||
test.t3 analyze status OK
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL partitioned 0 N
|
||||
select count(pk),count(a) from t1;
|
||||
count(pk) count(a)
|
||||
2500000 2500000
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ pk a b
|
|||
set rocksdb_bulk_load=0;
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL partitioned 0 N
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
|
|
@ -50,9 +50,9 @@ test.t2 analyze status OK
|
|||
test.t3 analyze status OK
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL partitioned 0 N
|
||||
select count(pk),count(a) from t1;
|
||||
count(pk) count(a)
|
||||
2500000 2500000
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ pk a b
|
|||
set rocksdb_bulk_load=0;
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL partitioned 0 N
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
|
|
@ -50,9 +50,9 @@ test.t2 analyze status OK
|
|||
test.t3 analyze status OK
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL partitioned 0 N
|
||||
select count(pk),count(a) from t1;
|
||||
count(pk) count(a)
|
||||
2500000 2500000
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ pk a b
|
|||
set rocksdb_bulk_load=0;
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL partitioned 0 N
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
|
|
@ -50,9 +50,9 @@ test.t2 analyze status OK
|
|||
test.t3 analyze status OK
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_bin NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_bin NULL partitioned 0 N
|
||||
select count(pk),count(a) from t1;
|
||||
count(pk) count(a)
|
||||
2500000 2500000
|
||||
|
|
|
|||
|
|
@ -72,9 +72,9 @@ LOAD DATA INFILE <input_file> INTO TABLE t3;
|
|||
set rocksdb_bulk_load=0;
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL partitioned 0 N
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
|
|
@ -82,9 +82,9 @@ test.t2 analyze status OK
|
|||
test.t3 analyze status OK
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL partitioned 0 N
|
||||
select count(a),count(b) from t1;
|
||||
count(a) count(b)
|
||||
2500000 2500000
|
||||
|
|
|
|||
|
|
@ -72,9 +72,9 @@ LOAD DATA INFILE <input_file> INTO TABLE t3;
|
|||
set rocksdb_bulk_load=0;
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL partitioned 0 N
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
|
|
@ -82,9 +82,9 @@ test.t2 analyze status OK
|
|||
test.t3 analyze status OK
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned 0 N
|
||||
t1 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 2500000 # # # # 0 NULL # # NULL latin1_swedish_ci NULL partitioned 0 N
|
||||
select count(a),count(b) from t1;
|
||||
count(a) count(b)
|
||||
2500000 2500000
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ CREATE TABLE t1 (pk BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT);
|
|||
INSERT INTO t1 VALUES (5);
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB # Fixed # # # # # # 6 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 6 # # NULL latin1_swedish_ci NULL 0 N
|
||||
INSERT INTO t1 VALUES ('538647864786478647864');
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'pk' at row 1
|
||||
|
|
@ -12,7 +12,7 @@ pk
|
|||
9223372036854775807
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 2 22 44 0 0 0 9223372036854775807 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed 2 22 44 0 0 0 9223372036854775807 # # NULL latin1_swedish_ci NULL 0 N
|
||||
INSERT INTO t1 VALUES ();
|
||||
ERROR 23000: Duplicate entry '9223372036854775807' for key 'PRIMARY'
|
||||
SELECT * FROM t1;
|
||||
|
|
@ -21,7 +21,7 @@ pk
|
|||
9223372036854775807
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB # Fixed # # # # # # 9223372036854775807 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 9223372036854775807 # # NULL latin1_swedish_ci NULL 0 N
|
||||
INSERT INTO t1 VALUES ();
|
||||
ERROR 23000: Duplicate entry '9223372036854775807' for key 'PRIMARY'
|
||||
SELECT * FROM t1;
|
||||
|
|
@ -30,13 +30,13 @@ pk
|
|||
9223372036854775807
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB # Fixed # # # # # # 9223372036854775807 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 9223372036854775807 # # NULL latin1_swedish_ci NULL 0 N
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (pk TINYINT NOT NULL PRIMARY KEY AUTO_INCREMENT);
|
||||
INSERT INTO t1 VALUES (5);
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB # Fixed # # # # # # 6 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 6 # # NULL latin1_swedish_ci NULL 0 N
|
||||
INSERT INTO t1 VALUES (1000);
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'pk' at row 1
|
||||
|
|
@ -46,7 +46,7 @@ pk
|
|||
127
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB # Fixed # # # # # # 127 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 127 # # NULL latin1_swedish_ci NULL 0 N
|
||||
INSERT INTO t1 VALUES ();
|
||||
ERROR 23000: Duplicate entry '127' for key 'PRIMARY'
|
||||
SELECT * FROM t1;
|
||||
|
|
@ -55,7 +55,7 @@ pk
|
|||
127
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB # Fixed # # # # # # 127 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 127 # # NULL latin1_swedish_ci NULL 0 N
|
||||
INSERT INTO t1 VALUES ();
|
||||
ERROR 23000: Duplicate entry '127' for key 'PRIMARY'
|
||||
SELECT * FROM t1;
|
||||
|
|
@ -64,5 +64,5 @@ pk
|
|||
127
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB # Fixed # # # # # # 127 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 127 # # NULL latin1_swedish_ci NULL 0 N
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
|
|
@ -1421,7 +1421,7 @@ create table t1 (i int primary key auto_increment) engine=RocksDB;
|
|||
insert into t1 values (null),(null);
|
||||
show table status like 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 1000 0 # 0 0 0 3 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed 1000 0 # 0 0 0 3 # # NULL latin1_swedish_ci NULL 0 N
|
||||
drop table t1;
|
||||
#
|
||||
# Fix Issue #4: Crash when using pseudo-unique keys
|
||||
|
|
@ -2594,7 +2594,7 @@ CREATE TABLE t1(a INT AUTO_INCREMENT KEY);
|
|||
INSERT INTO t1 VALUES(0),(-1),(0);
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 1000 0 0 0 0 0 3 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed 1000 0 0 0 0 0 3 # # NULL latin1_swedish_ci NULL 0 N
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
-1
|
||||
|
|
@ -2605,7 +2605,7 @@ CREATE TABLE t1(a INT AUTO_INCREMENT KEY);
|
|||
INSERT INTO t1 VALUES(0),(10),(0);
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 1000 0 0 0 0 0 12 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed 1000 0 0 0 0 0 12 # # NULL latin1_swedish_ci NULL 0 N
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ set global rocksdb_force_flush_memtable_now = true;
|
|||
CREATE TABLE t3 (a INT, b CHAR(8), pk INT PRIMARY KEY) ENGINE=rocksdb CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS WHERE name IN ( 't1', 't2', 't3' );
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed 1000 # # 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 1000 # # 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 1000 # # 0 0 0 NULL NULL NULL NULL utf8_general_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed 1000 # # 0 0 0 NULL # # NULL latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 1000 # # 0 0 0 NULL # # NULL latin1_swedish_ci NULL 0 N
|
||||
t3 ROCKSDB 10 Fixed 1000 # # 0 0 0 NULL # # NULL utf8_general_ci NULL 0 N
|
||||
SHOW TABLE STATUS WHERE name LIKE 't2';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t2 ROCKSDB 10 Fixed 1000 # # 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 1000 # # 0 0 0 NULL # # NULL latin1_swedish_ci NULL 0 N
|
||||
DROP TABLE t1, t2, t3;
|
||||
CREATE DATABASE `db_new..............................................end`;
|
||||
USE `db_new..............................................end`;
|
||||
|
|
@ -22,3 +22,91 @@ SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.table_statistics WHERE T
|
|||
TABLE_SCHEMA db_new..............................................end
|
||||
TABLE_NAME t1_new..............................................end
|
||||
DROP DATABASE `db_new..............................................end`;
|
||||
#
|
||||
# MDEV-17171: Bug: RocksDB Tables do not have "Creation Date"
|
||||
#
|
||||
use test;
|
||||
create table t1 (a int) engine=rocksdb;
|
||||
select create_time is not null, update_time, check_time
|
||||
from information_schema.tables where table_schema=database() and table_name='t1';
|
||||
create_time is not null update_time check_time
|
||||
1 NULL NULL
|
||||
insert into t1 values (1);
|
||||
select create_time is not null, update_time is not null, check_time
|
||||
from information_schema.tables where table_schema=database() and table_name='t1';
|
||||
create_time is not null update_time is not null check_time
|
||||
1 1 NULL
|
||||
flush tables;
|
||||
select create_time is not null, update_time is not null, check_time
|
||||
from information_schema.tables where table_schema=database() and table_name='t1';
|
||||
create_time is not null update_time is not null check_time
|
||||
1 1 NULL
|
||||
select create_time, update_time into @create_tm, @update_tm
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
select sleep(3);
|
||||
sleep(3)
|
||||
0
|
||||
insert into t1 values (2);
|
||||
select
|
||||
create_time=@create_tm /* should not change */ ,
|
||||
timestampdiff(second, @update_tm, update_time) > 2,
|
||||
check_time
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
create_time=@create_tm 1
|
||||
timestampdiff(second, @update_tm, update_time) > 2 1
|
||||
check_time NULL
|
||||
#
|
||||
# Check how create_time survives ALTER TABLE.
|
||||
# First, an ALTER TABLE that re-creates the table:
|
||||
alter table t1 add b int;
|
||||
select
|
||||
create_time<>@create_tm /* should change */,
|
||||
create_time IS NOT NULL,
|
||||
update_time IS NULL
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
create_time<>@create_tm 1
|
||||
create_time IS NOT NULL 1
|
||||
update_time IS NULL 1
|
||||
insert into t1 values (5,5);
|
||||
select create_time, update_time into @create_tm, @update_tm
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
# Then, an in-place ALTER TABLE:
|
||||
alter table t1 add key (a);
|
||||
select
|
||||
create_time=@create_tm /* should not change */,
|
||||
update_time
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
create_time=@create_tm 1
|
||||
update_time NULL
|
||||
#
|
||||
# Check what is left after server restart
|
||||
#
|
||||
# Save t1's creation time
|
||||
create table t2 as
|
||||
select create_time
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
select
|
||||
create_time=(select create_time from t2) /* should change */,
|
||||
update_time
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
create_time=(select create_time from t2) 1
|
||||
update_time NULL
|
||||
drop table t1, t2;
|
||||
#
|
||||
# Check how it works for partitioned tables
|
||||
#
|
||||
create table t1 (pk int primary key) partition by hash(pk) partitions 2;
|
||||
insert into t1 values (1);
|
||||
select create_time IS NOT NULL , update_time IS NOT NULL
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
create_time IS NOT NULL 1
|
||||
update_time IS NOT NULL 1
|
||||
drop table t1;
|
||||
|
|
|
|||
|
|
@ -9,19 +9,19 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1 (a INT KEY AUTO_INCREMENT, c CHAR(8)) ENGINE=rocksdb;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 1 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 1 # # NULL latin1_swedish_ci NULL 0 N
|
||||
INSERT INTO t1 (c) VALUES ('a'),('b'),('c');
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 4 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 4 # # NULL latin1_swedish_ci NULL 0 N
|
||||
TRUNCATE TABLE t1;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 1 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 1 # # NULL latin1_swedish_ci NULL 0 N
|
||||
INSERT INTO t1 (c) VALUES ('d');
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 2 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 2 # # NULL latin1_swedish_ci NULL 0 N
|
||||
SELECT a,c FROM t1;
|
||||
a c
|
||||
1 d
|
||||
|
|
|
|||
|
|
@ -3,24 +3,25 @@
|
|||
CREATE TABLE t1 (pk BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT);
|
||||
|
||||
INSERT INTO t1 VALUES (5);
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
INSERT INTO t1 VALUES ('538647864786478647864');
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
|
||||
SELECT * FROM t1;
|
||||
--replace_column 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO t1 VALUES ();
|
||||
SELECT * FROM t1;
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO t1 VALUES ();
|
||||
SELECT * FROM t1;
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
DROP TABLE t1;
|
||||
|
|
@ -28,24 +29,24 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1 (pk TINYINT NOT NULL PRIMARY KEY AUTO_INCREMENT);
|
||||
|
||||
INSERT INTO t1 VALUES (5);
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
INSERT INTO t1 VALUES (1000);
|
||||
SELECT * FROM t1;
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO t1 VALUES ();
|
||||
SELECT * FROM t1;
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO t1 VALUES ();
|
||||
SELECT * FROM t1;
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
|
|
@ -1207,7 +1207,7 @@ drop table t1;
|
|||
create table t1 (i int primary key auto_increment) engine=RocksDB;
|
||||
|
||||
insert into t1 values (null),(null);
|
||||
--replace_column 7 #
|
||||
--replace_column 7 # 12 # 13 #
|
||||
show table status like 't1';
|
||||
drop table t1;
|
||||
|
||||
|
|
@ -1914,11 +1914,13 @@ DROP TABLE t1;
|
|||
# value is 4 while MyRocks will show it as 3.
|
||||
CREATE TABLE t1(a INT AUTO_INCREMENT KEY);
|
||||
INSERT INTO t1 VALUES(0),(-1),(0);
|
||||
--replace_column 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(a INT AUTO_INCREMENT KEY);
|
||||
INSERT INTO t1 VALUES(0),(10),(0);
|
||||
--replace_column 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
--source include/have_rocksdb.inc
|
||||
--source include/have_partition.inc
|
||||
--source include/not_windows.inc # decorated database names is too long, exceeded OS limits
|
||||
|
||||
#
|
||||
|
|
@ -25,7 +26,7 @@ set global rocksdb_force_flush_memtable_now = true;
|
|||
|
||||
CREATE TABLE t3 (a INT, b CHAR(8), pk INT PRIMARY KEY) ENGINE=rocksdb CHARACTER SET utf8;
|
||||
|
||||
--replace_column 6 # 7 #
|
||||
--replace_column 6 # 7 # 12 # 13 #
|
||||
SHOW TABLE STATUS WHERE name IN ( 't1', 't2', 't3' );
|
||||
|
||||
# Some statistics don't get updated as quickly. The Data_length and
|
||||
|
|
@ -49,7 +50,7 @@ set global rocksdb_force_flush_memtable_now = true;
|
|||
|
||||
# We expect the number of rows to be 10000. Data_len and Avg_row_len
|
||||
# may vary, depending on built-in compression library.
|
||||
--replace_column 6 # 7 #
|
||||
--replace_column 6 # 7 # 12 # 13 #
|
||||
SHOW TABLE STATUS WHERE name LIKE 't2';
|
||||
DROP TABLE t1, t2, t3;
|
||||
|
||||
|
|
@ -63,3 +64,89 @@ CREATE TABLE `t1_new..............................................end`(a int) en
|
|||
INSERT INTO `t1_new..............................................end` VALUES (1);
|
||||
--query_vertical SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.table_statistics WHERE TABLE_NAME = 't1_new..............................................end'
|
||||
DROP DATABASE `db_new..............................................end`;
|
||||
--echo #
|
||||
--echo # MDEV-17171: Bug: RocksDB Tables do not have "Creation Date"
|
||||
--echo #
|
||||
use test;
|
||||
create table t1 (a int) engine=rocksdb;
|
||||
|
||||
select create_time is not null, update_time, check_time
|
||||
from information_schema.tables where table_schema=database() and table_name='t1';
|
||||
|
||||
insert into t1 values (1);
|
||||
select create_time is not null, update_time is not null, check_time
|
||||
from information_schema.tables where table_schema=database() and table_name='t1';
|
||||
|
||||
flush tables;
|
||||
select create_time is not null, update_time is not null, check_time
|
||||
from information_schema.tables where table_schema=database() and table_name='t1';
|
||||
|
||||
select create_time, update_time into @create_tm, @update_tm
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
|
||||
select sleep(3);
|
||||
insert into t1 values (2);
|
||||
|
||||
--vertical_results
|
||||
select
|
||||
create_time=@create_tm /* should not change */ ,
|
||||
timestampdiff(second, @update_tm, update_time) > 2,
|
||||
check_time
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
|
||||
--echo #
|
||||
--echo # Check how create_time survives ALTER TABLE.
|
||||
--echo # First, an ALTER TABLE that re-creates the table:
|
||||
alter table t1 add b int;
|
||||
select
|
||||
create_time<>@create_tm /* should change */,
|
||||
create_time IS NOT NULL,
|
||||
update_time IS NULL
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
|
||||
insert into t1 values (5,5);
|
||||
|
||||
select create_time, update_time into @create_tm, @update_tm
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
|
||||
--echo # Then, an in-place ALTER TABLE:
|
||||
alter table t1 add key (a);
|
||||
|
||||
select
|
||||
create_time=@create_tm /* should not change */,
|
||||
update_time
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
|
||||
--echo #
|
||||
--echo # Check what is left after server restart
|
||||
--echo #
|
||||
|
||||
--echo # Save t1's creation time
|
||||
create table t2 as
|
||||
select create_time
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
|
||||
select
|
||||
create_time=(select create_time from t2) /* should change */,
|
||||
update_time
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
|
||||
drop table t1, t2;
|
||||
|
||||
--echo #
|
||||
--echo # Check how it works for partitioned tables
|
||||
--echo #
|
||||
create table t1 (pk int primary key) partition by hash(pk) partitions 2;
|
||||
insert into t1 values (1);
|
||||
|
||||
select create_time IS NOT NULL , update_time IS NOT NULL
|
||||
from information_schema.tables
|
||||
where table_schema=database() and table_name='t1';
|
||||
drop table t1;
|
||||
|
|
|
|||
|
|
@ -29,22 +29,22 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1 (a INT KEY AUTO_INCREMENT, c CHAR(8)) ENGINE=rocksdb;
|
||||
|
||||
#--replace_column 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 # 14 # 15 # 16 # 17 # 18 #
|
||||
--replace_column 5 # 6 # 7 #
|
||||
--replace_column 5 # 6 # 7 # 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
INSERT INTO t1 (c) VALUES ('a'),('b'),('c');
|
||||
#--replace_column 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 # 14 # 15 # 16 # 17 # 18 #
|
||||
--replace_column 5 # 6 # 7 #
|
||||
--replace_column 5 # 6 # 7 # 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
TRUNCATE TABLE t1;
|
||||
#--replace_column 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 # 14 # 15 # 16 # 17 # 18 #
|
||||
--replace_column 5 # 6 # 7 #
|
||||
--replace_column 5 # 6 # 7 # 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
INSERT INTO t1 (c) VALUES ('d');
|
||||
#--replace_column 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 # 14 # 15 # 16 # 17 # 18 #
|
||||
--replace_column 5 # 6 # 7 #
|
||||
--replace_column 5 # 6 # 7 # 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
--sorted_result
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue