mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
bzr merge -rtag:mariadb-5.5.38 maria/5.5
This commit is contained in:
12
mysql-test/suite/innodb/r/count_distinct.result
Normal file
12
mysql-test/suite/innodb/r/count_distinct.result
Normal file
@@ -0,0 +1,12 @@
|
||||
CREATE TABLE t1 (
|
||||
id int NOT NULL AUTO_INCREMENT,
|
||||
a int NOT NULL,
|
||||
b int NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY ba (b, a)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO t1 (a, b) VALUES(1,101),(1,102),(1,103),(1,104),(1,105),(1,106),(1,107),(1,108),(1,109),(1,110);
|
||||
SELECT COUNT(DISTINCT b) FROM t1 WHERE a = 1;
|
||||
COUNT(DISTINCT b)
|
||||
10
|
||||
DROP TABLE t1;
|
||||
72
mysql-test/suite/innodb/r/innodb-changed-pages.result
Normal file
72
mysql-test/suite/innodb/r/innodb-changed-pages.result
Normal file
@@ -0,0 +1,72 @@
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 10 AND end_lsn > 20 ;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA . `INNODB_CHANGED_PAGES` AS table1 WHERE ( ( (NOT ( ( ( ( (NOT ( table1 . `page_id` <> table1 . `start_lsn` AND table1 . `space_id` <> 8) AND table1 . `page_id` >= table1 . `end_lsn`) OR table1 . `end_lsn` = table1 . `space_id`) AND table1 . `end_lsn` <> table1 . `page_id`) OR table1 . `end_lsn` < 8) AND table1 . `space_id` >= '2000-06-10 11:33:07.046821') AND table1 . `end_lsn` >= 5) AND table1 . `start_lsn` < 'mm') OR table1 . `end_lsn` != table1 . `end_lsn`) HAVING ( table1 . `start_lsn` < '2005-09-09 01:34:19.012946' OR table1 . `page_id` < 6) ORDER BY table1 . `start_lsn`
|
||||
LIMIT 3;
|
||||
space_id page_id start_lsn end_lsn
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'mm'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '2005-09-09 01:34:19.012946'
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn > 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn >= 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn > 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn >= 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 and end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 and end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 and end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 and end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn = 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn = 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn > 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn > 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn >= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn >= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn > 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn > 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn >= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn >= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE (start_lsn > 2000000 and end_lsn < 3000000) or (start_lsn > 4000000 and end_lsn < 5000000);
|
||||
space_id page_id start_lsn end_lsn
|
||||
15
mysql-test/suite/innodb/t/count_distinct.test
Normal file
15
mysql-test/suite/innodb/t/count_distinct.test
Normal file
@@ -0,0 +1,15 @@
|
||||
--source include/have_innodb.inc
|
||||
|
||||
#
|
||||
# MDEV-4925 Wrong result - count(distinct), Using index for group-by (scanning)
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
id int NOT NULL AUTO_INCREMENT,
|
||||
a int NOT NULL,
|
||||
b int NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY ba (b, a)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO t1 (a, b) VALUES(1,101),(1,102),(1,103),(1,104),(1,105),(1,106),(1,107),(1,108),(1,109),(1,110);
|
||||
SELECT COUNT(DISTINCT b) FROM t1 WHERE a = 1;
|
||||
DROP TABLE t1;
|
||||
@@ -0,0 +1 @@
|
||||
--innodb-track-changed-pages=0 --innodb-changed-pages=1
|
||||
63
mysql-test/suite/innodb/t/innodb-changed-pages.test
Normal file
63
mysql-test/suite/innodb/t/innodb-changed-pages.test
Normal file
@@ -0,0 +1,63 @@
|
||||
-- source include/have_xtradb.inc
|
||||
|
||||
#
|
||||
# This test requires innodb-changed-pages=1 so that necessary information schema table exists
|
||||
# and innodb-track-changed-pages=0 to disable actual changed pages tracking, because
|
||||
# page number are not consistent from run to run
|
||||
#
|
||||
|
||||
#
|
||||
# MDEV-4791: ssertion range_end >= range_start fails in log0online.c
|
||||
# on select from I_S.INNODB_CHANGED_PAGES
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 10 AND end_lsn > 20 ;
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA . `INNODB_CHANGED_PAGES` AS table1 WHERE ( ( (NOT ( ( ( ( (NOT ( table1 . `page_id` <> table1 . `start_lsn` AND table1 . `space_id` <> 8) AND table1 . `page_id` >= table1 . `end_lsn`) OR table1 . `end_lsn` = table1 . `space_id`) AND table1 . `end_lsn` <> table1 . `page_id`) OR table1 . `end_lsn` < 8) AND table1 . `space_id` >= '2000-06-10 11:33:07.046821') AND table1 . `end_lsn` >= 5) AND table1 . `start_lsn` < 'mm') OR table1 . `end_lsn` != table1 . `end_lsn`) HAVING ( table1 . `start_lsn` < '2005-09-09 01:34:19.012946' OR table1 . `page_id` < 6) ORDER BY table1 . `start_lsn`
|
||||
LIMIT 3;
|
||||
|
||||
#
|
||||
# Basic tests
|
||||
#
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES;
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn > 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn >= 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn > 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn >= 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 and end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 and end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 and end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 and end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn = 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn = 2000000;
|
||||
|
||||
#
|
||||
# OR
|
||||
#
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn > 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn > 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn >= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn >= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn > 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn > 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn >= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn >= 3000000;
|
||||
|
||||
#
|
||||
# Range
|
||||
#
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE (start_lsn > 2000000 and end_lsn < 3000000) or (start_lsn > 4000000 and end_lsn < 5000000);
|
||||
|
||||
Reference in New Issue
Block a user