mirror of
https://github.com/MariaDB/server.git
synced 2025-01-24 15:54:37 +01:00
58 lines
No EOL
1.6 KiB
Text
58 lines
No EOL
1.6 KiB
Text
--source include/have_tokudb.inc
|
|
use test;
|
|
|
|
drop table if exists site;
|
|
drop table if exists screenshot;
|
|
|
|
CREATE TABLE `site` (
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|
`title` varchar(200) NOT NULL DEFAULT '',
|
|
PRIMARY KEY (`id`),
|
|
KEY `owner_title` (`title`)
|
|
) ENGINE=TokuDB AUTO_INCREMENT=575 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `screenshot` (
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|
`site` int(11) unsigned NOT NULL,
|
|
`timestamp` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=TokuDB AUTO_INCREMENT=82720 DEFAULT CHARSET=utf8;
|
|
|
|
INSERT INTO `site` (`id`, `title`)
|
|
VALUES
|
|
(9, 'Facebook'),
|
|
(6, 'Google');
|
|
|
|
INSERT INTO `screenshot` (`id`, `site`, `timestamp`)
|
|
VALUES
|
|
(74675, 6, '2013-04-28 12:37:03'),
|
|
(82712, 6, '2013-04-30 12:47:04'),
|
|
(299, 9, '2012-09-09 13:15:28'),
|
|
(63038, 9, '2013-04-26 12:07:06'),
|
|
(82213, 9, '2013-04-29 20:00:11'),
|
|
(3911, 33, '2012-11-12 00:00:42');
|
|
|
|
#this query is always correct
|
|
SELECT *
|
|
FROM site
|
|
LEFT JOIN screenshot
|
|
ON site.id = screenshot.site
|
|
AND timestamp > '2013-04-28 13:30:00'
|
|
WHERE screenshot.id IS NULL;
|
|
|
|
# this query is always correct
|
|
SELECT * FROM site where site.id not in (select screenshot.site from screenshot where timestamp > '2013-04-28 13:30:00');
|
|
|
|
# adding either of these two indexes causes the SQL to return an incorrect rowset (1 rows instead of 0 rows)
|
|
create index `site` on screenshot(`site`);
|
|
|
|
# this query is wrong when one or both of the above indexes is added
|
|
SELECT *
|
|
FROM site
|
|
LEFT JOIN screenshot
|
|
ON site.id = screenshot.site
|
|
AND timestamp > '2013-04-28 13:30:00'
|
|
WHERE screenshot.id IS NULL;
|
|
|
|
drop table site;
|
|
drop table screenshot; |