summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/count_distinct2.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/count_distinct2.test')
-rw-r--r--mysql-test/main/count_distinct2.test88
1 files changed, 88 insertions, 0 deletions
diff --git a/mysql-test/main/count_distinct2.test b/mysql-test/main/count_distinct2.test
new file mode 100644
index 00000000..f5d16527
--- /dev/null
+++ b/mysql-test/main/count_distinct2.test
@@ -0,0 +1,88 @@
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+create table t1(n1 int, n2 int, s char(20), vs varchar(20), t text);
+insert into t1 values (1,11, 'one','eleven', 'eleven'),
+ (1,11, 'one','eleven', 'eleven'),
+ (2,11, 'two','eleven', 'eleven'),
+ (2,12, 'two','twevle', 'twelve'),
+ (2,13, 'two','thirteen', 'foo'),
+ (2,13, 'two','thirteen', 'foo'),
+ (2,13, 'two','thirteen', 'bar'),
+ (NULL,13, 'two','thirteen', 'bar'),
+ (2,NULL, 'two','thirteen', 'bar'),
+ (2,13, NULL,'thirteen', 'bar'),
+ (2,13, 'two',NULL, 'bar'),
+ (2,13, 'two','thirteen', NULL);
+
+select distinct n1 from t1;
+select count(distinct n1) from t1;
+
+select distinct n2 from t1;
+select count(distinct n2) from t1;
+
+select distinct s from t1;
+select count(distinct s) from t1;
+
+select distinct vs from t1;
+select count(distinct vs) from t1;
+
+select distinct t from t1;
+select count(distinct t) from t1;
+
+select distinct n1,n2 from t1;
+select count(distinct n1,n2) from t1;
+
+select distinct n1,s from t1;
+select count(distinct n1,s) from t1;
+
+select distinct s,n1,vs from t1;
+select count(distinct s,n1,vs) from t1;
+
+select distinct s,t from t1;
+select count(distinct s,t) from t1;
+
+select count(distinct n1), count(distinct n2) from t1;
+
+select count(distinct n2), n1 from t1 group by n1;
+drop table t1;
+
+--disable_ps2_protocol
+# test the conversion from tree to MyISAM
+create table t1 (n int default NULL);
+let $1=5000;
+--disable_query_log
+begin;
+while ($1)
+{
+ eval insert into t1 values($1);
+ dec $1;
+}
+commit;
+--enable_query_log
+
+flush status;
+select count(distinct n) from t1;
+show status like 'Created_tmp_disk_tables';
+drop table t1;
+
+# Test use of MyISAM tmp tables
+create table t1 (s text);
+let $1=5000;
+--disable_query_log
+begin;
+while ($1)
+{
+ eval insert into t1 values('$1');
+ dec $1;
+}
+commit;
+--enable_query_log
+flush status;
+select count(distinct s) from t1;
+show status like 'Created_tmp_disk_tables';
+drop table t1;
+--enable_ps2_protocol
+
+# End of 4.1 tests