-
-
Notifications
You must be signed in to change notification settings - Fork 141
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test(mtr): Add select_precision.test and select_distinct.test(#497)
- Loading branch information
1 parent
35e7800
commit 6f2eb40
Showing
4 changed files
with
189 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# | ||
# SELECT DISTINCT | ||
# | ||
DROP DATABASE IF EXISTS select_distinct_test; | ||
CREATE DATABASE select_distinct_test; | ||
USE select_distinct_test; | ||
CREATE TABLE t1(col1 INT, col2 CHAR(5)); | ||
INSERT INTO t1 VALUES(NULL,''),(1,'a'),(1,'b'),(1,'c'),(2,'dd'),(3,'eee'); | ||
SELECT COUNT(DISTINCT col1) FROM t1; | ||
COUNT(DISTINCT col1) | ||
3 | ||
SELECT COUNT(DISTINCT col2) FROM t1; | ||
COUNT(DISTINCT col2) | ||
6 | ||
SELECT DISTINCT col1 FROM t1; | ||
col1 | ||
NULL | ||
1 | ||
2 | ||
3 | ||
SELECT DISTINCT col1 FROM t1 ORDER BY col1 DESC; | ||
col1 | ||
3 | ||
2 | ||
1 | ||
NULL | ||
SELECT DISTINCT col2 FROM t1; | ||
col2 | ||
|
||
a | ||
b | ||
c | ||
dd | ||
eee | ||
CREATE TABLE t2(col1 INT); | ||
INSERT INTO t2 SELECT DISTINCT col1 FROM t1; | ||
SELECT * FROM t2; | ||
col1 | ||
NULL | ||
1 | ||
2 | ||
3 | ||
CREATE TABLE t3 (name varchar(255)); | ||
INSERT INTO t3 VALUES ('aa'),('ab'),('ac'),('ad'),('ae'); | ||
SELECT DISTINCT * FROM t3; | ||
name | ||
aa | ||
ab | ||
ac | ||
ad | ||
ae | ||
SELECT DISTINCT name FROM t3 LIMIT 2; | ||
name | ||
aa | ||
ab | ||
SELECT DISTINCT 1 FROM t3 LIMIT 3; | ||
1 | ||
1 | ||
DROP DATABASE select_distinct_test; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
# | ||
# SELECT PRECISION | ||
# | ||
DROP DATABASE IF EXISTS select_precision_test; | ||
CREATE DATABASE select_precision_test; | ||
USE select_precision_test; | ||
SELECT @@sql_mode; | ||
@@sql_mode | ||
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | ||
CREATE TABLE t (col TINYINT); | ||
INSERT INTO t SET col = 128; | ||
ERROR 22003: Out of range value for column 'col' at row 1 | ||
SELECT col FROM t; | ||
col | ||
INSERT INTO t SET col = 1 / 0; | ||
ERROR 22012: Division by 0 | ||
SELECT col FROM t; | ||
col | ||
SET sql_mode=''; | ||
INSERT INTO t SET col = 128; | ||
SELECT col FROM t; | ||
col | ||
127 | ||
INSERT INTO t SET col = 1 / 0; | ||
SELECT col FROM t; | ||
col | ||
127 | ||
NULL | ||
CREATE TABLE t1 (col FLOAT); | ||
INSERT INTO t1 VALUES (NULL),(2.13),(-2.13),(21.5e0),(-21.5e0),(35.498),(986.512),(-376012.9751); | ||
SELECT col, ROUND(col), ROUND(col,1), ROUND(col,-1), ROUND(col,-2), ROUND(col,3) FROM t1; | ||
col ROUND(col) ROUND(col,1) ROUND(col,-1) ROUND(col,-2) ROUND(col,3) | ||
NULL NULL NULL NULL NULL NULL | ||
2.13 2 2.1 0 0 2.130 | ||
-2.13 -2 -2.1 0 0 -2.130 | ||
21.5 22 21.5 20 0 21.500 | ||
-21.5 -22 -21.5 -20 0 -21.500 | ||
35.498 35 35.5 40 0 35.498 | ||
986.512 987 986.5 990 1000 986.512 | ||
-376013 -376013 -376013.0 -376010 -376000 -376012.969 | ||
SELECT (.1 + .2) = .3; | ||
(.1 + .2) = .3 | ||
1 | ||
SELECT (.1e0 + .2e0) = .3e0; | ||
(.1e0 + .2e0) = .3e0 | ||
0 | ||
SELECT .01 * .01; | ||
.01 * .01 | ||
0.0001 | ||
SELECT .1 / .1; | ||
.1 / .1 | ||
1.00000 | ||
SET sql_mode=default; | ||
DROP DATABASE select_precision_test; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
--source include/have_tianmu.inc | ||
|
||
--echo # | ||
--echo # SELECT DISTINCT | ||
--echo # | ||
|
||
--disable_warnings | ||
DROP DATABASE IF EXISTS select_distinct_test; | ||
--enable_warnings | ||
|
||
CREATE DATABASE select_distinct_test; | ||
USE select_distinct_test; | ||
|
||
CREATE TABLE t1(col1 INT, col2 CHAR(5)); | ||
INSERT INTO t1 VALUES(NULL,''),(1,'a'),(1,'b'),(1,'c'),(2,'dd'),(3,'eee'); | ||
SELECT COUNT(DISTINCT col1) FROM t1; | ||
SELECT COUNT(DISTINCT col2) FROM t1; | ||
SELECT DISTINCT col1 FROM t1; | ||
SELECT DISTINCT col1 FROM t1 ORDER BY col1 DESC; | ||
SELECT DISTINCT col2 FROM t1; | ||
|
||
CREATE TABLE t2(col1 INT); | ||
INSERT INTO t2 SELECT DISTINCT col1 FROM t1; | ||
SELECT * FROM t2; | ||
|
||
CREATE TABLE t3 (name varchar(255)); | ||
INSERT INTO t3 VALUES ('aa'),('ab'),('ac'),('ad'),('ae'); | ||
SELECT DISTINCT * FROM t3; | ||
SELECT DISTINCT name FROM t3 LIMIT 2; | ||
SELECT DISTINCT 1 FROM t3 LIMIT 3; | ||
|
||
# Clean UP | ||
DROP DATABASE select_distinct_test; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
--source include/have_tianmu.inc | ||
|
||
--echo # | ||
--echo # SELECT PRECISION | ||
--echo # | ||
|
||
--disable_warnings | ||
DROP DATABASE IF EXISTS select_precision_test; | ||
--enable_warnings | ||
|
||
CREATE DATABASE select_precision_test; | ||
USE select_precision_test; | ||
|
||
SELECT @@sql_mode; | ||
CREATE TABLE t (col TINYINT); | ||
--error ER_WARN_DATA_OUT_OF_RANGE | ||
INSERT INTO t SET col = 128; | ||
SELECT col FROM t; | ||
--error ER_DIVISION_BY_ZERO | ||
INSERT INTO t SET col = 1 / 0; | ||
SELECT col FROM t; | ||
|
||
--disable_warnings | ||
SET sql_mode=''; | ||
INSERT INTO t SET col = 128; | ||
SELECT col FROM t; | ||
INSERT INTO t SET col = 1 / 0; | ||
SELECT col FROM t; | ||
--enable_warnings | ||
|
||
CREATE TABLE t1 (col FLOAT); | ||
INSERT INTO t1 VALUES (NULL),(2.13),(-2.13),(21.5e0),(-21.5e0),(35.498),(986.512),(-376012.9751); | ||
SELECT col, ROUND(col), ROUND(col,1), ROUND(col,-1), ROUND(col,-2), ROUND(col,3) FROM t1; | ||
|
||
SELECT (.1 + .2) = .3; | ||
SELECT (.1e0 + .2e0) = .3e0; | ||
SELECT .01 * .01; | ||
SELECT .1 / .1; | ||
|
||
SET sql_mode=default; | ||
|
||
# Clean UP | ||
DROP DATABASE select_precision_test; |