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