Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Merge latest trunk changes. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | exp-window-functions |
Files: | files | file ages | folders |
SHA3-256: |
ebe65b2386a6132f4ef2cce6668a2da7 |
User & Date: | dan 2018-06-22 17:57:10.143 |
Context
2018-06-22
| ||
20:51 | Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. (check-in: 5f04b01646 user: dan tags: exp-window-functions) | |
17:57 | Merge latest trunk changes. (check-in: ebe65b2386 user: dan tags: exp-window-functions) | |
2018-06-21
| ||
19:20 | Fix a problem with handling single row partitions in the percent_rank() window function. (check-in: b84fbf16ea user: dan tags: exp-window-functions) | |
Changes
Changes to src/window.c.
︙ | ︙ | |||
341 342 343 344 345 346 347 | static void ntileStepFunc( sqlite3_context *pCtx, int nArg, sqlite3_value **apArg ){ struct NtileCtx *p; assert( nArg==2 ); | < | | 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | static void ntileStepFunc( sqlite3_context *pCtx, int nArg, sqlite3_value **apArg ){ struct NtileCtx *p; assert( nArg==2 ); p = (struct NtileCtx*)sqlite3_aggregate_context(pCtx, sizeof(*p)); if( p ){ if( p->nTotal==0 ){ p->nParam = sqlite3_value_int64(apArg[0]); p->nTotal = sqlite3_value_int64(apArg[1]); if( p->nParam<=0 ){ sqlite3_result_error( pCtx, "argument of ntile must be a positive integer", -1 ); |
︙ | ︙ |
Changes to test/windowfault.test.
︙ | ︙ | |||
55 56 57 58 59 60 61 62 63 64 65 66 67 68 | dense_rank() OVER win FROM t1 WINDOW win AS (PARTITION BY c<7 ORDER BY a) } } -test { faultsim_test_result {0 {1 1 1 2 2 2 1 1 1}} } do_faultsim_test 2 -start 1 -faults oom-* -prep { faultsim_restore_and_reopen } -body { execsql { SELECT round(percent_rank() OVER win, 2), round(cume_dist() OVER win, 2) | > > > > > > > > > > > > | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | dense_rank() OVER win FROM t1 WINDOW win AS (PARTITION BY c<7 ORDER BY a) } } -test { faultsim_test_result {0 {1 1 1 2 2 2 1 1 1}} } do_faultsim_test 1.2 -faults oom-t* -prep { faultsim_restore_and_reopen } -body { execsql { SELECT ntile(105) OVER ( RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t1 } } -test { faultsim_test_result {0 {1 2 3}} } do_faultsim_test 2 -start 1 -faults oom-* -prep { faultsim_restore_and_reopen } -body { execsql { SELECT round(percent_rank() OVER win, 2), round(cume_dist() OVER win, 2) |
︙ | ︙ |