1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-02 09:41:40 +03:00

Merge 10.5 into 10.6

This commit is contained in:
Marko Mäkelä
2021-01-11 17:32:08 +02:00
72 changed files with 1600 additions and 330 deletions

View File

@@ -62,3 +62,28 @@ INSERT INTO t1 (i) VALUES (1),(2);
SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE;
y i b vi
DROP TABLE t1;
#
# MDEV-23632 ALTER TABLE...ADD KEY creates corrupted index on virtual column
#
CREATE TABLE t1(a INT PRIMARY KEY, b INT, g INT GENERATED ALWAYS AS(b)VIRTUAL) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1,1,default);
ALTER TABLE t1 ADD COLUMN c INT;
ALTER TABLE t1 ADD KEY(g);
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
SELECT g FROM t1 FORCE INDEX (g);
g
1
DROP TABLE t1;
CREATE TABLE t1(a INT, b INT, g INT GENERATED ALWAYS AS(b)VIRTUAL) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1,1,default);
ALTER TABLE t1 ADD COLUMN c INT PRIMARY KEY;
ALTER TABLE t1 ADD KEY(g);
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
SELECT g FROM t1 FORCE INDEX (g);
g
1
DROP TABLE t1;

View File

@@ -327,7 +327,6 @@ FROM information_schema.global_status
WHERE variable_name = 'innodb_instant_alter_column';
instants
22
SET GLOBAL innodb_purge_rseg_truncate_frequency = @save_frequency;
#
# MDEV-21045 AddressSanitizer: use-after-poison in mem_heap_dup / row_log_table_get_pk_col
#
@@ -371,6 +370,20 @@ SET DEBUG_SYNC='RESET';
disconnect con2;
DROP TABLE t1;
#
# MDEV-24512 Assertion failed in rec_is_metadata()
# in btr_discard_only_page_on_level()
#
SET @save_limit= @@GLOBAL.innodb_limit_optimistic_insert_debug;
SET GLOBAL innodb_limit_optimistic_insert_debug=2;
CREATE TABLE t1 (c CHAR(1) UNIQUE) ENGINE=InnoDB;
ALTER TABLE t1 ADD c2 INT NOT NULL DEFAULT 0 FIRST;
INSERT INTO t1 (c) VALUES ('x'),('d'),('r'),('f'),('y'),('u'),('m'),('d');
ERROR 23000: Duplicate entry 'd' for key 'c'
SET GLOBAL innodb_limit_optimistic_insert_debug=@save_limit;
SELECT * FROM t1;
c2 c
DROP TABLE t1;
#
# MDEV-22867 Assertion instant.n_core_fields == n_core_fields
# in dict_index_t::instant_add_field
#
@@ -408,3 +421,4 @@ Table Op Msg_type Msg_text
test.t1 check status OK
DROP TABLE t1;
SET DEBUG_SYNC=RESET;
SET GLOBAL innodb_purge_rseg_truncate_frequency = @save_frequency;