1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

Do not mistake constant integers in a PARTITION BY expression for references to ORDER BY style references to values returned by the SELECT statement.

FossilOrigin-Name: 45c64d39d5afed7fdc6b1de19408559740d1fba1f5e0269ab68b132366a289e4
This commit is contained in:
dan
2019-12-27 15:31:47 +00:00
parent 09bee5743d
commit d8d2fb9222
6 changed files with 103 additions and 19 deletions

View File

@ -947,4 +947,30 @@ do_execsql_test 6.2 {
(0, t0.c0) IN (SELECT DENSE_RANK() OVER(), LAG(0) OVER() FROM t0);
} {}
#==========================================================================
do_execsql_test 7.0 {
DROP TABLE IF EXISTS t1;
CREATE TABLE t1(a INTEGER, b INTEGER, c INTEGER);
INSERT INTO t1 VALUES(1, 1, 1);
INSERT INTO t1 VALUES(1, 2, 2);
INSERT INTO t1 VALUES(3, 3, 3);
INSERT INTO t1 VALUES(3, 4, 4);
} {}
do_execsql_test 7.1 {
SELECT c, sum(c) OVER win1 FROM t1
WINDOW win1 AS (ORDER BY b)
} {1 1 2 3 3 6 4 10}
do_execsql_test 7.2 {
SELECT c, sum(c) OVER win1 FROM t1
WINDOW win1 AS (PARTITION BY 1 ORDER BY b)
} {1 1 2 3 3 6 4 10}
do_execsql_test 7.3 {
SELECT c, sum(c) OVER win1 FROM t1
WINDOW win1 AS (ORDER BY 1)
} {1 10 2 10 3 10 4 10}
finish_test