Re: Query with join_cache_level = 6 returns extra rows in maria-5.3-dsmrr-cpk
Test case:
--source include/have_innodb.inc
CREATE TABLE `CC` (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`col_int_nokey` int(11) DEFAULT NULL,
PRIMARY KEY (`pk`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=latin1;
INSERT INTO `CC` VALUES (10,7);
INSERT INTO `CC` VALUES (11,1);
INSERT INTO `CC` VALUES (12,5);
INSERT INTO `CC` VALUES (13,3);
INSERT INTO `CC` VALUES (14,6);
INSERT INTO `CC` VALUES (15,92);
INSERT INTO `CC` VALUES (16,7);
INSERT INTO `CC` VALUES (17,NULL);
INSERT INTO `CC` VALUES (18,3);
INSERT INTO `CC` VALUES (19,5);
INSERT INTO `CC` VALUES (20,1);
INSERT INTO `CC` VALUES (21,2);
INSERT INTO `CC` VALUES (22,NULL);
INSERT INTO `CC` VALUES (23,1);
INSERT INTO `CC` VALUES (24,0);
INSERT INTO `CC` VALUES (25,210);
INSERT INTO `CC` VALUES (26,8);
INSERT INTO `CC` VALUES (27,7);
INSERT INTO `CC` VALUES (28,5);
INSERT INTO `CC` VALUES (29,NULL);
CREATE TABLE `C` (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`col_int_nokey` int(11) DEFAULT NULL,
PRIMARY KEY (`pk`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
INSERT INTO `C` VALUES (1,NULL);
INSERT INTO `C` VALUES (2,7);
INSERT INTO `C` VALUES (3,9);
INSERT INTO `C` VALUES (4,7);
INSERT INTO `C` VALUES (5,4);
INSERT INTO `C` VALUES (6,2);
INSERT INTO `C` VALUES (7,6);
INSERT INTO `C` VALUES (8,8);
INSERT INTO `C` VALUES (9,NULL);
INSERT INTO `C` VALUES (10,5);
INSERT INTO `C` VALUES (11,NULL);
INSERT INTO `C` VALUES (12,6);
INSERT INTO `C` VALUES (13,188);
INSERT INTO `C` VALUES (14,2);
INSERT INTO `C` VALUES (15,1);
INSERT INTO `C` VALUES (16,1);
INSERT INTO `C` VALUES (17,0);
INSERT INTO `C` VALUES (18,9);
INSERT INTO `C` VALUES (19,NULL);
INSERT INTO `C` VALUES (20,4);
SET SESSION join_cache_level = 0;
SELECT table2 .`col_int_nokey`
FROM CC table1 JOIN C table2 ON table2 .`pk` = table1 .`col_int_nokey`
WHERE table1 .`pk` ;
SET SESSION join_cache_level = 6;
SELECT table2 .`col_int_nokey`
FROM CC table1 JOIN C table2 ON table2 .`pk` = table1 .`col_int_nokey`
WHERE table1 .`pk` ;
Re: Query with join_cache_level = 6 returns extra rows in maria-5.3-dsmrr-cpk
Test case:
--source include/have_innodb.inc
CREATE TABLE `CC` (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`col_int_nokey` int(11) DEFAULT NULL,
PRIMARY KEY (`pk`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=latin1;
INSERT INTO `CC` VALUES (10,7);
INSERT INTO `CC` VALUES (11,1);
INSERT INTO `CC` VALUES (12,5);
INSERT INTO `CC` VALUES (13,3);
INSERT INTO `CC` VALUES (14,6);
INSERT INTO `CC` VALUES (15,92);
INSERT INTO `CC` VALUES (16,7);
INSERT INTO `CC` VALUES (17,NULL);
INSERT INTO `CC` VALUES (18,3);
INSERT INTO `CC` VALUES (19,5);
INSERT INTO `CC` VALUES (20,1);
INSERT INTO `CC` VALUES (21,2);
INSERT INTO `CC` VALUES (22,NULL);
INSERT INTO `CC` VALUES (23,1);
INSERT INTO `CC` VALUES (24,0);
INSERT INTO `CC` VALUES (25,210);
INSERT INTO `CC` VALUES (26,8);
INSERT INTO `CC` VALUES (27,7);
INSERT INTO `CC` VALUES (28,5);
INSERT INTO `CC` VALUES (29,NULL);
CREATE TABLE `C` (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`col_int_nokey` int(11) DEFAULT NULL,
PRIMARY KEY (`pk`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
INSERT INTO `C` VALUES (1,NULL);
INSERT INTO `C` VALUES (2,7);
INSERT INTO `C` VALUES (3,9);
INSERT INTO `C` VALUES (4,7);
INSERT INTO `C` VALUES (5,4);
INSERT INTO `C` VALUES (6,2);
INSERT INTO `C` VALUES (7,6);
INSERT INTO `C` VALUES (8,8);
INSERT INTO `C` VALUES (9,NULL);
INSERT INTO `C` VALUES (10,5);
INSERT INTO `C` VALUES (11,NULL);
INSERT INTO `C` VALUES (12,6);
INSERT INTO `C` VALUES (13,188);
INSERT INTO `C` VALUES (14,2);
INSERT INTO `C` VALUES (15,1);
INSERT INTO `C` VALUES (16,1);
INSERT INTO `C` VALUES (17,0);
INSERT INTO `C` VALUES (18,9);
INSERT INTO `C` VALUES (19,NULL);
INSERT INTO `C` VALUES (20,4);
SET SESSION join_cache_level = 0;
SELECT table2 .`col_int_nokey`
FROM CC table1 JOIN C table2 ON table2 .`pk` = table1 .`col_int_nokey`
WHERE table1 .`pk` ;
SET SESSION join_cache_level = 6;
SELECT table2 .`col_int_nokey`
FROM CC table1 JOIN C table2 ON table2 .`pk` = table1 .`col_int_nokey`
WHERE table1 .`pk` ;