github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/testdata/tcl/window7.test (about) 1 # 2019 March 01 2 # 3 # The author disclaims copyright to this source code. In place of 4 # a legal notice, here is a blessing: 5 # 6 # May you do good and not evil. 7 # May you find forgiveness for yourself and forgive others. 8 # May you share freely, never taking more than you give. 9 # 10 #*********************************************************************** 11 # This file implements regression tests for SQLite library. 12 # 13 14 #################################################### 15 # DO NOT EDIT! THIS FILE IS AUTOMATICALLY GENERATED! 16 #################################################### 17 18 set testdir [file dirname $argv0] 19 source $testdir/tester.tcl 20 set testprefix window7 21 22 ifcapable !windowfunc { finish_test ; return } 23 do_execsql_test 1.0 { 24 DROP TABLE IF EXISTS t3; 25 CREATE TABLE t3(a INTEGER, b INTEGER); 26 INSERT INTO t3 VALUES 27 (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), 28 (9, 9), (0, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15), (6, 16), 29 (7, 17), (8, 18), (9, 19), (0, 20), (1, 21), (2, 22), (3, 23), (4, 24), 30 (5, 25), (6, 26), (7, 27), (8, 28), (9, 29), (0, 30), (1, 31), (2, 32), 31 (3, 33), (4, 34), (5, 35), (6, 36), (7, 37), (8, 38), (9, 39), (0, 40), 32 (1, 41), (2, 42), (3, 43), (4, 44), (5, 45), (6, 46), (7, 47), (8, 48), 33 (9, 49), (0, 50), (1, 51), (2, 52), (3, 53), (4, 54), (5, 55), (6, 56), 34 (7, 57), (8, 58), (9, 59), (0, 60), (1, 61), (2, 62), (3, 63), (4, 64), 35 (5, 65), (6, 66), (7, 67), (8, 68), (9, 69), (0, 70), (1, 71), (2, 72), 36 (3, 73), (4, 74), (5, 75), (6, 76), (7, 77), (8, 78), (9, 79), (0, 80), 37 (1, 81), (2, 82), (3, 83), (4, 84), (5, 85), (6, 86), (7, 87), (8, 88), 38 (9, 89), (0, 90), (1, 91), (2, 92), (3, 93), (4, 94), (5, 95), (6, 96), 39 (7, 97), (8, 98), (9, 99), (0, 100); 40 } {} 41 42 do_execsql_test 1.1 { 43 SELECT a, sum(b) FROM t3 GROUP BY a ORDER BY 1; 44 } {0 550 1 460 2 470 3 480 4 490 5 500 6 510 7 520 8 530 45 9 540} 46 47 do_execsql_test 1.2 { 48 SELECT a, sum(b) OVER ( 49 ORDER BY a GROUPS BETWEEN CURRENT ROW AND CURRENT ROW 50 ) FROM t3 ORDER BY 1; 51 } {0 550 0 550 0 550 0 550 0 550 0 550 0 550 0 550 0 550 52 0 550 1 460 1 460 1 460 1 460 1 460 1 460 1 460 1 460 53 1 460 1 460 2 470 2 470 2 470 2 470 2 470 2 470 2 470 54 2 470 2 470 2 470 3 480 3 480 3 480 3 480 3 480 3 480 55 3 480 3 480 3 480 3 480 4 490 4 490 4 490 4 490 4 490 56 4 490 4 490 4 490 4 490 4 490 5 500 5 500 5 500 5 500 57 5 500 5 500 5 500 5 500 5 500 5 500 6 510 6 510 6 510 58 6 510 6 510 6 510 6 510 6 510 6 510 6 510 7 520 7 520 59 7 520 7 520 7 520 7 520 7 520 7 520 7 520 7 520 8 530 60 8 530 8 530 8 530 8 530 8 530 8 530 8 530 8 530 8 530 61 9 540 9 540 9 540 9 540 9 540 9 540 9 540 9 540 9 540 62 9 540} 63 64 do_execsql_test 1.3 { 65 SELECT a, sum(b) OVER ( 66 ORDER BY a GROUPS BETWEEN 0 PRECEDING AND 0 FOLLOWING 67 ) FROM t3 ORDER BY 1; 68 } {0 550 0 550 0 550 0 550 0 550 0 550 0 550 0 550 0 550 69 0 550 1 460 1 460 1 460 1 460 1 460 1 460 1 460 1 460 70 1 460 1 460 2 470 2 470 2 470 2 470 2 470 2 470 2 470 71 2 470 2 470 2 470 3 480 3 480 3 480 3 480 3 480 3 480 72 3 480 3 480 3 480 3 480 4 490 4 490 4 490 4 490 4 490 73 4 490 4 490 4 490 4 490 4 490 5 500 5 500 5 500 5 500 74 5 500 5 500 5 500 5 500 5 500 5 500 6 510 6 510 6 510 75 6 510 6 510 6 510 6 510 6 510 6 510 6 510 7 520 7 520 76 7 520 7 520 7 520 7 520 7 520 7 520 7 520 7 520 8 530 77 8 530 8 530 8 530 8 530 8 530 8 530 8 530 8 530 8 530 78 9 540 9 540 9 540 9 540 9 540 9 540 9 540 9 540 9 540 79 9 540} 80 81 do_execsql_test 1.4 { 82 SELECT a, sum(b) OVER ( 83 ORDER BY a GROUPS BETWEEN 2 PRECEDING AND 2 FOLLOWING 84 ) FROM t3 ORDER BY 1; 85 } {0 1480 0 1480 0 1480 0 1480 0 1480 0 1480 0 1480 0 1480 86 0 1480 0 1480 1 1960 1 1960 1 1960 1 1960 1 1960 1 1960 87 1 1960 1 1960 1 1960 1 1960 2 2450 2 2450 2 2450 2 2450 88 2 2450 2 2450 2 2450 2 2450 2 2450 2 2450 3 2400 3 2400 89 3 2400 3 2400 3 2400 3 2400 3 2400 3 2400 3 2400 3 2400 90 4 2450 4 2450 4 2450 4 2450 4 2450 4 2450 4 2450 4 2450 91 4 2450 4 2450 5 2500 5 2500 5 2500 5 2500 5 2500 5 2500 92 5 2500 5 2500 5 2500 5 2500 6 2550 6 2550 6 2550 6 2550 93 6 2550 6 2550 6 2550 6 2550 6 2550 6 2550 7 2600 7 2600 94 7 2600 7 2600 7 2600 7 2600 7 2600 7 2600 7 2600 7 2600 95 8 2100 8 2100 8 2100 8 2100 8 2100 8 2100 8 2100 8 2100 96 8 2100 8 2100 9 1590 9 1590 9 1590 9 1590 9 1590 9 1590 97 9 1590 9 1590 9 1590 9 1590} 98 99 do_execsql_test 1.5 { 100 SELECT a, sum(b) OVER ( 101 ORDER BY a RANGE BETWEEN 0 PRECEDING AND 0 FOLLOWING 102 ) FROM t3 ORDER BY 1; 103 } {0 550 0 550 0 550 0 550 0 550 0 550 0 550 0 550 0 550 104 0 550 1 460 1 460 1 460 1 460 1 460 1 460 1 460 1 460 105 1 460 1 460 2 470 2 470 2 470 2 470 2 470 2 470 2 470 106 2 470 2 470 2 470 3 480 3 480 3 480 3 480 3 480 3 480 107 3 480 3 480 3 480 3 480 4 490 4 490 4 490 4 490 4 490 108 4 490 4 490 4 490 4 490 4 490 5 500 5 500 5 500 5 500 109 5 500 5 500 5 500 5 500 5 500 5 500 6 510 6 510 6 510 110 6 510 6 510 6 510 6 510 6 510 6 510 6 510 7 520 7 520 111 7 520 7 520 7 520 7 520 7 520 7 520 7 520 7 520 8 530 112 8 530 8 530 8 530 8 530 8 530 8 530 8 530 8 530 8 530 113 9 540 9 540 9 540 9 540 9 540 9 540 9 540 9 540 9 540 114 9 540} 115 116 do_execsql_test 1.6 { 117 SELECT a, sum(b) OVER ( 118 ORDER BY a RANGE BETWEEN 2 PRECEDING AND 2 FOLLOWING 119 ) FROM t3 ORDER BY 1; 120 } {0 1480 0 1480 0 1480 0 1480 0 1480 0 1480 0 1480 0 1480 121 0 1480 0 1480 1 1960 1 1960 1 1960 1 1960 1 1960 1 1960 122 1 1960 1 1960 1 1960 1 1960 2 2450 2 2450 2 2450 2 2450 123 2 2450 2 2450 2 2450 2 2450 2 2450 2 2450 3 2400 3 2400 124 3 2400 3 2400 3 2400 3 2400 3 2400 3 2400 3 2400 3 2400 125 4 2450 4 2450 4 2450 4 2450 4 2450 4 2450 4 2450 4 2450 126 4 2450 4 2450 5 2500 5 2500 5 2500 5 2500 5 2500 5 2500 127 5 2500 5 2500 5 2500 5 2500 6 2550 6 2550 6 2550 6 2550 128 6 2550 6 2550 6 2550 6 2550 6 2550 6 2550 7 2600 7 2600 129 7 2600 7 2600 7 2600 7 2600 7 2600 7 2600 7 2600 7 2600 130 8 2100 8 2100 8 2100 8 2100 8 2100 8 2100 8 2100 8 2100 131 8 2100 8 2100 9 1590 9 1590 9 1590 9 1590 9 1590 9 1590 132 9 1590 9 1590 9 1590 9 1590} 133 134 do_execsql_test 1.7 { 135 SELECT a, sum(b) OVER ( 136 ORDER BY a RANGE BETWEEN 2 PRECEDING AND 1 FOLLOWING 137 ) FROM t3 ORDER BY 1; 138 } {0 1010 0 1010 0 1010 0 1010 0 1010 0 1010 0 1010 0 1010 139 0 1010 0 1010 1 1480 1 1480 1 1480 1 1480 1 1480 1 1480 140 1 1480 1 1480 1 1480 1 1480 2 1960 2 1960 2 1960 2 1960 141 2 1960 2 1960 2 1960 2 1960 2 1960 2 1960 3 1900 3 1900 142 3 1900 3 1900 3 1900 3 1900 3 1900 3 1900 3 1900 3 1900 143 4 1940 4 1940 4 1940 4 1940 4 1940 4 1940 4 1940 4 1940 144 4 1940 4 1940 5 1980 5 1980 5 1980 5 1980 5 1980 5 1980 145 5 1980 5 1980 5 1980 5 1980 6 2020 6 2020 6 2020 6 2020 146 6 2020 6 2020 6 2020 6 2020 6 2020 6 2020 7 2060 7 2060 147 7 2060 7 2060 7 2060 7 2060 7 2060 7 2060 7 2060 7 2060 148 8 2100 8 2100 8 2100 8 2100 8 2100 8 2100 8 2100 8 2100 149 8 2100 8 2100 9 1590 9 1590 9 1590 9 1590 9 1590 9 1590 150 9 1590 9 1590 9 1590 9 1590} 151 152 do_execsql_test 1.8.1 { 153 SELECT a, sum(b) OVER ( 154 ORDER BY a RANGE BETWEEN 0 PRECEDING AND 1 FOLLOWING 155 ) FROM t3 ORDER BY 1; 156 } {0 1010 0 1010 0 1010 0 1010 0 1010 0 1010 0 1010 0 1010 157 0 1010 0 1010 1 930 1 930 1 930 1 930 1 930 1 930 1 930 158 1 930 1 930 1 930 2 950 2 950 2 950 2 950 2 950 2 950 159 2 950 2 950 2 950 2 950 3 970 3 970 3 970 3 970 3 970 160 3 970 3 970 3 970 3 970 3 970 4 990 4 990 4 990 4 990 161 4 990 4 990 4 990 4 990 4 990 4 990 5 1010 5 1010 5 1010 162 5 1010 5 1010 5 1010 5 1010 5 1010 5 1010 5 1010 6 1030 163 6 1030 6 1030 6 1030 6 1030 6 1030 6 1030 6 1030 6 1030 164 6 1030 7 1050 7 1050 7 1050 7 1050 7 1050 7 1050 7 1050 165 7 1050 7 1050 7 1050 8 1070 8 1070 8 1070 8 1070 8 1070 166 8 1070 8 1070 8 1070 8 1070 8 1070 9 540 9 540 9 540 9 540 167 9 540 9 540 9 540 9 540 9 540 9 540} 168 169 do_execsql_test 1.8.2 { 170 SELECT a, sum(b) OVER ( 171 ORDER BY a DESC RANGE BETWEEN 0 PRECEDING AND 1 FOLLOWING 172 ) FROM t3 ORDER BY 1; 173 } {0 550 0 550 0 550 0 550 0 550 0 550 0 550 0 550 0 550 174 0 550 1 1010 1 1010 1 1010 1 1010 1 1010 1 1010 1 1010 175 1 1010 1 1010 1 1010 2 930 2 930 2 930 2 930 2 930 2 930 176 2 930 2 930 2 930 2 930 3 950 3 950 3 950 3 950 3 950 177 3 950 3 950 3 950 3 950 3 950 4 970 4 970 4 970 4 970 178 4 970 4 970 4 970 4 970 4 970 4 970 5 990 5 990 5 990 179 5 990 5 990 5 990 5 990 5 990 5 990 5 990 6 1010 6 1010 180 6 1010 6 1010 6 1010 6 1010 6 1010 6 1010 6 1010 6 1010 181 7 1030 7 1030 7 1030 7 1030 7 1030 7 1030 7 1030 7 1030 182 7 1030 7 1030 8 1050 8 1050 8 1050 8 1050 8 1050 8 1050 183 8 1050 8 1050 8 1050 8 1050 9 1070 9 1070 9 1070 9 1070 184 9 1070 9 1070 9 1070 9 1070 9 1070 9 1070} 185 186 finish_test