diff options
author | Igor Babaev <igor@askmonty.org> | 2013-03-27 22:22:52 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2013-03-27 22:22:52 -0700 |
commit | a2c3d7d371b51f0a41dd1bbf834f033f62db18b3 (patch) | |
tree | 83b40c35d0aa39ddbdede32d82a4e294605f9365 /mysql-test | |
parent | 6599fd3e9c23a8957a63146cbe6a0ffc4c292a3d (diff) | |
parent | 323fdd7ac6e6541a6cc3ab7c48e330805c67d4f3 (diff) | |
download | mariadb-git-a2c3d7d371b51f0a41dd1bbf834f033f62db18b3.tar.gz |
Merge
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/disabled.def | 1 | ||||
-rw-r--r-- | mysql-test/r/sum_distinct-big.result | 58 | ||||
-rw-r--r-- | mysql-test/t/sum_distinct-big.test | 69 |
3 files changed, 127 insertions, 1 deletions
diff --git a/mysql-test/disabled.def b/mysql-test/disabled.def index 37b4626e6db..3d33be79473 100644 --- a/mysql-test/disabled.def +++ b/mysql-test/disabled.def @@ -13,7 +13,6 @@ tablespace : disabled in MariaDB (no TABLESPACE table attribute) events_time_zone : Test is not predictable as it depends on precise timing. lowercase_table3 : Bug#11762269 2010-06-30 alik main.lowercase_table3 on Mac OSX read_many_rows_innodb : Bug#11748886 2010-11-15 mattiasj report already exists -sum_distinct-big : Bug#11764126 2010-11-15 mattiasj was not tested archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc log_tables-big : Bug#11756699 2010-11-15 mattiasj report already exists mysql_embedded : Bug#12561297 2011-05-14 Anitha Dependent on PB2 changes - eventum#41836 diff --git a/mysql-test/r/sum_distinct-big.result b/mysql-test/r/sum_distinct-big.result index d4933b31f80..2d350826ac8 100644 --- a/mysql-test/r/sum_distinct-big.result +++ b/mysql-test/r/sum_distinct-big.result @@ -1,4 +1,8 @@ DROP TABLE IF EXISTS t1, t2; +set @save_tmp_table_size=@@tmp_table_size; +set @save_max_heap_table_size=@@max_heap_table_size; +set @save_storage_engine=@@storage_engine; +set storage_engine=MYISAM; CREATE TABLE t1 (id INTEGER); CREATE TABLE t2 (id INTEGER); INSERT INTO t1 (id) VALUES (1), (1), (1),(1); @@ -120,3 +124,57 @@ sm 536887296 DROP TABLE t1; DROP TABLE t2; +SET @@tmp_table_size=@save_tmp_table_size; +SET @@max_heap_table_size=@save_max_heap_table_size; +# +# Bug mdev-4311: COUNT(DISTINCT...) requiring a file for Unique +# (bug #68749) +# +set @save_storage_engine=@@storage_engine; +set storage_engine=INNODB; +CREATE TABLE t1 (id INTEGER) ENGINE=InnoDB; +CREATE TABLE t2 (id INTEGER) ENGINE=InnoDB; +INSERT INTO t1 (id) VALUES (1), (1), (1),(1); +INSERT INTO t1 (id) SELECT id FROM t1; +INSERT INTO t1 (id) SELECT id FROM t1; +INSERT INTO t1 (id) SELECT id FROM t1; +INSERT INTO t1 (id) SELECT id FROM t1; +INSERT INTO t1 (id) SELECT id FROM t1; +INSERT INTO t1 SELECT id+1 FROM t1; +INSERT INTO t1 SELECT id+2 FROM t1; +INSERT INTO t1 SELECT id+4 FROM t1; +INSERT INTO t1 SELECT id+8 FROM t1; +INSERT INTO t1 SELECT id+16 FROM t1; +INSERT INTO t1 SELECT id+32 FROM t1; +INSERT INTO t1 SELECT id+64 FROM t1; +INSERT INTO t1 SELECT id+128 FROM t1; +INSERT INTO t1 SELECT id+256 FROM t1; +INSERT INTO t1 SELECT id+512 FROM t1; +INSERT INTO t1 SELECT id+1024 FROM t1; +INSERT INTO t1 SELECT id+2048 FROM t1; +INSERT INTO t1 SELECT id+4096 FROM t1; +INSERT INTO t1 SELECT id+8192 FROM t1; +INSERT INTO t2 SELECT id FROM t1 ORDER BY id*rand(); +INSERT INTO t2 VALUE(NULL); +# With default tmp_table_size / max_heap_table_size +SELECT SQL_NO_CACHE count(DISTINCT id) sm FROM t2; +sm +16384 +set @@tmp_table_size=1024*256; +# With reduced tmp_table_size +SELECT SQL_NO_CACHE count(DISTINCT id) sm FROM t2; +sm +16384 +set @@tmp_table_size=@save_tmp_table_size; +SET @@max_heap_table_size=1024*256; +# With reduced max_heap_table_size +SELECT SQL_NO_CACHE count(DISTINCT id) sm FROM t2; +sm +16384 +SET @@max_heap_table_size=@save_max_heap_table_size; +# Back to default tmp_table_size / max_heap_table_size +SELECT SQL_NO_CACHE count(DISTINCT id) sm FROM t2; +sm +16384 +DROP TABLE t1,t2; +set storage_engine=@save_storage_engine; diff --git a/mysql-test/t/sum_distinct-big.test b/mysql-test/t/sum_distinct-big.test index d3710056c9a..fee406ee46d 100644 --- a/mysql-test/t/sum_distinct-big.test +++ b/mysql-test/t/sum_distinct-big.test @@ -3,15 +3,23 @@ # --source include/big_test.inc +--source include/have_innodb.inc --disable_warnings DROP TABLE IF EXISTS t1, t2; --enable_warnings +set @save_tmp_table_size=@@tmp_table_size; +set @save_max_heap_table_size=@@max_heap_table_size; + +set @save_storage_engine=@@storage_engine; + # # Test the case when distinct values doesn't fit in memory and # filesort is used (see uniques.cc:merge_walk) # +set storage_engine=MYISAM; + CREATE TABLE t1 (id INTEGER); CREATE TABLE t2 (id INTEGER); @@ -82,3 +90,64 @@ SELECT SUM(DISTINCT id) sm FROM t2; DROP TABLE t1; DROP TABLE t2; + +SET @@tmp_table_size=@save_tmp_table_size; +SET @@max_heap_table_size=@save_max_heap_table_size; + +--echo # +--echo # Bug mdev-4311: COUNT(DISTINCT...) requiring a file for Unique +--echo # (bug #68749) +--echo # + +set @save_storage_engine=@@storage_engine; +set storage_engine=INNODB; + +CREATE TABLE t1 (id INTEGER) ENGINE=InnoDB; +CREATE TABLE t2 (id INTEGER) ENGINE=InnoDB; + +INSERT INTO t1 (id) VALUES (1), (1), (1),(1); +INSERT INTO t1 (id) SELECT id FROM t1; +INSERT INTO t1 (id) SELECT id FROM t1; +INSERT INTO t1 (id) SELECT id FROM t1; +INSERT INTO t1 (id) SELECT id FROM t1; +INSERT INTO t1 (id) SELECT id FROM t1; +INSERT INTO t1 SELECT id+1 FROM t1; +INSERT INTO t1 SELECT id+2 FROM t1; +INSERT INTO t1 SELECT id+4 FROM t1; +INSERT INTO t1 SELECT id+8 FROM t1; +INSERT INTO t1 SELECT id+16 FROM t1; +INSERT INTO t1 SELECT id+32 FROM t1; +INSERT INTO t1 SELECT id+64 FROM t1; +INSERT INTO t1 SELECT id+128 FROM t1; +INSERT INTO t1 SELECT id+256 FROM t1; +INSERT INTO t1 SELECT id+512 FROM t1; +INSERT INTO t1 SELECT id+1024 FROM t1; +INSERT INTO t1 SELECT id+2048 FROM t1; +INSERT INTO t1 SELECT id+4096 FROM t1; +INSERT INTO t1 SELECT id+8192 FROM t1; + +INSERT INTO t2 SELECT id FROM t1 ORDER BY id*rand(); +INSERT INTO t2 VALUE(NULL); + +--echo # With default tmp_table_size / max_heap_table_size +SELECT SQL_NO_CACHE count(DISTINCT id) sm FROM t2; + +set @@tmp_table_size=1024*256; + +--echo # With reduced tmp_table_size +SELECT SQL_NO_CACHE count(DISTINCT id) sm FROM t2; + +set @@tmp_table_size=@save_tmp_table_size; +SET @@max_heap_table_size=1024*256; + +--echo # With reduced max_heap_table_size +SELECT SQL_NO_CACHE count(DISTINCT id) sm FROM t2; + +SET @@max_heap_table_size=@save_max_heap_table_size; + +--echo # Back to default tmp_table_size / max_heap_table_size +SELECT SQL_NO_CACHE count(DISTINCT id) sm FROM t2; + +DROP TABLE t1,t2; + +set storage_engine=@save_storage_engine; |