Commit 8aae31cf authored by Marko Mäkelä's avatar Marko Mäkelä

Merge 10.3 into 10.4

parents 4edb2938 d4144c8e
#
# MDEV-17821 Assertion `!page_rec_is_supremum(rec)' failed
# in btr_pcur_store_position
#
CREATE TABLE t1 (pk INT PRIMARY KEY, c INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1,2);
ALTER TABLE t1 ADD COLUMN f VARCHAR(255);
ALTER TABLE t1 DROP COLUMN f;
DELETE FROM t1;
HANDLER t1 OPEN;
HANDLER t1 READ `PRIMARY` <= (3);
pk c
DROP TABLE t1;
CREATE TABLE t1 (
pk INT AUTO_INCREMENT,
f1 CHAR(32),
f2 CHAR(32),
f3 CHAR(32),
f4 INT,
f5 CHAR(32),
f6 INT,
f7 INT,
f8 INT,
PRIMARY KEY (pk),
UNIQUE (f6)
) ENGINE=InnoDB;
INSERT INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8) VALUES
('reality', 'llt', 'within', -1996816384, 'j', 160, 7, -1822687232),
('h', 'j', 'j', 251, 'civilian', NULL, 211, NULL),
('ltq', 'b', 'mud', 111, 'v', 90, 0, NULL),
('toxic', 'breakfast', 'series', 2, 'x', NULL, 118, 2),
('h', 'n', 'vision', 84, 'n', NULL, 197, 103),
('h', 'tq', 'q', 6, 'bet', -1927151616, -446038016, 3),
('pocket', 'qjt', 'jtl', 0, 'blink', NULL, 12, 0),
('k', 'uv', 'exist', 37, 'g', 149, -1610219520, NULL),
('parent', 'motion', 'u', 70, 'promote', NULL, 178, NULL),
('get', 'convict', 'liquid', -780337152, 'd', NULL, 4, NULL),
('vp', 'px', 'xi', -631111680, 'support', NULL, 8, NULL),
('ck', 'z', 'minority', 8, 'k', NULL, 864878592, NULL),
('kxx', 'g', 'container', 1, 'cholesterol', NULL, 4, 1404436480),
('xxv', 'rail', 'j', 219, 'serious', NULL, -816119808, 62),
('x', 'v', 'vr', 146, 'm', 16, 170, -1765867520),
('age', 'm', 'q', -1251278848, 'rte', 6, 224, NULL),
('discrimination', 't', 'q', 31, 'exl', 0, 2, 244),
('water', 'x', 'ldb', 98, 'r', 235, 4, 63),
('d', 'db', 'p', 248, 'so-called', 102, -255524864, 198),
('last', 'bz', 'us', 0, 'experienced', 137, 240, 134),
('q', 'z', 'attract', 67, 'code', 67, 75, 1758920704),
('yellow', 'c', 'u', 6, 'v', 1731985408, 528154624, 2),
('cognitive', 'he', 'protective', 590020608, 'sentence', NULL, 4, 102),
('eih', 'l', 'ih', 1266024448, 'traditionally', NULL, 190, NULL),
('pine', 'i', 'y', 6, 'glimpse', 214, 7, -1486880768),
('jo', 'everyone', 'ol', 0, 'lj', NULL, 1, 0),
('blood', 'f', 'scientist', 54, 'j', 1341128704, 168, NULL),
('z', 'brief', 'ambassador', 115, 'ygp', 82, 129, NULL),
('gp', 'severe', 'consist', 7, 'p', -1829961728, 602669056, 154),
('admit', 'poetry', 'x', 116, 'enemy', 174, -2128543744, -407764992),
('s', 'norm', 'decide', 2055667712, 'rtz', NULL, 99, -1233715200),
('tzg', 'f', 'beg', 2016280576, 'w', NULL, -643825664, 137),
('zgg', 'x', 'f', 148, 'y', -987496448, -708116480, 8),
('attorney', 'perfectly', 's', 49, 'z', -1865285632, 56, -1518534656),
('concentrate', 's', 'k', -1028849664, 'tir', 83, -1592459264, 1820065792),
('t', 'sacrifice', 'ir', -2143879168, 'recipe', 156, 217, NULL),
('wdf', 'd', 'f', 137, 'empty', NULL, 188, NULL),
('o', 'customer', 'qd', -2135293952, 'z', 1527840768, 227, -1174929408),
('d', 'qow', 'o', 1472266240, 'whe', NULL, 7, 197),
('deny', 'reputation', 'dutch', 59, 'v', 124, 2, 191),
('m', 'liver', 'fv', 0, 'policy', 781582336, 198574080, 177),
('vk', 'kx', 'immigrant', -1452736512, 'x', 163, 76, 6) ,
('j', 'ru', 'r', 67, 'joke', NULL, 3, NULL),
('o', 'u', 'a', -569442304, 'uz', NULL, 933298176, NULL),
('g', 'zb', 'c', -1694760960, 'fish', 18, -390463488, 1),
('bb', 'o', 'b', 6, 'z', 9, 12, NULL),
('compelling', 'xe', 'debut', 89, 'e', -734724096, 119, 175),
('md', 'r', 'object', 1046478848, 'frequently', 915537920, 0, 1506410496),
('dwn', 'wnz', 'x', 1767571456, 'nz', 241, -882180096, 9),
('zvf', 'vfo', 'g', -844824576, 'w', NULL, 1, 9),
('w', 'pose', 'r', 1029308416, 'a', -48627712, 1756168192, NULL),
('o', 'jwp', 'patient', 172, 'i', 297140224, 45809664, 3),
('w', 'p', 'american', 450297856, 'z', 20, 4, 186),
('ridiculous', 'helpful', 'vy', -2022899712, 'conspiracy', NULL, 162, -264634368),
('t', 'g', 'spite', 289931264, 'y', 4, 13, NULL),
('performer', 'i', 'tomato', -1519386624, 'mz', 8, 87, 106),
('m', 'z', 'hang', 3, 'crowded', -537919488, 1, 2),
('fu', 'uot', 'j', 1, 'o', 179, 220, -2084569088),
('ts', 'n', 'su', 1, 'o', 198, 9, 68),
('ball', 'halfway', 'uf', 40, 'l', 145948672, 9, 149),
('hunting', 'n', 'teenager', 0, 'neat', 209, 2044461056, 68),
('independent', 'along', 'fpn', 5, 'pn', 3, 1353252864, 217),
('p', 'presumably', 'n', -1977548800, 'balanced', 1909260288, 197, NULL),
('pink', 'h', 'tear', 8, 'n', 254, 8, 1006305280),
('tyy', 'n', 'yyr', 1107820544, 'yr', NULL, 0, 219),
('u', 'retirement', 'thread', -2083192832, 'rx', -678232064, 209, 1048969216),
('xk', 'kb', 'z', 9, 'ba', 218, 7, 8),
('a', 'plenty', 'forget', 36, 'c', 215, 2027094016, NULL),
('i', 'compromise', 'n', -1090256896, 'o', 10, 66, 1872887808),
('x', 'disappointment', 'cognitive', 753860608, 'ua', 77, 123, 10),
('e', 'added', 'aub', 2, 'u', NULL, 9, 92),
('bc', 'h', 'n', 146, 'master', NULL, 1003945984, NULL),
('execution', 'f', 'cgp', 574423040, 'gp', 2, -518782976, -1189085184),
('pv', 'bad', 'v', 132, 'r', 195, 6, 5),
('modify', 'participation', 'vol', 237, 'j', -842924032, 88, -747765760),
('substantially', 'i', 'congressional', 2, 'edit', NULL, 1003159552, NULL),
('tell', 'forty', 'v', -910098432, 'd', 43, 3, NULL),
('crawl', 'ad', 'respect', -1851195392, 'p', 72, -1709047808, 1343225856),
('w', 'reception', 'fiber', 56, 's', NULL, 2, -993787904),
('successful', 'instruct', 'dug', 2, 'u', 7, -411500544, NULL),
('appointment', 'pregnant', 'weird', 2, 'r', NULL, -897384448, 76),
('g', 'j', 'thin', 663617536, 'oan', 1, 7, NULL),
('secretary', 'a', 'o', 103, 'nj', 1977745408, -1291124736, -1314521088),
('g', 'jq', 'q', 1875116032, 'blame', NULL, 1, 4),
('oj', 'j', 'breast', 150, 'c', NULL, 3, NULL),
('rd', 'm', 'comprehensive', 1723334656, 't', NULL, 155, -312344576) ,
('a', 'd', 'criminal', -1155137536, 'airplane', 242, -662896640, 1),
('fast', 'i', 'k', -386662400, 'zxe', NULL, 7, 119),
('xe', 'mouse', 'c', -205717504, 'ew', NULL, -729612288, 86),
('hang', 'j', 'o', 3, 'hungry', NULL, 200, 49),
('expense', 'z', 'sum', 2, 'gob', -472055808, -538181632, NULL),
('nest', 'o', 'k', 116, 'weak', NULL, 223, NULL);
INSERT INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8) VALUES ('impact', 'b', 'h', 185, 'fj', 7, 7, 3);
ERROR 23000: Duplicate entry '7' for key 'f6'
ALTER TABLE t1 ADD COLUMN filler VARCHAR(255) DEFAULT '';
SELECT * INTO OUTFILE 'load.data' FROM t1;
UPDATE IGNORE t1 SET pk = 0;
LOAD DATA INFILE 'load.data' REPLACE INTO TABLE t1;
HANDLER t1 OPEN AS h;
HANDLER h READ `PRIMARY` PREV WHERE 0;
pk f1 f2 f3 f4 f5 f6 f7 f8 filler
HANDLER h CLOSE;
DROP TABLE t1;
--source include/have_innodb.inc
--echo #
--echo # MDEV-17821 Assertion `!page_rec_is_supremum(rec)' failed
--echo # in btr_pcur_store_position
--echo #
CREATE TABLE t1 (pk INT PRIMARY KEY, c INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1,2);
ALTER TABLE t1 ADD COLUMN f VARCHAR(255);
ALTER TABLE t1 DROP COLUMN f;
DELETE FROM t1;
HANDLER t1 OPEN;
HANDLER t1 READ `PRIMARY` <= (3);
DROP TABLE t1;
CREATE TABLE t1 (
pk INT AUTO_INCREMENT,
f1 CHAR(32),
f2 CHAR(32),
f3 CHAR(32),
f4 INT,
f5 CHAR(32),
f6 INT,
f7 INT,
f8 INT,
PRIMARY KEY (pk),
UNIQUE (f6)
) ENGINE=InnoDB;
INSERT INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8) VALUES
('reality', 'llt', 'within', -1996816384, 'j', 160, 7, -1822687232),
('h', 'j', 'j', 251, 'civilian', NULL, 211, NULL),
('ltq', 'b', 'mud', 111, 'v', 90, 0, NULL),
('toxic', 'breakfast', 'series', 2, 'x', NULL, 118, 2),
('h', 'n', 'vision', 84, 'n', NULL, 197, 103),
('h', 'tq', 'q', 6, 'bet', -1927151616, -446038016, 3),
('pocket', 'qjt', 'jtl', 0, 'blink', NULL, 12, 0),
('k', 'uv', 'exist', 37, 'g', 149, -1610219520, NULL),
('parent', 'motion', 'u', 70, 'promote', NULL, 178, NULL),
('get', 'convict', 'liquid', -780337152, 'd', NULL, 4, NULL),
('vp', 'px', 'xi', -631111680, 'support', NULL, 8, NULL),
('ck', 'z', 'minority', 8, 'k', NULL, 864878592, NULL),
('kxx', 'g', 'container', 1, 'cholesterol', NULL, 4, 1404436480),
('xxv', 'rail', 'j', 219, 'serious', NULL, -816119808, 62),
('x', 'v', 'vr', 146, 'm', 16, 170, -1765867520),
('age', 'm', 'q', -1251278848, 'rte', 6, 224, NULL),
('discrimination', 't', 'q', 31, 'exl', 0, 2, 244),
('water', 'x', 'ldb', 98, 'r', 235, 4, 63),
('d', 'db', 'p', 248, 'so-called', 102, -255524864, 198),
('last', 'bz', 'us', 0, 'experienced', 137, 240, 134),
('q', 'z', 'attract', 67, 'code', 67, 75, 1758920704),
('yellow', 'c', 'u', 6, 'v', 1731985408, 528154624, 2),
('cognitive', 'he', 'protective', 590020608, 'sentence', NULL, 4, 102),
('eih', 'l', 'ih', 1266024448, 'traditionally', NULL, 190, NULL),
('pine', 'i', 'y', 6, 'glimpse', 214, 7, -1486880768),
('jo', 'everyone', 'ol', 0, 'lj', NULL, 1, 0),
('blood', 'f', 'scientist', 54, 'j', 1341128704, 168, NULL),
('z', 'brief', 'ambassador', 115, 'ygp', 82, 129, NULL),
('gp', 'severe', 'consist', 7, 'p', -1829961728, 602669056, 154),
('admit', 'poetry', 'x', 116, 'enemy', 174, -2128543744, -407764992),
('s', 'norm', 'decide', 2055667712, 'rtz', NULL, 99, -1233715200),
('tzg', 'f', 'beg', 2016280576, 'w', NULL, -643825664, 137),
('zgg', 'x', 'f', 148, 'y', -987496448, -708116480, 8),
('attorney', 'perfectly', 's', 49, 'z', -1865285632, 56, -1518534656),
('concentrate', 's', 'k', -1028849664, 'tir', 83, -1592459264, 1820065792),
('t', 'sacrifice', 'ir', -2143879168, 'recipe', 156, 217, NULL),
('wdf', 'd', 'f', 137, 'empty', NULL, 188, NULL),
('o', 'customer', 'qd', -2135293952, 'z', 1527840768, 227, -1174929408),
('d', 'qow', 'o', 1472266240, 'whe', NULL, 7, 197),
('deny', 'reputation', 'dutch', 59, 'v', 124, 2, 191),
('m', 'liver', 'fv', 0, 'policy', 781582336, 198574080, 177),
('vk', 'kx', 'immigrant', -1452736512, 'x', 163, 76, 6) ,
('j', 'ru', 'r', 67, 'joke', NULL, 3, NULL),
('o', 'u', 'a', -569442304, 'uz', NULL, 933298176, NULL),
('g', 'zb', 'c', -1694760960, 'fish', 18, -390463488, 1),
('bb', 'o', 'b', 6, 'z', 9, 12, NULL),
('compelling', 'xe', 'debut', 89, 'e', -734724096, 119, 175),
('md', 'r', 'object', 1046478848, 'frequently', 915537920, 0, 1506410496),
('dwn', 'wnz', 'x', 1767571456, 'nz', 241, -882180096, 9),
('zvf', 'vfo', 'g', -844824576, 'w', NULL, 1, 9),
('w', 'pose', 'r', 1029308416, 'a', -48627712, 1756168192, NULL),
('o', 'jwp', 'patient', 172, 'i', 297140224, 45809664, 3),
('w', 'p', 'american', 450297856, 'z', 20, 4, 186),
('ridiculous', 'helpful', 'vy', -2022899712, 'conspiracy', NULL, 162, -264634368),
('t', 'g', 'spite', 289931264, 'y', 4, 13, NULL),
('performer', 'i', 'tomato', -1519386624, 'mz', 8, 87, 106),
('m', 'z', 'hang', 3, 'crowded', -537919488, 1, 2),
('fu', 'uot', 'j', 1, 'o', 179, 220, -2084569088),
('ts', 'n', 'su', 1, 'o', 198, 9, 68),
('ball', 'halfway', 'uf', 40, 'l', 145948672, 9, 149),
('hunting', 'n', 'teenager', 0, 'neat', 209, 2044461056, 68),
('independent', 'along', 'fpn', 5, 'pn', 3, 1353252864, 217),
('p', 'presumably', 'n', -1977548800, 'balanced', 1909260288, 197, NULL),
('pink', 'h', 'tear', 8, 'n', 254, 8, 1006305280),
('tyy', 'n', 'yyr', 1107820544, 'yr', NULL, 0, 219),
('u', 'retirement', 'thread', -2083192832, 'rx', -678232064, 209, 1048969216),
('xk', 'kb', 'z', 9, 'ba', 218, 7, 8),
('a', 'plenty', 'forget', 36, 'c', 215, 2027094016, NULL),
('i', 'compromise', 'n', -1090256896, 'o', 10, 66, 1872887808),
('x', 'disappointment', 'cognitive', 753860608, 'ua', 77, 123, 10),
('e', 'added', 'aub', 2, 'u', NULL, 9, 92),
('bc', 'h', 'n', 146, 'master', NULL, 1003945984, NULL),
('execution', 'f', 'cgp', 574423040, 'gp', 2, -518782976, -1189085184),
('pv', 'bad', 'v', 132, 'r', 195, 6, 5),
('modify', 'participation', 'vol', 237, 'j', -842924032, 88, -747765760),
('substantially', 'i', 'congressional', 2, 'edit', NULL, 1003159552, NULL),
('tell', 'forty', 'v', -910098432, 'd', 43, 3, NULL),
('crawl', 'ad', 'respect', -1851195392, 'p', 72, -1709047808, 1343225856),
('w', 'reception', 'fiber', 56, 's', NULL, 2, -993787904),
('successful', 'instruct', 'dug', 2, 'u', 7, -411500544, NULL),
('appointment', 'pregnant', 'weird', 2, 'r', NULL, -897384448, 76),
('g', 'j', 'thin', 663617536, 'oan', 1, 7, NULL),
('secretary', 'a', 'o', 103, 'nj', 1977745408, -1291124736, -1314521088),
('g', 'jq', 'q', 1875116032, 'blame', NULL, 1, 4),
('oj', 'j', 'breast', 150, 'c', NULL, 3, NULL),
('rd', 'm', 'comprehensive', 1723334656, 't', NULL, 155, -312344576) ,
('a', 'd', 'criminal', -1155137536, 'airplane', 242, -662896640, 1),
('fast', 'i', 'k', -386662400, 'zxe', NULL, 7, 119),
('xe', 'mouse', 'c', -205717504, 'ew', NULL, -729612288, 86),
('hang', 'j', 'o', 3, 'hungry', NULL, 200, 49),
('expense', 'z', 'sum', 2, 'gob', -472055808, -538181632, NULL),
('nest', 'o', 'k', 116, 'weak', NULL, 223, NULL);
--error ER_DUP_ENTRY
INSERT INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8) VALUES ('impact', 'b', 'h', 185, 'fj', 7, 7, 3);
ALTER TABLE t1 ADD COLUMN filler VARCHAR(255) DEFAULT '';
SELECT * INTO OUTFILE 'load.data' FROM t1;
UPDATE IGNORE t1 SET pk = 0;
LOAD DATA INFILE 'load.data' REPLACE INTO TABLE t1;
HANDLER t1 OPEN AS h;
HANDLER h READ `PRIMARY` PREV WHERE 0;
# Cleanup
HANDLER h CLOSE;
DROP TABLE t1;
--let $datadir= `select @@datadir`
--remove_file $datadir/test/load.data
/***************************************************************************** /*****************************************************************************
Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2016, 2017, MariaDB Corporation. Copyright (c) 2016, 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
...@@ -141,6 +141,7 @@ btr_pcur_store_position( ...@@ -141,6 +141,7 @@ btr_pcur_store_position(
if (page_rec_is_supremum_low(offs)) { if (page_rec_is_supremum_low(offs)) {
cursor->rel_pos = BTR_PCUR_AFTER_LAST_IN_TREE; cursor->rel_pos = BTR_PCUR_AFTER_LAST_IN_TREE;
} else { } else {
before_first:
cursor->rel_pos = BTR_PCUR_BEFORE_FIRST_IN_TREE; cursor->rel_pos = BTR_PCUR_BEFORE_FIRST_IN_TREE;
} }
...@@ -165,8 +166,14 @@ btr_pcur_store_position( ...@@ -165,8 +166,14 @@ btr_pcur_store_position(
rec = page_rec_get_next(rec); rec = page_rec_get_next(rec);
if (rec_is_metadata(rec, *index)) { if (rec_is_metadata(rec, *index)) {
ut_ad(!page_has_prev(page));
ut_d(const rec_t* p = rec);
rec = page_rec_get_next(rec); rec = page_rec_get_next(rec);
ut_ad(!page_rec_is_supremum(rec)); if (page_rec_is_supremum(rec)) {
ut_ad(page_has_next(page)
|| rec_is_alter_metadata(p, *index));
goto before_first;
}
} }
cursor->rel_pos = BTR_PCUR_BEFORE; cursor->rel_pos = BTR_PCUR_BEFORE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment