Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Ensure that all the new window-function keywords can still be used as SQL identifiers. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | window-functions |
Files: | files | file ages | folders |
SHA3-256: |
a6d61dfd4780eccfce5f7a5ead6c04e3 |
User & Date: | dan 2019-03-19 06:40:29.205 |
Context
2019-03-19
| ||
11:17 | Update this branch with latest trunk changes. (check-in: 98cc265987 user: dan tags: window-functions) | |
06:40 | Ensure that all the new window-function keywords can still be used as SQL identifiers. (check-in: a6d61dfd47 user: dan tags: window-functions) | |
2019-03-18
| ||
21:19 | Add further tests for new window function functionality. (check-in: 1fbddf01b1 user: dan tags: window-functions) | |
Changes
Changes to src/parse.y.
︙ | ︙ | |||
214 215 216 217 218 219 220 221 222 223 224 225 226 227 | QUERY KEY OF OFFSET PRAGMA RAISE RECURSIVE RELEASE REPLACE RESTRICT ROW ROWS ROLLBACK SAVEPOINT TEMP TRIGGER VACUUM VIEW VIRTUAL WITH WITHOUT %ifdef SQLITE_OMIT_COMPOUND_SELECT EXCEPT INTERSECT UNION %endif SQLITE_OMIT_COMPOUND_SELECT %ifndef SQLITE_OMIT_WINDOWFUNC CURRENT FOLLOWING PARTITION PRECEDING RANGE UNBOUNDED %endif SQLITE_OMIT_WINDOWFUNC REINDEX RENAME CTIME_KW IF . %wildcard ANY. // Define operator precedence early so that this is the first occurrence // of the operator tokens in the grammer. Keeping the operators together | > | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | QUERY KEY OF OFFSET PRAGMA RAISE RECURSIVE RELEASE REPLACE RESTRICT ROW ROWS ROLLBACK SAVEPOINT TEMP TRIGGER VACUUM VIEW VIRTUAL WITH WITHOUT %ifdef SQLITE_OMIT_COMPOUND_SELECT EXCEPT INTERSECT UNION %endif SQLITE_OMIT_COMPOUND_SELECT %ifndef SQLITE_OMIT_WINDOWFUNC CURRENT FOLLOWING PARTITION PRECEDING RANGE UNBOUNDED EXCLUDE GROUPS OTHERS TIES %endif SQLITE_OMIT_WINDOWFUNC REINDEX RENAME CTIME_KW IF . %wildcard ANY. // Define operator precedence early so that this is the first occurrence // of the operator tokens in the grammer. Keeping the operators together |
︙ | ︙ |
Changes to test/window1.test.
︙ | ︙ | |||
919 920 921 922 923 924 925 926 927 928 929 | ) FROM t1; } {{} 200 {} 200 1 3 2 6 3 10 4 14 5 12 a 6 b 7 c 8 d 9 e 10} do_execsql_test 20.3.2 { SELECT a, sum(b) OVER ( ORDER BY a DESC RANGE BETWEEN 1 PRECEDING AND 2 FOLLOWING ) FROM t1 ORDER BY a ASC; } {{} 200 {} 200 1 3 2 6 3 10 4 14 5 12 a 6 b 7 c 8 d 9 e 10} finish_test | > > > > > > > > > > > > > > | 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 | ) FROM t1; } {{} 200 {} 200 1 3 2 6 3 10 4 14 5 12 a 6 b 7 c 8 d 9 e 10} do_execsql_test 20.3.2 { SELECT a, sum(b) OVER ( ORDER BY a DESC RANGE BETWEEN 1 PRECEDING AND 2 FOLLOWING ) FROM t1 ORDER BY a ASC; } {{} 200 {} 200 1 3 2 6 3 10 4 14 5 12 a 6 b 7 c 8 d 9 e 10} #------------------------------------------------------------------------- do_execsql_test 21.0 { CREATE TABLE keyword_tab( current, exclude, filter, following, groups, no, others, over, partition, preceding, range, ties, unbounded, window ); } do_execsql_test 21.1 { SELECT current, exclude, filter, following, groups, no, others, over, partition, preceding, range, ties, unbounded, window FROM keyword_tab } finish_test |