1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-5817 MySQL BUG#11825482: Broken key length calculation for btree index

just as in 5.6 fix - copy the correct null-handling code from MyISAM
This commit is contained in:
Sergei Golubchik
2014-03-21 14:36:49 +01:00
parent a52e2c787d
commit f17831fa74
3 changed files with 79 additions and 0 deletions

View File

@@ -510,6 +510,41 @@ DELETE FROM t1 WHERE ts = 1 AND color = 'GREEN';
SELECT * from t1;
DROP TABLE t1;
--echo #
--echo # BUG#11825482: Broken key length calculation for btree index
--echo #
CREATE TABLE h1 (f1 VARCHAR(1), f2 INT NOT NULL,
UNIQUE KEY h1i (f1,f2) USING BTREE ) ENGINE=HEAP;
INSERT INTO h1 VALUES(NULL,0),(NULL,1);
SELECT 'wrong' as 'result' FROM dual WHERE ('h', 0) NOT IN (SELECT * FROM h1);
CREATE TABLE t1 (
pk int NOT NULL,
col_int_nokey INT,
col_varchar_nokey VARCHAR(1),
PRIMARY KEY (pk)
);
INSERT INTO t1 VALUES (19,5,'h'),(20,5,'h');
CREATE TABLE t2 (col_int_nokey INT);
INSERT INTO t2 VALUES (1),(2);
CREATE VIEW v1 AS
SELECT col_varchar_nokey, COUNT( col_varchar_nokey )
FROM t1
WHERE col_int_nokey <= 141 AND pk <= 4
;
SELECT col_int_nokey FROM t2
WHERE ('h', 0) NOT IN ( SELECT * FROM v1);
--echo # shouldn't crash
EXPLAIN SELECT col_int_nokey FROM t2
WHERE ('h', 0) NOT IN ( SELECT * FROM v1);
DROP TABLE t1,t2,h1;
DROP VIEW v1;
# End of 5.1 tests
#