xref: /sqlite-3.40.0/test/window7.test (revision ae8e45cb)
1680f6e8eSdan# 2019 March 01
2680f6e8eSdan#
3680f6e8eSdan# The author disclaims copyright to this source code.  In place of
4680f6e8eSdan# a legal notice, here is a blessing:
5680f6e8eSdan#
6680f6e8eSdan#    May you do good and not evil.
7680f6e8eSdan#    May you find forgiveness for yourself and forgive others.
8680f6e8eSdan#    May you share freely, never taking more than you give.
9680f6e8eSdan#
10680f6e8eSdan#***********************************************************************
11680f6e8eSdan# This file implements regression tests for SQLite library.
12680f6e8eSdan#
13680f6e8eSdan
14680f6e8eSdan####################################################
15680f6e8eSdan# DO NOT EDIT! THIS FILE IS AUTOMATICALLY GENERATED!
16680f6e8eSdan####################################################
17680f6e8eSdan
18680f6e8eSdanset testdir [file dirname $argv0]
19680f6e8eSdansource $testdir/tester.tcl
20680f6e8eSdanset testprefix window7
21680f6e8eSdan
22680f6e8eSdanifcapable !windowfunc { finish_test ; return }
23680f6e8eSdando_execsql_test 1.0 {
24680f6e8eSdan  DROP TABLE IF EXISTS t3;
25680f6e8eSdan  CREATE TABLE t3(a INTEGER, b INTEGER);
26680f6e8eSdan  INSERT INTO t3 VALUES
27680f6e8eSdan    (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8),
28680f6e8eSdan    (9, 9), (0, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15), (6, 16),
29680f6e8eSdan    (7, 17), (8, 18), (9, 19), (0, 20), (1, 21), (2, 22), (3, 23), (4, 24),
30680f6e8eSdan    (5, 25), (6, 26), (7, 27), (8, 28), (9, 29), (0, 30), (1, 31), (2, 32),
31680f6e8eSdan    (3, 33), (4, 34), (5, 35), (6, 36), (7, 37), (8, 38), (9, 39), (0, 40),
32680f6e8eSdan    (1, 41), (2, 42), (3, 43), (4, 44), (5, 45), (6, 46), (7, 47), (8, 48),
33680f6e8eSdan    (9, 49), (0, 50), (1, 51), (2, 52), (3, 53), (4, 54), (5, 55), (6, 56),
34680f6e8eSdan    (7, 57), (8, 58), (9, 59), (0, 60), (1, 61), (2, 62), (3, 63), (4, 64),
35680f6e8eSdan    (5, 65), (6, 66), (7, 67), (8, 68), (9, 69), (0, 70), (1, 71), (2, 72),
36680f6e8eSdan    (3, 73), (4, 74), (5, 75), (6, 76), (7, 77), (8, 78), (9, 79), (0, 80),
37680f6e8eSdan    (1, 81), (2, 82), (3, 83), (4, 84), (5, 85), (6, 86), (7, 87), (8, 88),
38680f6e8eSdan    (9, 89), (0, 90), (1, 91), (2, 92), (3, 93), (4, 94), (5, 95), (6, 96),
39680f6e8eSdan    (7, 97), (8, 98), (9, 99), (0, 100);
40680f6e8eSdan} {}
41680f6e8eSdan
42680f6e8eSdando_execsql_test 1.1 {
43680f6e8eSdan  SELECT a, sum(b) FROM t3 GROUP BY a ORDER BY 1;
44*ae8e45cbSdan} {0 550   1 460   2 470   3 480   4 490   5 500   6 510   7 520   8 530
45*ae8e45cbSdan  9 540}
46680f6e8eSdan
47680f6e8eSdando_execsql_test 1.2 {
48680f6e8eSdan  SELECT a, sum(b) OVER (
49680f6e8eSdan    ORDER BY a GROUPS BETWEEN CURRENT ROW AND CURRENT ROW
50680f6e8eSdan  ) FROM t3 ORDER BY 1;
51*ae8e45cbSdan} {0 550   0 550   0 550   0 550   0 550   0 550   0 550   0 550   0 550
52*ae8e45cbSdan  0 550   1 460   1 460   1 460   1 460   1 460   1 460   1 460   1 460
53*ae8e45cbSdan  1 460   1 460   2 470   2 470   2 470   2 470   2 470   2 470   2 470
54*ae8e45cbSdan  2 470   2 470   2 470   3 480   3 480   3 480   3 480   3 480   3 480
55*ae8e45cbSdan  3 480   3 480   3 480   3 480   4 490   4 490   4 490   4 490   4 490
56*ae8e45cbSdan  4 490   4 490   4 490   4 490   4 490   5 500   5 500   5 500   5 500
57*ae8e45cbSdan  5 500   5 500   5 500   5 500   5 500   5 500   6 510   6 510   6 510
58*ae8e45cbSdan  6 510   6 510   6 510   6 510   6 510   6 510   6 510   7 520   7 520
59*ae8e45cbSdan  7 520   7 520   7 520   7 520   7 520   7 520   7 520   7 520   8 530
60*ae8e45cbSdan  8 530   8 530   8 530   8 530   8 530   8 530   8 530   8 530   8 530
61*ae8e45cbSdan  9 540   9 540   9 540   9 540   9 540   9 540   9 540   9 540   9 540
62*ae8e45cbSdan  9 540}
63680f6e8eSdan
64680f6e8eSdando_execsql_test 1.3 {
65680f6e8eSdan  SELECT a, sum(b) OVER (
66680f6e8eSdan    ORDER BY a GROUPS BETWEEN 0 PRECEDING AND 0 FOLLOWING
67680f6e8eSdan  ) FROM t3 ORDER BY 1;
68*ae8e45cbSdan} {0 550   0 550   0 550   0 550   0 550   0 550   0 550   0 550   0 550
69*ae8e45cbSdan  0 550   1 460   1 460   1 460   1 460   1 460   1 460   1 460   1 460
70*ae8e45cbSdan  1 460   1 460   2 470   2 470   2 470   2 470   2 470   2 470   2 470
71*ae8e45cbSdan  2 470   2 470   2 470   3 480   3 480   3 480   3 480   3 480   3 480
72*ae8e45cbSdan  3 480   3 480   3 480   3 480   4 490   4 490   4 490   4 490   4 490
73*ae8e45cbSdan  4 490   4 490   4 490   4 490   4 490   5 500   5 500   5 500   5 500
74*ae8e45cbSdan  5 500   5 500   5 500   5 500   5 500   5 500   6 510   6 510   6 510
75*ae8e45cbSdan  6 510   6 510   6 510   6 510   6 510   6 510   6 510   7 520   7 520
76*ae8e45cbSdan  7 520   7 520   7 520   7 520   7 520   7 520   7 520   7 520   8 530
77*ae8e45cbSdan  8 530   8 530   8 530   8 530   8 530   8 530   8 530   8 530   8 530
78*ae8e45cbSdan  9 540   9 540   9 540   9 540   9 540   9 540   9 540   9 540   9 540
79*ae8e45cbSdan  9 540}
80680f6e8eSdan
81680f6e8eSdando_execsql_test 1.4 {
82680f6e8eSdan  SELECT a, sum(b) OVER (
83680f6e8eSdan    ORDER BY a GROUPS BETWEEN 2 PRECEDING AND 2 FOLLOWING
84680f6e8eSdan  ) FROM t3 ORDER BY 1;
85*ae8e45cbSdan} {0 1480   0 1480   0 1480   0 1480   0 1480   0 1480   0 1480   0 1480
86*ae8e45cbSdan  0 1480   0 1480   1 1960   1 1960   1 1960   1 1960   1 1960   1 1960
87*ae8e45cbSdan  1 1960   1 1960   1 1960   1 1960   2 2450   2 2450   2 2450   2 2450
88*ae8e45cbSdan  2 2450   2 2450   2 2450   2 2450   2 2450   2 2450   3 2400   3 2400
89*ae8e45cbSdan  3 2400   3 2400   3 2400   3 2400   3 2400   3 2400   3 2400   3 2400
90*ae8e45cbSdan  4 2450   4 2450   4 2450   4 2450   4 2450   4 2450   4 2450   4 2450
91*ae8e45cbSdan  4 2450   4 2450   5 2500   5 2500   5 2500   5 2500   5 2500   5 2500
92*ae8e45cbSdan  5 2500   5 2500   5 2500   5 2500   6 2550   6 2550   6 2550   6 2550
93*ae8e45cbSdan  6 2550   6 2550   6 2550   6 2550   6 2550   6 2550   7 2600   7 2600
94*ae8e45cbSdan  7 2600   7 2600   7 2600   7 2600   7 2600   7 2600   7 2600   7 2600
95*ae8e45cbSdan  8 2100   8 2100   8 2100   8 2100   8 2100   8 2100   8 2100   8 2100
96*ae8e45cbSdan  8 2100   8 2100   9 1590   9 1590   9 1590   9 1590   9 1590   9 1590
97*ae8e45cbSdan  9 1590   9 1590   9 1590   9 1590}
98680f6e8eSdan
99680f6e8eSdando_execsql_test 1.5 {
100680f6e8eSdan  SELECT a, sum(b) OVER (
101680f6e8eSdan    ORDER BY a RANGE BETWEEN 0 PRECEDING AND 0 FOLLOWING
102680f6e8eSdan  ) FROM t3 ORDER BY 1;
103*ae8e45cbSdan} {0 550   0 550   0 550   0 550   0 550   0 550   0 550   0 550   0 550
104*ae8e45cbSdan  0 550   1 460   1 460   1 460   1 460   1 460   1 460   1 460   1 460
105*ae8e45cbSdan  1 460   1 460   2 470   2 470   2 470   2 470   2 470   2 470   2 470
106*ae8e45cbSdan  2 470   2 470   2 470   3 480   3 480   3 480   3 480   3 480   3 480
107*ae8e45cbSdan  3 480   3 480   3 480   3 480   4 490   4 490   4 490   4 490   4 490
108*ae8e45cbSdan  4 490   4 490   4 490   4 490   4 490   5 500   5 500   5 500   5 500
109*ae8e45cbSdan  5 500   5 500   5 500   5 500   5 500   5 500   6 510   6 510   6 510
110*ae8e45cbSdan  6 510   6 510   6 510   6 510   6 510   6 510   6 510   7 520   7 520
111*ae8e45cbSdan  7 520   7 520   7 520   7 520   7 520   7 520   7 520   7 520   8 530
112*ae8e45cbSdan  8 530   8 530   8 530   8 530   8 530   8 530   8 530   8 530   8 530
113*ae8e45cbSdan  9 540   9 540   9 540   9 540   9 540   9 540   9 540   9 540   9 540
114*ae8e45cbSdan  9 540}
115680f6e8eSdan
116680f6e8eSdando_execsql_test 1.6 {
117680f6e8eSdan  SELECT a, sum(b) OVER (
118680f6e8eSdan    ORDER BY a RANGE BETWEEN 2 PRECEDING AND 2 FOLLOWING
119680f6e8eSdan  ) FROM t3 ORDER BY 1;
120*ae8e45cbSdan} {0 1480   0 1480   0 1480   0 1480   0 1480   0 1480   0 1480   0 1480
121*ae8e45cbSdan  0 1480   0 1480   1 1960   1 1960   1 1960   1 1960   1 1960   1 1960
122*ae8e45cbSdan  1 1960   1 1960   1 1960   1 1960   2 2450   2 2450   2 2450   2 2450
123*ae8e45cbSdan  2 2450   2 2450   2 2450   2 2450   2 2450   2 2450   3 2400   3 2400
124*ae8e45cbSdan  3 2400   3 2400   3 2400   3 2400   3 2400   3 2400   3 2400   3 2400
125*ae8e45cbSdan  4 2450   4 2450   4 2450   4 2450   4 2450   4 2450   4 2450   4 2450
126*ae8e45cbSdan  4 2450   4 2450   5 2500   5 2500   5 2500   5 2500   5 2500   5 2500
127*ae8e45cbSdan  5 2500   5 2500   5 2500   5 2500   6 2550   6 2550   6 2550   6 2550
128*ae8e45cbSdan  6 2550   6 2550   6 2550   6 2550   6 2550   6 2550   7 2600   7 2600
129*ae8e45cbSdan  7 2600   7 2600   7 2600   7 2600   7 2600   7 2600   7 2600   7 2600
130*ae8e45cbSdan  8 2100   8 2100   8 2100   8 2100   8 2100   8 2100   8 2100   8 2100
131*ae8e45cbSdan  8 2100   8 2100   9 1590   9 1590   9 1590   9 1590   9 1590   9 1590
132*ae8e45cbSdan  9 1590   9 1590   9 1590   9 1590}
133680f6e8eSdan
134680f6e8eSdando_execsql_test 1.7 {
135680f6e8eSdan  SELECT a, sum(b) OVER (
136680f6e8eSdan    ORDER BY a RANGE BETWEEN 2 PRECEDING AND 1 FOLLOWING
137680f6e8eSdan  ) FROM t3 ORDER BY 1;
138*ae8e45cbSdan} {0 1010   0 1010   0 1010   0 1010   0 1010   0 1010   0 1010   0 1010
139*ae8e45cbSdan  0 1010   0 1010   1 1480   1 1480   1 1480   1 1480   1 1480   1 1480
140*ae8e45cbSdan  1 1480   1 1480   1 1480   1 1480   2 1960   2 1960   2 1960   2 1960
141*ae8e45cbSdan  2 1960   2 1960   2 1960   2 1960   2 1960   2 1960   3 1900   3 1900
142*ae8e45cbSdan  3 1900   3 1900   3 1900   3 1900   3 1900   3 1900   3 1900   3 1900
143*ae8e45cbSdan  4 1940   4 1940   4 1940   4 1940   4 1940   4 1940   4 1940   4 1940
144*ae8e45cbSdan  4 1940   4 1940   5 1980   5 1980   5 1980   5 1980   5 1980   5 1980
145*ae8e45cbSdan  5 1980   5 1980   5 1980   5 1980   6 2020   6 2020   6 2020   6 2020
146*ae8e45cbSdan  6 2020   6 2020   6 2020   6 2020   6 2020   6 2020   7 2060   7 2060
147*ae8e45cbSdan  7 2060   7 2060   7 2060   7 2060   7 2060   7 2060   7 2060   7 2060
148*ae8e45cbSdan  8 2100   8 2100   8 2100   8 2100   8 2100   8 2100   8 2100   8 2100
149*ae8e45cbSdan  8 2100   8 2100   9 1590   9 1590   9 1590   9 1590   9 1590   9 1590
150*ae8e45cbSdan  9 1590   9 1590   9 1590   9 1590}
151680f6e8eSdan
152680f6e8eSdando_execsql_test 1.8.1 {
153680f6e8eSdan  SELECT a, sum(b) OVER (
154680f6e8eSdan    ORDER BY a RANGE BETWEEN 0 PRECEDING AND 1 FOLLOWING
155680f6e8eSdan  ) FROM t3 ORDER BY 1;
156*ae8e45cbSdan} {0 1010   0 1010   0 1010   0 1010   0 1010   0 1010   0 1010   0 1010
157*ae8e45cbSdan  0 1010   0 1010   1 930   1 930   1 930   1 930   1 930   1 930   1 930
158*ae8e45cbSdan  1 930   1 930   1 930   2 950   2 950   2 950   2 950   2 950   2 950
159*ae8e45cbSdan  2 950   2 950   2 950   2 950   3 970   3 970   3 970   3 970   3 970
160*ae8e45cbSdan  3 970   3 970   3 970   3 970   3 970   4 990   4 990   4 990   4 990
161*ae8e45cbSdan  4 990   4 990   4 990   4 990   4 990   4 990   5 1010   5 1010   5 1010
162*ae8e45cbSdan  5 1010   5 1010   5 1010   5 1010   5 1010   5 1010   5 1010   6 1030
163*ae8e45cbSdan  6 1030   6 1030   6 1030   6 1030   6 1030   6 1030   6 1030   6 1030
164*ae8e45cbSdan  6 1030   7 1050   7 1050   7 1050   7 1050   7 1050   7 1050   7 1050
165*ae8e45cbSdan  7 1050   7 1050   7 1050   8 1070   8 1070   8 1070   8 1070   8 1070
166*ae8e45cbSdan  8 1070   8 1070   8 1070   8 1070   8 1070   9 540   9 540   9 540   9 540
167*ae8e45cbSdan  9 540   9 540   9 540   9 540   9 540   9 540}
168680f6e8eSdan
169680f6e8eSdando_execsql_test 1.8.2 {
170680f6e8eSdan  SELECT a, sum(b) OVER (
171680f6e8eSdan    ORDER BY a DESC RANGE BETWEEN 0 PRECEDING AND 1 FOLLOWING
172680f6e8eSdan  ) FROM t3 ORDER BY 1;
173*ae8e45cbSdan} {0 550   0 550   0 550   0 550   0 550   0 550   0 550   0 550   0 550
174*ae8e45cbSdan  0 550   1 1010   1 1010   1 1010   1 1010   1 1010   1 1010   1 1010
175*ae8e45cbSdan  1 1010   1 1010   1 1010   2 930   2 930   2 930   2 930   2 930   2 930
176*ae8e45cbSdan  2 930   2 930   2 930   2 930   3 950   3 950   3 950   3 950   3 950
177*ae8e45cbSdan  3 950   3 950   3 950   3 950   3 950   4 970   4 970   4 970   4 970
178*ae8e45cbSdan  4 970   4 970   4 970   4 970   4 970   4 970   5 990   5 990   5 990
179*ae8e45cbSdan  5 990   5 990   5 990   5 990   5 990   5 990   5 990   6 1010   6 1010
180*ae8e45cbSdan  6 1010   6 1010   6 1010   6 1010   6 1010   6 1010   6 1010   6 1010
181*ae8e45cbSdan  7 1030   7 1030   7 1030   7 1030   7 1030   7 1030   7 1030   7 1030
182*ae8e45cbSdan  7 1030   7 1030   8 1050   8 1050   8 1050   8 1050   8 1050   8 1050
183*ae8e45cbSdan  8 1050   8 1050   8 1050   8 1050   9 1070   9 1070   9 1070   9 1070
184*ae8e45cbSdan  9 1070   9 1070   9 1070   9 1070   9 1070   9 1070}
185680f6e8eSdan
186680f6e8eSdanfinish_test
187