mirror of
https://github.com/MariaDB/server.git
synced 2026-05-10 09:04:29 +02:00
MDEV-17171: RocksDB Tables do not have "Creation Date"
Temporarily revert the patch
This commit is contained in:
parent
ad8266a5c2
commit
eafc9d8516
20 changed files with 74 additions and 278 deletions
|
|
@ -2306,8 +2306,6 @@ class Rdb_transaction {
|
|||
bool m_is_delayed_snapshot = false;
|
||||
bool m_is_two_phase = false;
|
||||
|
||||
std::unordered_set<Rdb_tbl_def*> modified_tables;
|
||||
|
||||
private:
|
||||
/*
|
||||
Number of write operations this transaction had when we took the last
|
||||
|
|
@ -3003,25 +3001,6 @@ protected:
|
|||
virtual void start_tx() = 0;
|
||||
virtual void start_stmt() = 0;
|
||||
|
||||
protected:
|
||||
// Non-virtual functions with actions to be done on transaction start and
|
||||
// commit.
|
||||
void on_commit() {
|
||||
time_t tm;
|
||||
tm = time(nullptr);
|
||||
for (auto &it : modified_tables) {
|
||||
it->update_time = tm;
|
||||
}
|
||||
modified_tables.clear();
|
||||
}
|
||||
void on_rollback() {
|
||||
modified_tables.clear();
|
||||
}
|
||||
public:
|
||||
void log_table_write_op(Rdb_tbl_def *tbl) {
|
||||
modified_tables.insert(tbl);
|
||||
}
|
||||
|
||||
void set_initial_savepoint() {
|
||||
/*
|
||||
Set the initial savepoint. If the first statement in the transaction
|
||||
|
|
@ -3206,9 +3185,7 @@ class Rdb_transaction_impl : public Rdb_transaction {
|
|||
goto error;
|
||||
}
|
||||
|
||||
on_commit();
|
||||
error:
|
||||
on_rollback();
|
||||
/* Save the transaction object to be reused */
|
||||
release_tx();
|
||||
|
||||
|
|
@ -3224,7 +3201,6 @@ class Rdb_transaction_impl : public Rdb_transaction {
|
|||
|
||||
public:
|
||||
void rollback() override {
|
||||
on_rollback();
|
||||
m_write_count = 0;
|
||||
m_insert_count = 0;
|
||||
m_update_count = 0;
|
||||
|
|
@ -3546,9 +3522,7 @@ class Rdb_writebatch_impl : public Rdb_transaction {
|
|||
res = true;
|
||||
goto error;
|
||||
}
|
||||
on_commit();
|
||||
error:
|
||||
on_rollback();
|
||||
reset();
|
||||
|
||||
m_write_count = 0;
|
||||
|
|
@ -3581,7 +3555,6 @@ class Rdb_writebatch_impl : public Rdb_transaction {
|
|||
}
|
||||
|
||||
void rollback() override {
|
||||
on_rollback();
|
||||
m_write_count = 0;
|
||||
m_insert_count = 0;
|
||||
m_update_count = 0;
|
||||
|
|
@ -7726,8 +7699,6 @@ int ha_rocksdb::create_table(const std::string &table_name,
|
|||
goto error;
|
||||
}
|
||||
|
||||
m_tbl_def->put_creation_time(&dict_manager, batch, time(nullptr));
|
||||
|
||||
err = dict_manager.commit(batch);
|
||||
if (err != HA_EXIT_SUCCESS) {
|
||||
dict_manager.unlock();
|
||||
|
|
@ -10364,8 +10335,6 @@ int ha_rocksdb::update_write_row(const uchar *const old_data,
|
|||
row_info.tx->incr_insert_count();
|
||||
}
|
||||
|
||||
row_info.tx->log_table_write_op(m_tbl_def);
|
||||
|
||||
if (do_bulk_commit(row_info.tx)) {
|
||||
DBUG_RETURN(HA_ERR_ROCKSDB_BULK_LOAD);
|
||||
}
|
||||
|
|
@ -10845,7 +10814,6 @@ int ha_rocksdb::delete_row(const uchar *const buf) {
|
|||
}
|
||||
|
||||
tx->incr_delete_count();
|
||||
tx->log_table_write_op(m_tbl_def);
|
||||
|
||||
if (do_bulk_commit(tx)) {
|
||||
DBUG_RETURN(HA_ERR_ROCKSDB_BULK_LOAD);
|
||||
|
|
@ -11044,12 +11012,6 @@ int ha_rocksdb::info(uint flag) {
|
|||
k->rec_per_key[j] = x;
|
||||
}
|
||||
}
|
||||
|
||||
stats.create_time = m_tbl_def->get_creation_time(&dict_manager);
|
||||
}
|
||||
|
||||
if (flag & HA_STATUS_TIME) {
|
||||
stats.update_time = m_tbl_def->update_time;
|
||||
}
|
||||
|
||||
if (flag & HA_STATUS_ERRKEY) {
|
||||
|
|
|
|||
|
|
@ -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 # 12 # 13 #
|
||||
--replace_column 6 # 7 # 8 # 9 #
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
|
||||
--replace_column 6 # 7 # 8 # 9 # 12 # 13 #
|
||||
--replace_column 6 # 7 # 8 # 9 #
|
||||
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 # 12 # 13 #
|
||||
--replace_column 6 # 7 # 8 # 9 #
|
||||
SHOW TABLE STATUS WHERE name LIKE 't%';
|
||||
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
|
||||
--replace_column 6 # 7 # 8 # 9 # 12 # 13 #
|
||||
--replace_column 6 # 7 # 8 # 9 #
|
||||
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 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
|
||||
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
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
|
|
@ -53,9 +53,9 @@ test.t3 analyze status Engine-independent statistics collected
|
|||
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 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
|
||||
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
|
||||
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 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
|
||||
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
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
|
|
@ -53,9 +53,9 @@ test.t3 analyze status Engine-independent statistics collected
|
|||
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 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
|
||||
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
|
||||
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 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
|
||||
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
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
|
|
@ -53,9 +53,9 @@ test.t3 analyze status Engine-independent statistics collected
|
|||
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 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
|
||||
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
|
||||
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 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
|
||||
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
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
|
|
@ -53,9 +53,9 @@ test.t3 analyze status Engine-independent statistics collected
|
|||
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 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
|
||||
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
|
||||
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 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
|
||||
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
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
|
|
@ -85,9 +85,9 @@ test.t3 analyze status Engine-independent statistics collected
|
|||
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 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
|
||||
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
|
||||
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 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
|
||||
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
|
||||
ANALYZE TABLE t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
|
|
@ -85,9 +85,9 @@ test.t3 analyze status Engine-independent statistics collected
|
|||
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 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
|
||||
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
|
||||
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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 6 NULL NULL 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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed 2 22 44 0 0 0 9223372036854775807 NULL NULL 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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 9223372036854775807 NULL NULL 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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 9223372036854775807 NULL NULL 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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 6 NULL NULL 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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 127 NULL NULL 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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 127 NULL NULL 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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB # Fixed # # # # # # 127 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
|
|
@ -1422,7 +1422,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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed 1000 0 # 0 0 0 3 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
drop table t1;
|
||||
#
|
||||
# Fix Issue #4: Crash when using pseudo-unique keys
|
||||
|
|
@ -2595,7 +2595,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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed 1000 0 0 0 0 0 3 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
-1
|
||||
|
|
@ -2606,7 +2606,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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed 1000 0 0 0 0 0 12 NULL NULL 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 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
|
||||
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
|
||||
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 latin1_swedish_ci NULL 0 N
|
||||
t2 ROCKSDB 10 Fixed 1000 # # 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
DROP TABLE t1, t2, t3;
|
||||
CREATE DATABASE `db_new..............................................end`;
|
||||
USE `db_new..............................................end`;
|
||||
|
|
@ -22,39 +22,3 @@ 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
|
||||
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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 1 NULL NULL 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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 4 NULL NULL 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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 1 NULL NULL 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 latin1_swedish_ci NULL 0 N
|
||||
t1 ROCKSDB 10 Fixed # # # 0 0 0 2 NULL NULL NULL latin1_swedish_ci NULL 0 N
|
||||
SELECT a,c FROM t1;
|
||||
a c
|
||||
1 d
|
||||
|
|
|
|||
|
|
@ -3,25 +3,24 @@
|
|||
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 # 12 # 13 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
INSERT INTO t1 VALUES ('538647864786478647864');
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
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 # 12 # 13 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
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 # 12 # 13 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
DROP TABLE t1;
|
||||
|
|
@ -29,24 +28,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 # 12 # 13 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
INSERT INTO t1 VALUES (1000);
|
||||
SELECT * FROM t1;
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
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 # 12 # 13 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
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 # 12 # 13 #
|
||||
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 #
|
||||
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 # 12 # 13 #
|
||||
--replace_column 7 #
|
||||
show table status like 't1';
|
||||
drop table t1;
|
||||
|
||||
|
|
@ -1914,13 +1914,11 @@ 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;
|
||||
|
|
|
|||
|
|
@ -25,7 +25,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 # 12 # 13 #
|
||||
--replace_column 6 # 7 #
|
||||
SHOW TABLE STATUS WHERE name IN ( 't1', 't2', 't3' );
|
||||
|
||||
# Some statistics don't get updated as quickly. The Data_length and
|
||||
|
|
@ -49,7 +49,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 # 12 # 13 #
|
||||
--replace_column 6 # 7 #
|
||||
SHOW TABLE STATUS WHERE name LIKE 't2';
|
||||
DROP TABLE t1, t2, t3;
|
||||
|
||||
|
|
@ -63,36 +63,3 @@ 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';
|
||||
|
||||
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 # 12 # 13 #
|
||||
--replace_column 5 # 6 # 7 #
|
||||
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 # 12 # 13 #
|
||||
--replace_column 5 # 6 # 7 #
|
||||
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 # 12 # 13 #
|
||||
--replace_column 5 # 6 # 7 #
|
||||
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 # 12 # 13 #
|
||||
--replace_column 5 # 6 # 7 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
|
||||
--sorted_result
|
||||
|
|
|
|||
|
|
@ -3517,27 +3517,6 @@ Rdb_tbl_def::~Rdb_tbl_def() {
|
|||
}
|
||||
}
|
||||
|
||||
void Rdb_tbl_def::put_creation_time(Rdb_dict_manager *dict_manager,
|
||||
rocksdb::WriteBatchBase *batch,
|
||||
time_t timeval) {
|
||||
dict_manager->put_creation_time(batch,
|
||||
m_key_descr_arr[0]->get_gl_index_id(),
|
||||
timeval);
|
||||
create_time = timeval;
|
||||
}
|
||||
|
||||
time_t Rdb_tbl_def::get_creation_time(Rdb_dict_manager *dict_manager) {
|
||||
time_t tm;
|
||||
if (create_time == CREATE_TIME_UNKNOWN) {
|
||||
if (dict_manager->get_creation_time(m_key_descr_arr[0]->get_gl_index_id(),
|
||||
&tm))
|
||||
create_time = tm;
|
||||
else
|
||||
create_time = 0; // Not available
|
||||
}
|
||||
return create_time;
|
||||
}
|
||||
|
||||
/*
|
||||
Put table definition DDL entry. Actual write is done at
|
||||
Rdb_dict_manager::commit.
|
||||
|
|
@ -5364,7 +5343,6 @@ rocksdb::Status Rdb_dict_manager::put_auto_incr_val(
|
|||
value_writer.to_slice());
|
||||
}
|
||||
|
||||
|
||||
bool Rdb_dict_manager::get_auto_incr_val(const GL_INDEX_ID &gl_index_id,
|
||||
ulonglong *new_val) const {
|
||||
Rdb_buf_writer<Rdb_key_def::INDEX_NUMBER_SIZE * 3> key_writer;
|
||||
|
|
@ -5384,51 +5362,6 @@ bool Rdb_dict_manager::get_auto_incr_val(const GL_INDEX_ID &gl_index_id,
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
rocksdb::Status
|
||||
Rdb_dict_manager::put_creation_time(rocksdb::WriteBatchBase *batch,
|
||||
const GL_INDEX_ID &gl_index_id,
|
||||
time_t timeval) const {
|
||||
uchar key_buf[Rdb_key_def::INDEX_NUMBER_SIZE * 3] = {0};
|
||||
dump_index_id(key_buf, Rdb_key_def::TABLE_CREATION_TS, gl_index_id);
|
||||
const rocksdb::Slice key =
|
||||
rocksdb::Slice(reinterpret_cast<char *>(key_buf), sizeof(key_buf));
|
||||
|
||||
// Value is constructed by storing the version and the value.
|
||||
uchar value_buf[RDB_SIZEOF_TABLE_CREATION_TS_VERSION +
|
||||
ROCKSDB_SIZEOF_TABLE_CREATION_TS] = {0};
|
||||
uchar *ptr = value_buf;
|
||||
rdb_netbuf_store_uint16(ptr, Rdb_key_def::TABLE_CREATION_TS_VERSION);
|
||||
ptr += RDB_SIZEOF_TABLE_CREATION_TS_VERSION;
|
||||
rdb_netbuf_store_uint64(ptr, timeval);
|
||||
ptr += ROCKSDB_SIZEOF_TABLE_CREATION_TS;
|
||||
const rocksdb::Slice value =
|
||||
rocksdb::Slice(reinterpret_cast<char *>(value_buf), ptr - value_buf);
|
||||
|
||||
return batch->Put(m_system_cfh, key, value);
|
||||
}
|
||||
|
||||
bool Rdb_dict_manager::get_creation_time(const GL_INDEX_ID &gl_index_id,
|
||||
time_t *new_val) const {
|
||||
uchar key_buf[Rdb_key_def::INDEX_NUMBER_SIZE * 3] = {0};
|
||||
dump_index_id(key_buf, Rdb_key_def::TABLE_CREATION_TS, gl_index_id);
|
||||
|
||||
std::string value;
|
||||
const rocksdb::Status status = get_value(
|
||||
rocksdb::Slice(reinterpret_cast<char *>(key_buf), sizeof(key_buf)),
|
||||
&value);
|
||||
|
||||
if (status.ok() && value.size() >= RDB_SIZEOF_TABLE_CREATION_TS_VERSION) {
|
||||
const uchar *const val = reinterpret_cast<const uchar *>(value.data());
|
||||
|
||||
if (rdb_netbuf_to_uint16(val) <= Rdb_key_def::TABLE_CREATION_TS_VERSION) {
|
||||
*new_val = rdb_netbuf_to_uint64(val + RDB_SIZEOF_TABLE_CREATION_TS_VERSION);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
uint Rdb_seq_generator::get_and_update_next_number(
|
||||
Rdb_dict_manager *const dict) {
|
||||
DBUG_ASSERT(dict != nullptr);
|
||||
|
|
|
|||
|
|
@ -201,7 +201,6 @@ const size_t RDB_SIZEOF_INDEX_TYPE = sizeof(uchar);
|
|||
const size_t RDB_SIZEOF_KV_VERSION = sizeof(uint16);
|
||||
const size_t RDB_SIZEOF_INDEX_FLAGS = sizeof(uint32);
|
||||
const size_t RDB_SIZEOF_AUTO_INCREMENT_VERSION = sizeof(uint16);
|
||||
const size_t RDB_SIZEOF_TABLE_CREATION_TS_VERSION = sizeof(uint16);
|
||||
|
||||
// Possible return values for rdb_index_field_unpack_t functions.
|
||||
enum {
|
||||
|
|
@ -505,7 +504,6 @@ class Rdb_key_def {
|
|||
MAX_INDEX_ID = 7,
|
||||
DDL_CREATE_INDEX_ONGOING = 8,
|
||||
AUTO_INC = 9,
|
||||
TABLE_CREATION_TS = 10,
|
||||
END_DICT_INDEX_ID = 255
|
||||
};
|
||||
|
||||
|
|
@ -519,7 +517,6 @@ class Rdb_key_def {
|
|||
MAX_INDEX_ID_VERSION = 1,
|
||||
DDL_CREATE_INDEX_ONGOING_VERSION = 1,
|
||||
AUTO_INCREMENT_VERSION = 1,
|
||||
TABLE_CREATION_TS_VERSION = 1
|
||||
// Version for index stats is stored in IndexStats struct
|
||||
};
|
||||
|
||||
|
|
@ -1111,13 +1108,6 @@ class Rdb_tbl_def {
|
|||
|
||||
~Rdb_tbl_def();
|
||||
|
||||
// time values are shown in SHOW TABLE STATUS
|
||||
void put_creation_time(Rdb_dict_manager *dict_manager,
|
||||
rocksdb::WriteBatchBase *batch, time_t timeval);
|
||||
time_t get_creation_time(Rdb_dict_manager *dict_manager);
|
||||
|
||||
time_t update_time = 0; // in-memory only value, maintained right here
|
||||
|
||||
void check_and_set_read_free_rpl_table();
|
||||
|
||||
/* Number of indexes */
|
||||
|
|
@ -1143,12 +1133,6 @@ class Rdb_tbl_def {
|
|||
const std::string &base_tablename() const { return m_tablename; }
|
||||
const std::string &base_partition() const { return m_partition; }
|
||||
GL_INDEX_ID get_autoincr_gl_index_id();
|
||||
|
||||
private:
|
||||
const time_t CREATE_TIME_UNKNOWN= 1;
|
||||
// CREATE_TIME_UNKNOWN means "didn't try to read, yet"
|
||||
// 0 means "no data available" (and SQL layer shares this)
|
||||
time_t create_time = CREATE_TIME_UNKNOWN;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
@ -1363,10 +1347,6 @@ class Rdb_binlog_manager {
|
|||
value: version, {max auto_increment so far}
|
||||
max auto_increment is 8 bytes
|
||||
|
||||
10. Table creation timestamp
|
||||
key: Rdb_key_def::TABLE_CREATION_TIMESTAMP + cf_id + index_id
|
||||
value: timestamp
|
||||
|
||||
Data dictionary operations are atomic inside RocksDB. For example,
|
||||
when creating a table with two indexes, it is necessary to call Put
|
||||
three times. They have to be atomic. Rdb_dict_manager has a wrapper function
|
||||
|
|
@ -1525,11 +1505,6 @@ class Rdb_dict_manager {
|
|||
bool overwrite = false) const;
|
||||
bool get_auto_incr_val(const GL_INDEX_ID &gl_index_id,
|
||||
ulonglong *new_val) const;
|
||||
rocksdb::Status put_creation_time(rocksdb::WriteBatchBase *batch,
|
||||
const GL_INDEX_ID &gl_index_id,
|
||||
time_t timeval_arg) const;
|
||||
bool get_creation_time(const GL_INDEX_ID &gl_index_id,
|
||||
time_t *new_val) const;
|
||||
};
|
||||
|
||||
struct Rdb_index_info {
|
||||
|
|
|
|||
|
|
@ -228,8 +228,6 @@ const char *const RDB_TTL_COL_QUALIFIER = "ttl_col";
|
|||
|
||||
#define ROCKSDB_SIZEOF_AUTOINC_VALUE sizeof(longlong)
|
||||
|
||||
#define ROCKSDB_SIZEOF_TABLE_CREATION_TS sizeof(uint64_t)
|
||||
|
||||
/*
|
||||
Maximum index prefix length in bytes.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue