-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext
- Loading branch information
Showing
3 changed files
with
181 additions
and
2 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,97 @@ | ||
CREATE TABLE t1 (c1 INT, c2 VARCHAR(30)); | ||
PREPARE populate_table FROM "INSERT into t1 values (1, 'manual_insert_1'), | ||
(4, 'manual_insert_2')"; | ||
INSERT INTO t1 SELECT row_number() over(), "should_have_0" FROM t1; | ||
INSERT INTO t1 SELECT 1 + row_number() over(), "should_have_2" FROM t1; | ||
EXECUTE populate_table; | ||
INSERT INTO t1 SELECT 10 + row_number() over(), "should repeat 4 times [11-14]" FROM t1; | ||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
c1 c2 | ||
1 manual_insert_1 | ||
4 manual_insert_2 | ||
11 should repeat 4 times [11-14] | ||
12 should repeat 4 times [11-14] | ||
13 should repeat 4 times [11-14] | ||
14 should repeat 4 times [11-14] | ||
0 should_have_0 | ||
2 should_have_2 | ||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
INSERT INTO t1 | ||
SELECT 10 + (dense_rank() over(order by c1)), "dense_rank_insert" from t1; | ||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
c1 c2 | ||
11 dense_rank_insert | ||
12 dense_rank_insert | ||
1 manual_insert_1 | ||
4 manual_insert_2 | ||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
INSERT INTO t1 | ||
SELECT 100 + (rank() over(order by c1)), "rank_insert" from t1; | ||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
c1 c2 | ||
1 manual_insert_1 | ||
4 manual_insert_2 | ||
101 rank_insert | ||
102 rank_insert | ||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
INSERT INTO t1 | ||
SELECT 100 + (ntile(10) over(order by c1)), "ntile_insert" from t1; | ||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
c1 c2 | ||
1 manual_insert_1 | ||
4 manual_insert_2 | ||
101 ntile_insert | ||
102 ntile_insert | ||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
INSERT INTO t1 | ||
SELECT 1000 + (percent_rank() over(order by c1)), "percent_rank_insert" from t1; | ||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
c1 c2 | ||
1 manual_insert_1 | ||
4 manual_insert_2 | ||
1000 percent_rank_insert | ||
1001 percent_rank_insert | ||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
INSERT INTO t1 | ||
SELECT 1000 + (count(*) over(order by c1)), "count_insert" from t1; | ||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
c1 c2 | ||
1001 count_insert | ||
1002 count_insert | ||
1 manual_insert_1 | ||
4 manual_insert_2 | ||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
# | ||
# Test how avg interacts when the results need to be rounded. | ||
# | ||
SELECT 1000 + (avg(c1) over(order by c1)) as avg_expr, c1, "This will be inserted into t1" from t1; | ||
avg_expr c1 This will be inserted into t1 | ||
1001.0000 1 This will be inserted into t1 | ||
1002.5000 4 This will be inserted into t1 | ||
INSERT INTO t1 | ||
SELECT 1000 + (avg(c1) over(order by c1)), "avg_insert" from t1; | ||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
c1 c2 | ||
1001 avg_insert | ||
1003 avg_insert | ||
1 manual_insert_1 | ||
4 manual_insert_2 | ||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
INSERT INTO t1 | ||
SELECT 1000 + (sum(c1) over(order by c1)), "sum_insert" from t1; | ||
SELECT c1, c2 | ||
FROM t1 | ||
ORDER BY c2, c1; | ||
c1 c2 | ||
1 manual_insert_1 | ||
4 manual_insert_2 | ||
1001 sum_insert | ||
1005 sum_insert | ||
DROP table t1; |
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,79 @@ | ||
CREATE TABLE t1 (c1 INT, c2 VARCHAR(30)); | ||
|
||
PREPARE populate_table FROM "INSERT into t1 values (1, 'manual_insert_1'), | ||
(4, 'manual_insert_2')"; | ||
|
||
INSERT INTO t1 SELECT row_number() over(), "should_have_0" FROM t1; | ||
INSERT INTO t1 SELECT 1 + row_number() over(), "should_have_2" FROM t1; | ||
|
||
EXECUTE populate_table; | ||
|
||
INSERT INTO t1 SELECT 10 + row_number() over(), "should repeat 4 times [11-14]" FROM t1; | ||
|
||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
|
||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
|
||
|
||
INSERT INTO t1 | ||
SELECT 10 + (dense_rank() over(order by c1)), "dense_rank_insert" from t1; | ||
|
||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
|
||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
|
||
INSERT INTO t1 | ||
SELECT 100 + (rank() over(order by c1)), "rank_insert" from t1; | ||
|
||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
|
||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
|
||
INSERT INTO t1 | ||
SELECT 100 + (ntile(10) over(order by c1)), "ntile_insert" from t1; | ||
|
||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
|
||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
|
||
INSERT INTO t1 | ||
SELECT 1000 + (percent_rank() over(order by c1)), "percent_rank_insert" from t1; | ||
|
||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
|
||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
|
||
INSERT INTO t1 | ||
SELECT 1000 + (count(*) over(order by c1)), "count_insert" from t1; | ||
|
||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
|
||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
|
||
--echo # | ||
--echo # Test how avg interacts when the results need to be rounded. | ||
--echo # | ||
SELECT 1000 + (avg(c1) over(order by c1)) as avg_expr, c1, "This will be inserted into t1" from t1; | ||
|
||
INSERT INTO t1 | ||
SELECT 1000 + (avg(c1) over(order by c1)), "avg_insert" from t1; | ||
|
||
SELECT c1, c2 FROM t1 ORDER BY c2, c1; | ||
|
||
DELETE FROM t1; | ||
EXECUTE populate_table; | ||
|
||
INSERT INTO t1 | ||
SELECT 1000 + (sum(c1) over(order by c1)), "sum_insert" from t1; | ||
|
||
SELECT c1, c2 | ||
FROM t1 | ||
ORDER BY c2, c1; | ||
|
||
DROP table t1; |
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