Commit bc916eed authored by zkasheff's avatar zkasheff

add test for svn ticket 6684

parent 6583bd6d
use test;
drop table if exists site;
Warnings:
Note 1051 Unknown table 'site'
drop table if exists screenshot;
Warnings:
Note 1051 Unknown table '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');
SELECT *
FROM site
LEFT JOIN screenshot
ON site.id = screenshot.site
AND timestamp > '2013-04-28 13:30:00'
WHERE screenshot.id IS NULL;
id title id site timestamp
SELECT * FROM site where site.id not in (select screenshot.site from screenshot where timestamp > '2013-04-28 13:30:00');
id title
create index `site` on screenshot(`site`);
SELECT *
FROM site
LEFT JOIN screenshot
ON site.id = screenshot.site
AND timestamp > '2013-04-28 13:30:00'
WHERE screenshot.id IS NULL;
id title id site timestamp
drop table site;
drop table screenshot;
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;
\ No newline at end of file
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