/ Check-in [ef342070]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Add window functions lag() and lead().
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | exp-window-functions
Files: files | file ages | folders
SHA3-256:ef34207073c21ce8618486777671ae78d23f290acd6d3c37e91a49b69cb506ac
User & Date: dan 2018-06-07 20:08:59
Context
2018-06-07
20:35
Merge latest trunk changes with this branch. check-in: 25102203 user: dan tags: exp-window-functions
20:08
Add window functions lag() and lead(). check-in: ef342070 user: dan tags: exp-window-functions
17:45
Add support for window function first_value(). check-in: 060b2640 user: dan tags: exp-window-functions
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/window.c.

   320    320     sqlite3_context *pCtx, 
   321    321     int nArg,
   322    322     sqlite3_value **apArg
   323    323   ){
   324    324   }
   325    325   static void first_valueValueFunc(sqlite3_context *pCtx){
   326    326   }
          327  +
          328  +static void leadStepFunc(
          329  +  sqlite3_context *pCtx, 
          330  +  int nArg,
          331  +  sqlite3_value **apArg
          332  +){
          333  +}
          334  +static void leadInverseFunc(
          335  +  sqlite3_context *pCtx, 
          336  +  int nArg,
          337  +  sqlite3_value **apArg
          338  +){
          339  +}
          340  +static void leadValueFunc(sqlite3_context *pCtx){
          341  +}
          342  +
          343  +static void lagStepFunc(
          344  +  sqlite3_context *pCtx, 
          345  +  int nArg,
          346  +  sqlite3_value **apArg
          347  +){
          348  +}
          349  +static void lagInverseFunc(
          350  +  sqlite3_context *pCtx, 
          351  +  int nArg,
          352  +  sqlite3_value **apArg
          353  +){
          354  +}
          355  +static void lagValueFunc(sqlite3_context *pCtx){
          356  +}
   327    357   
   328    358   #define WINDOWFUNC(name,nArg,extra) {                                      \
   329    359     nArg, (SQLITE_UTF8|SQLITE_FUNC_WINDOW|extra), 0, 0,                      \
   330    360     name ## StepFunc, name ## ValueFunc, name ## ValueFunc,                  \
   331    361     name ## InverseFunc, #name                                               \
   332    362   }
   333    363   
................................................................................
   347    377       WINDOWFUNC(rank, 0, 0),
   348    378       WINDOWFUNC(percent_rank, 0, SQLITE_FUNC_WINDOW_SIZE),
   349    379       WINDOWFUNC(cume_dist, 0, SQLITE_FUNC_WINDOW_SIZE),
   350    380       WINDOWFUNC(ntile, 1, SQLITE_FUNC_WINDOW_SIZE),
   351    381       WINDOWFUNCF(last_value, 1, 0),
   352    382       WINDOWFUNC(nth_value, 2, 0),
   353    383       WINDOWFUNC(first_value, 1, 0),
          384  +    WINDOWFUNC(lead, 1, 0), WINDOWFUNC(lead, 2, 0), WINDOWFUNC(lead, 3, 0),
          385  +    WINDOWFUNC(lag, 1, 0),  WINDOWFUNC(lag, 2, 0),  WINDOWFUNC(lag, 3, 0),
   354    386     };
   355    387     sqlite3InsertBuiltinFuncs(aWindowFuncs, ArraySize(aWindowFuncs));
   356    388   }
   357    389   
   358    390   void sqlite3WindowUpdate(Parse *pParse, Window *pWin, FuncDef *pFunc){
   359    391     if( pFunc->funcFlags & SQLITE_FUNC_WINDOW ){
   360    392       sqlite3 *db = pParse->db;
................................................................................
   655    687         ** store the start and end index of the current frame.  */
   656    688         assert( pMWin->iEphCsr );
   657    689         pWin->regApp = pParse->nMem+1;
   658    690         pWin->csrApp = pParse->nTab++;
   659    691         pParse->nMem += 2;
   660    692         sqlite3VdbeAddOp2(v, OP_OpenDup, pWin->csrApp, pMWin->iEphCsr);
   661    693       }
          694  +    else if( p->xSFunc==leadStepFunc || p->xSFunc==lagStepFunc ){
          695  +      assert( pMWin->iEphCsr );
          696  +      pWin->csrApp = pParse->nTab++;
          697  +      sqlite3VdbeAddOp2(v, OP_OpenDup, pWin->csrApp, pMWin->iEphCsr);
          698  +    }
   662    699     }
   663    700   }
   664    701   
   665    702   void sqlite3WindowCodeInit(Parse *pParse, Window *pWin){
   666    703     Vdbe *v = sqlite3GetVdbe(pParse);
   667    704     int nPart = (pWin->pPartition ? pWin->pPartition->nExpr : 0);
   668    705     nPart += (pWin->pOrderBy ? pWin->pOrderBy->nExpr : 0);
................................................................................
   743    780         }
   744    781       }else if( pWin->regApp ){
   745    782         assert( pWin->pFunc->xSFunc==nth_valueStepFunc 
   746    783              || pWin->pFunc->xSFunc==first_valueStepFunc 
   747    784         );
   748    785         assert( bInverse==0 || bInverse==1 );
   749    786         sqlite3VdbeAddOp2(v, OP_AddImm, pWin->regApp+1-bInverse, 1);
          787  +    }else if( pWin->pFunc->xSFunc==leadStepFunc 
          788  +           || pWin->pFunc->xSFunc==lagStepFunc 
          789  +    ){
          790  +      /* no-op */
   750    791       }else{
   751    792         if( pWin->pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){
   752    793           CollSeq *pColl;
   753    794           pColl = sqlite3ExprCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr);
   754    795           sqlite3VdbeAddOp4(v, OP_CollSeq, 0,0,0, (const char*)pColl, P4_COLLSEQ);
   755    796         }
   756    797         sqlite3VdbeAddOp3(v, OP_AggStep0, bInverse, regArg, pWin->regAccum);
................................................................................
   868    909         if( pFunc->xSFunc==nth_valueStepFunc ){
   869    910           sqlite3VdbeAddOp3(v, OP_Column, pWin->iEphCsr, pWin->iArgCol+1, tmpReg);
   870    911         }else{
   871    912           sqlite3VdbeAddOp2(v, OP_Integer, 1, tmpReg);
   872    913         }
   873    914         sqlite3VdbeAddOp3(v, OP_Add, tmpReg, pWin->regApp, tmpReg);
   874    915         sqlite3VdbeAddOp3(v, OP_Gt, pWin->regApp+1, lbl, tmpReg);
          916  +      sqlite3VdbeAddOp3(v, OP_SeekRowid, csr, lbl, tmpReg);
          917  +      sqlite3VdbeAddOp3(v, OP_Column, csr, pWin->iArgCol, pWin->regResult);
          918  +      sqlite3VdbeResolveLabel(v, lbl);
          919  +      sqlite3ReleaseTempReg(pParse, tmpReg);
          920  +    }
          921  +    else if( pFunc->xSFunc==leadStepFunc || pFunc->xSFunc==lagStepFunc ){
          922  +      int iEph = pWin->iEphCsr;
          923  +      int csr = pWin->csrApp;
          924  +      int lbl = sqlite3VdbeMakeLabel(v);
          925  +      int tmpReg = sqlite3GetTempReg(pParse);
          926  +
          927  +      if( pWin->nArg<3 ){
          928  +        sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regResult);
          929  +      }else{
          930  +        sqlite3VdbeAddOp3(v, OP_Column, iEph, pWin->iArgCol+2, pWin->regResult);
          931  +      }
          932  +      sqlite3VdbeAddOp2(v, OP_Rowid, iEph, tmpReg);
          933  +      if( pWin->nArg<2 ){
          934  +        int val = (pFunc->xSFunc==leadStepFunc ? 1 : -1);
          935  +        sqlite3VdbeAddOp2(v, OP_AddImm, tmpReg, val);
          936  +      }else{
          937  +        int op = (pFunc->xSFunc==leadStepFunc ? OP_Add : OP_Subtract);
          938  +        int tmpReg2 = sqlite3GetTempReg(pParse);
          939  +        sqlite3VdbeAddOp3(v, OP_Column, iEph, pWin->iArgCol+1, tmpReg2);
          940  +        sqlite3VdbeAddOp3(v, op, tmpReg2, tmpReg, tmpReg);
          941  +        sqlite3ReleaseTempReg(pParse, tmpReg2);
          942  +      }
          943  +
   875    944         sqlite3VdbeAddOp3(v, OP_SeekRowid, csr, lbl, tmpReg);
   876    945         sqlite3VdbeAddOp3(v, OP_Column, csr, pWin->iArgCol, pWin->regResult);
   877    946         sqlite3VdbeResolveLabel(v, lbl);
   878    947         sqlite3ReleaseTempReg(pParse, tmpReg);
   879    948       }
   880    949     }
   881    950     sqlite3VdbeAddOp2(v, OP_Gosub, regGosub, addrGosub);
................................................................................
  1596   1665     }
  1597   1666   
  1598   1667     for(pWin=pMWin; pWin; pWin=pWin->pNextWin){
  1599   1668       FuncDef *pFunc = pWin->pFunc;
  1600   1669       if( (pFunc->funcFlags & SQLITE_FUNC_WINDOW_SIZE)
  1601   1670        || (pFunc->xSFunc==nth_valueStepFunc)
  1602   1671        || (pFunc->xSFunc==first_valueStepFunc)
         1672  +     || (pFunc->xSFunc==leadStepFunc)
         1673  +     || (pFunc->xSFunc==lagStepFunc)
  1603   1674       ){
  1604   1675         windowCodeCacheStep(pParse, p, pWInfo, regGosub, addrGosub);
  1605   1676         return;
  1606   1677       }
  1607   1678     }
  1608   1679   
  1609   1680     *pbLoop = 1;
  1610   1681     windowCodeDefaultStep(pParse, p, pWInfo, regGosub, addrGosub);
  1611   1682   }
  1612   1683   

Changes to test/window3.tcl.

   238    238     "
   239    239     execsql_test 1.$tn.11.5 "
   240    240       SELECT first_value(b) OVER ( ORDER BY b%10,a $window ) FROM t2
   241    241     "
   242    242     execsql_test 1.$tn.11.6 "
   243    243       SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 $window) FROM t2
   244    244     "
          245  +
          246  +  execsql_test 1.$tn.12.1 "
          247  +    SELECT lead(b,b) OVER (ORDER BY a $window) FROM t2
          248  +  "
          249  +  execsql_test 1.$tn.12.2 "
          250  +    SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a $window) FROM t2
          251  +  "
          252  +  execsql_test 1.$tn.12.3 "
          253  +    SELECT lead(b,b) OVER ( ORDER BY b,a $window ) FROM t2
          254  +  "
          255  +  execsql_test 1.$tn.12.4 "
          256  +    SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a $window ) FROM t2
          257  +  "
          258  +  execsql_test 1.$tn.12.5 "
          259  +    SELECT lead(b,b) OVER ( ORDER BY b%10,a $window ) FROM t2
          260  +  "
          261  +  execsql_test 1.$tn.12.6 "
          262  +    SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 $window) FROM t2
          263  +  "
          264  +
          265  +  execsql_test 1.$tn.13.1 "
          266  +    SELECT lag(b,b) OVER (ORDER BY a $window) FROM t2
          267  +  "
          268  +  execsql_test 1.$tn.13.2 "
          269  +    SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a $window) FROM t2
          270  +  "
          271  +  execsql_test 1.$tn.13.3 "
          272  +    SELECT lag(b,b) OVER ( ORDER BY b,a $window ) FROM t2
          273  +  "
          274  +  execsql_test 1.$tn.13.4 "
          275  +    SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a $window ) FROM t2
          276  +  "
          277  +  execsql_test 1.$tn.13.5 "
          278  +    SELECT lag(b,b) OVER ( ORDER BY b%10,a $window ) FROM t2
          279  +  "
          280  +  execsql_test 1.$tn.13.6 "
          281  +    SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 $window) FROM t2
          282  +  "
   245    283   }
   246    284   
   247    285   finish_test
   248    286   

Changes to test/window3.test.

   341    341     SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
   342    342   } {0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0}
   343    343   
   344    344   do_execsql_test 1.1.11.6 {
   345    345     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
   346    346   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
   347    347   
          348  +do_execsql_test 1.1.12.1 {
          349  +  SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
          350  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          351  +
          352  +do_execsql_test 1.1.12.2 {
          353  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
          354  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          355  +
          356  +do_execsql_test 1.1.12.3 {
          357  +  SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
          358  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          359  +
          360  +do_execsql_test 1.1.12.4 {
          361  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
          362  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          363  +
          364  +do_execsql_test 1.1.12.5 {
          365  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
          366  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          367  +
          368  +do_execsql_test 1.1.12.6 {
          369  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
          370  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          371  +
          372  +do_execsql_test 1.1.13.1 {
          373  +  SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
          374  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
          375  +
          376  +do_execsql_test 1.1.13.2 {
          377  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
          378  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
          379  +
          380  +do_execsql_test 1.1.13.3 {
          381  +  SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
          382  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
          383  +
          384  +do_execsql_test 1.1.13.4 {
          385  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
          386  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          387  +
          388  +do_execsql_test 1.1.13.5 {
          389  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
          390  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
          391  +
          392  +do_execsql_test 1.1.13.6 {
          393  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
          394  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          395  +
   348    396   do_execsql_test 1.2.2.1 {
   349    397     SELECT max(b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
   350    398   } {99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99}
   351    399   
   352    400   do_execsql_test 1.2.2.2 {
   353    401     SELECT min(b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
   354    402   } {0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0}
................................................................................
   629    677     SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
   630    678   } {0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0}
   631    679   
   632    680   do_execsql_test 1.2.11.6 {
   633    681     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
   634    682   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
   635    683   
          684  +do_execsql_test 1.2.12.1 {
          685  +  SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
          686  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          687  +
          688  +do_execsql_test 1.2.12.2 {
          689  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
          690  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          691  +
          692  +do_execsql_test 1.2.12.3 {
          693  +  SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
          694  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          695  +
          696  +do_execsql_test 1.2.12.4 {
          697  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
          698  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          699  +
          700  +do_execsql_test 1.2.12.5 {
          701  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
          702  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          703  +
          704  +do_execsql_test 1.2.12.6 {
          705  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
          706  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          707  +
          708  +do_execsql_test 1.2.13.1 {
          709  +  SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
          710  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
          711  +
          712  +do_execsql_test 1.2.13.2 {
          713  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
          714  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
          715  +
          716  +do_execsql_test 1.2.13.3 {
          717  +  SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
          718  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
          719  +
          720  +do_execsql_test 1.2.13.4 {
          721  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
          722  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          723  +
          724  +do_execsql_test 1.2.13.5 {
          725  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
          726  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
          727  +
          728  +do_execsql_test 1.2.13.6 {
          729  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
          730  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
          731  +
   636    732   do_execsql_test 1.3.2.1 {
   637    733     SELECT max(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
   638    734   } {0   74   41   74   23   99   26   33   2   89   81   96   59   38   68   39   62   91   46   6   99   97   27   46   78   54   97   8   67   29   93   84   77   23   16   16   93   65   35   47   7   86   74   61   91   85   24   85   43   59   12   32   56   3   91   22   90   55   15   28   89   25   47   1   56   40   43   56   16   75   36   89   98   76   81   4   94   42   30   78   33   29   53   63   2   87   37   80   84   72   41   9   61   73   95   65   13   58   96   98   1   21   74   65   35   5   73   11   51   87   41   12   8   20   31   31   15   95   22   73   79   88   34   8   11   49   34   90   59   96   60   55   75   77   44   2   7   85   57   74   29   70   59   19   39   26   26   47   80   90   36   58   47   9   72   72   66   33   93   75   64   81   9   23   37   13   12   14   62   91   36   91   33   15   34   36   99   3   95   69   58   52   30   50   84   10   84   33   21   39   44   58   30   38   34   83   27   82   17   7}
   639    735   
   640    736   do_execsql_test 1.3.2.2 {
   641    737     SELECT min(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
   642    738   } {0   74   41   74   23   99   26   33   2   89   81   96   59   38   68   39   62   91   46   6   99   97   27   46   78   54   97   8   67   29   93   84   77   23   16   16   93   65   35   47   7   86   74   61   91   85   24   85   43   59   12   32   56   3   91   22   90   55   15   28   89   25   47   1   56   40   43   56   16   75   36   89   98   76   81   4   94   42   30   78   33   29   53   63   2   87   37   80   84   72   41   9   61   73   95   65   13   58   96   98   1   21   74   65   35   5   73   11   51   87   41   12   8   20   31   31   15   95   22   73   79   88   34   8   11   49   34   90   59   96   60   55   75   77   44   2   7   85   57   74   29   70   59   19   39   26   26   47   80   90   36   58   47   9   72   72   66   33   93   75   64   81   9   23   37   13   12   14   62   91   36   91   33   15   34   36   99   3   95   69   58   52   30   50   84   10   84   33   21   39   44   58   30   38   34   83   27   82   17   7}
................................................................................
   917   1013     SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
   918   1014   } {0   90   40   30   80   20   90   60   70   80   90   30   50   10   30   41   81   91   61   91   91   1   81   41   61   1   21   11   51   41   31   31   11   81   91   91   21   2   62   12   32   22   42   2   72   12   22   2   72   72   12   62   52   82   23   33   93   23   93   43   3   43   33   53   63   73   13   73   73   33   93   23   13   33   3   33   83   74   74   54   84   74   24   4   94   84   74   34   34   44   74   64   14   34   84   84   44   34   65   35   85   85   55   15   25   75   95   65   65   35   5   15   95   55   75   85   75   15   95   26   96   46   6   46   16   16   86   56   56   56   16   36   76   96   96   26   26   36   66   36   36   97   27   97   67   77   47   7   47   87   37   87   77   7   57   47   47   37   27   17   7   38   68   78   8   28   98   78   58   98   8   88   8   58   58   58   38   99   89   59   39   99   29   59   89   89   29   9   79   49   59   29   59   19   39   9   9   99   69   39}
   919   1015   
   920   1016   do_execsql_test 1.3.11.6 {
   921   1017     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
   922   1018   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
   923   1019   
         1020  +do_execsql_test 1.3.12.1 {
         1021  +  SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         1022  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1023  +
         1024  +do_execsql_test 1.3.12.2 {
         1025  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         1026  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1027  +
         1028  +do_execsql_test 1.3.12.3 {
         1029  +  SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         1030  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1031  +
         1032  +do_execsql_test 1.3.12.4 {
         1033  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         1034  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1035  +
         1036  +do_execsql_test 1.3.12.5 {
         1037  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         1038  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1039  +
         1040  +do_execsql_test 1.3.12.6 {
         1041  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         1042  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1043  +
         1044  +do_execsql_test 1.3.13.1 {
         1045  +  SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         1046  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         1047  +
         1048  +do_execsql_test 1.3.13.2 {
         1049  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         1050  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         1051  +
         1052  +do_execsql_test 1.3.13.3 {
         1053  +  SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         1054  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         1055  +
         1056  +do_execsql_test 1.3.13.4 {
         1057  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         1058  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1059  +
         1060  +do_execsql_test 1.3.13.5 {
         1061  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         1062  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         1063  +
         1064  +do_execsql_test 1.3.13.6 {
         1065  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         1066  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1067  +
   924   1068   do_execsql_test 1.4.2.1 {
   925   1069     SELECT max(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
   926   1070   } {99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   95   95   84   84   84   84   84   84   84   84   83   83   83   83   83   83   83   83   83   82   82   17   7}
   927   1071   
   928   1072   do_execsql_test 1.4.2.2 {
   929   1073     SELECT min(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
   930   1074   } {0   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7}
................................................................................
  1205   1349     SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
  1206   1350   } {0   90   40   30   80   20   90   60   70   80   90   30   50   10   30   41   81   91   61   91   91   1   81   41   61   1   21   11   51   41   31   31   11   81   91   91   21   2   62   12   32   22   42   2   72   12   22   2   72   72   12   62   52   82   23   33   93   23   93   43   3   43   33   53   63   73   13   73   73   33   93   23   13   33   3   33   83   74   74   54   84   74   24   4   94   84   74   34   34   44   74   64   14   34   84   84   44   34   65   35   85   85   55   15   25   75   95   65   65   35   5   15   95   55   75   85   75   15   95   26   96   46   6   46   16   16   86   56   56   56   16   36   76   96   96   26   26   36   66   36   36   97   27   97   67   77   47   7   47   87   37   87   77   7   57   47   47   37   27   17   7   38   68   78   8   28   98   78   58   98   8   88   8   58   58   58   38   99   89   59   39   99   29   59   89   89   29   9   79   49   59   29   59   19   39   9   9   99   69   39}
  1207   1351   
  1208   1352   do_execsql_test 1.4.11.6 {
  1209   1353     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
  1210   1354   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
  1211   1355   
         1356  +do_execsql_test 1.4.12.1 {
         1357  +  SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         1358  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1359  +
         1360  +do_execsql_test 1.4.12.2 {
         1361  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         1362  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1363  +
         1364  +do_execsql_test 1.4.12.3 {
         1365  +  SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         1366  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1367  +
         1368  +do_execsql_test 1.4.12.4 {
         1369  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         1370  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1371  +
         1372  +do_execsql_test 1.4.12.5 {
         1373  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         1374  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1375  +
         1376  +do_execsql_test 1.4.12.6 {
         1377  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         1378  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1379  +
         1380  +do_execsql_test 1.4.13.1 {
         1381  +  SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         1382  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         1383  +
         1384  +do_execsql_test 1.4.13.2 {
         1385  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         1386  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         1387  +
         1388  +do_execsql_test 1.4.13.3 {
         1389  +  SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         1390  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         1391  +
         1392  +do_execsql_test 1.4.13.4 {
         1393  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         1394  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1395  +
         1396  +do_execsql_test 1.4.13.5 {
         1397  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         1398  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         1399  +
         1400  +do_execsql_test 1.4.13.6 {
         1401  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         1402  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1403  +
  1212   1404   do_execsql_test 1.5.2.1 {
  1213   1405     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
  1214   1406   } {{}   {}   {}   {}   0   74   74   74   74   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99}
  1215   1407   
  1216   1408   do_execsql_test 1.5.2.2 {
  1217   1409     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
  1218   1410   } {{}   {}   {}   {}   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0}
................................................................................
  1493   1685     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
  1494   1686   } {{}   {}   {}   {}   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0}
  1495   1687   
  1496   1688   do_execsql_test 1.5.11.6 {
  1497   1689     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
  1498   1690   } {{}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
  1499   1691   
         1692  +do_execsql_test 1.5.12.1 {
         1693  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
         1694  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1695  +
         1696  +do_execsql_test 1.5.12.2 {
         1697  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
         1698  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1699  +
         1700  +do_execsql_test 1.5.12.3 {
         1701  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
         1702  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1703  +
         1704  +do_execsql_test 1.5.12.4 {
         1705  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
         1706  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1707  +
         1708  +do_execsql_test 1.5.12.5 {
         1709  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
         1710  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1711  +
         1712  +do_execsql_test 1.5.12.6 {
         1713  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
         1714  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1715  +
         1716  +do_execsql_test 1.5.13.1 {
         1717  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
         1718  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         1719  +
         1720  +do_execsql_test 1.5.13.2 {
         1721  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
         1722  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         1723  +
         1724  +do_execsql_test 1.5.13.3 {
         1725  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
         1726  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         1727  +
         1728  +do_execsql_test 1.5.13.4 {
         1729  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
         1730  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1731  +
         1732  +do_execsql_test 1.5.13.5 {
         1733  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
         1734  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         1735  +
         1736  +do_execsql_test 1.5.13.6 {
         1737  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
         1738  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         1739  +
  1500   1740   do_execsql_test 1.6.2.1 {
  1501   1741     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING ) FROM t2
  1502   1742   } {{}   {}   0   74   74   74   74   99   99   99   33   89   89   96   96   96   68   68   68   91   91   91   99   99   99   97   78   78   97   97   97   67   93   93   93   84   77   23   93   93   93   65   47   86   86   86   91   91   91   85   85   85   59   59   56   56   91   91   91   90   90   55   89   89   89   47   56   56   56   56   56   75   75   89   98   98   98   81   94   94   94   78   78   78   53   63   63   87   87   87   84   84   84   72   61   73   95   95   95   65   96   98   98   98   74   74   74   65   73   73   73   87   87   87   41   20   31   31   31   95   95   95   79   88   88   88   34   49   49   90   90   96   96   96   75   77   77   77   44   85   85   85   74   74   70   70   59   39   39   47   80   90   90   90   58   58   72   72   72   72   93   93   93   81   81   81   37   37   37   14   62   91   91   91   91   91   34   36   99   99   99   95   95   69   58   52   84   84   84   84   84   39   44   58   58   58   38   83   83   83}
  1503   1743   
  1504   1744   do_execsql_test 1.6.2.2 {
  1505   1745     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING ) FROM t2
  1506   1746   } {{}   {}   0   0   0   41   23   23   23   26   2   2   2   81   59   38   38   38   39   39   46   6   6   6   27   27   27   46   54   8   8   8   29   29   77   23   16   16   16   16   35   35   7   7   7   61   61   61   24   24   24   43   12   12   12   3   3   3   22   22   15   15   15   25   25   1   1   1   40   40   16   16   16   36   36   76   76   4   4   4   30   30   30   29   29   29   2   2   2   37   37   72   41   9   9   9   61   65   13   13   13   58   1   1   1   21   35   5   5   5   11   11   41   12   8   8   8   20   15   15   15   22   22   73   34   8   8   8   11   34   34   59   59   55   55   55   44   2   2   2   7   57   29   29   29   19   19   19   26   26   26   47   36   36   36   9   9   9   66   33   33   33   64   64   9   9   9   13   12   12   12   14   36   36   33   15   15   15   34   3   3   3   58   52   30   30   30   10   10   10   21   21   21   39   30   30   30   34   27   27}
................................................................................
  1781   2021     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING ) FROM t2
  1782   2022   } {{}   {}   0   0   0   90   40   30   80   20   90   60   70   80   90   30   50   10   30   41   81   91   61   91   91   1   81   41   61   1   21   11   51   41   31   31   11   81   91   91   21   2   62   12   32   22   42   2   72   12   22   2   72   72   12   62   52   82   23   33   93   23   93   43   3   43   33   53   63   73   13   73   73   33   93   23   13   33   3   33   83   74   74   54   84   74   24   4   94   84   74   34   34   44   74   64   14   34   84   84   44   34   65   35   85   85   55   15   25   75   95   65   65   35   5   15   95   55   75   85   75   15   95   26   96   46   6   46   16   16   86   56   56   56   16   36   76   96   96   26   26   36   66   36   36   97   27   97   67   77   47   7   47   87   37   87   77   7   57   47   47   37   27   17   7   38   68   78   8   28   98   78   58   98   8   88   8   58   58   58   38   99   89   59   39   99   29   59   89   89   29   9   79   49   59   29   59   19   39   9}
  1783   2023   
  1784   2024   do_execsql_test 1.6.11.6 {
  1785   2025     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING) FROM t2
  1786   2026   } {{}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
  1787   2027   
         2028  +do_execsql_test 1.6.12.1 {
         2029  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING) FROM t2
         2030  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2031  +
         2032  +do_execsql_test 1.6.12.2 {
         2033  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING) FROM t2
         2034  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2035  +
         2036  +do_execsql_test 1.6.12.3 {
         2037  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING ) FROM t2
         2038  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2039  +
         2040  +do_execsql_test 1.6.12.4 {
         2041  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING ) FROM t2
         2042  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2043  +
         2044  +do_execsql_test 1.6.12.5 {
         2045  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING ) FROM t2
         2046  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2047  +
         2048  +do_execsql_test 1.6.12.6 {
         2049  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING) FROM t2
         2050  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2051  +
         2052  +do_execsql_test 1.6.13.1 {
         2053  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING) FROM t2
         2054  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         2055  +
         2056  +do_execsql_test 1.6.13.2 {
         2057  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING) FROM t2
         2058  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         2059  +
         2060  +do_execsql_test 1.6.13.3 {
         2061  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING ) FROM t2
         2062  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         2063  +
         2064  +do_execsql_test 1.6.13.4 {
         2065  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING ) FROM t2
         2066  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2067  +
         2068  +do_execsql_test 1.6.13.5 {
         2069  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING ) FROM t2
         2070  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         2071  +
         2072  +do_execsql_test 1.6.13.6 {
         2073  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND 2 PRECEDING) FROM t2
         2074  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2075  +
  1788   2076   do_execsql_test 1.7.2.1 {
  1789   2077     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
  1790   2078   } {0   74   74   74   74   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99}
  1791   2079   
  1792   2080   do_execsql_test 1.7.2.2 {
  1793   2081     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
  1794   2082   } {0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0}
................................................................................
  2069   2357     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
  2070   2358   } {0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0}
  2071   2359   
  2072   2360   do_execsql_test 1.7.11.6 {
  2073   2361     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
  2074   2362   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
  2075   2363   
         2364  +do_execsql_test 1.7.12.1 {
         2365  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
         2366  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2367  +
         2368  +do_execsql_test 1.7.12.2 {
         2369  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
         2370  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2371  +
         2372  +do_execsql_test 1.7.12.3 {
         2373  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
         2374  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2375  +
         2376  +do_execsql_test 1.7.12.4 {
         2377  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
         2378  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2379  +
         2380  +do_execsql_test 1.7.12.5 {
         2381  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
         2382  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2383  +
         2384  +do_execsql_test 1.7.12.6 {
         2385  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
         2386  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2387  +
         2388  +do_execsql_test 1.7.13.1 {
         2389  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
         2390  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         2391  +
         2392  +do_execsql_test 1.7.13.2 {
         2393  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
         2394  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         2395  +
         2396  +do_execsql_test 1.7.13.3 {
         2397  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
         2398  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         2399  +
         2400  +do_execsql_test 1.7.13.4 {
         2401  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
         2402  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2403  +
         2404  +do_execsql_test 1.7.13.5 {
         2405  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
         2406  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         2407  +
         2408  +do_execsql_test 1.7.13.6 {
         2409  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
         2410  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2411  +
  2076   2412   do_execsql_test 1.8.2.1 {
  2077   2413     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW ) FROM t2
  2078   2414   } {0   74   74   74   74   99   99   99   99   99   89   96   96   96   96   96   68   91   91   91   99   99   99   99   99   97   97   97   97   97   97   93   93   93   93   84   93   93   93   93   93   86   86   86   91   91   91   91   91   85   85   85   59   59   91   91   91   91   91   90   90   89   89   89   89   56   56   56   56   75   75   89   98   98   98   98   98   94   94   94   94   78   78   78   63   87   87   87   87   87   84   84   84   73   95   95   95   95   96   98   98   98   98   98   74   74   74   73   73   87   87   87   87   87   41   31   31   95   95   95   95   95   88   88   88   88   49   90   90   96   96   96   96   96   77   77   77   85   85   85   85   85   74   74   70   70   59   47   80   90   90   90   90   90   72   72   72   72   93   93   93   93   93   81   81   81   37   37   62   91   91   91   91   91   91   91   99   99   99   99   99   95   95   69   84   84   84   84   84   84   84   58   58   58   58   83   83   83   83   83}
  2079   2415   
  2080   2416   do_execsql_test 1.8.2.2 {
  2081   2417     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW ) FROM t2
  2082   2418   } {0   0   0   0   0   23   23   23   2   2   2   2   2   38   38   38   38   38   39   6   6   6   6   6   27   27   27   8   8   8   8   8   29   23   16   16   16   16   16   16   7   7   7   7   7   61   24   24   24   24   12   12   12   3   3   3   3   3   15   15   15   15   15   1   1   1   1   1   16   16   16   16   16   36   36   4   4   4   4   4   30   29   29   29   2   2   2   2   2   37   37   9   9   9   9   9   13   13   13   13   1   1   1   1   1   5   5   5   5   5   11   11   8   8   8   8   8   15   15   15   15   22   22   8   8   8   8   8   11   34   34   55   55   55   44   2   2   2   2   2   7   29   29   19   19   19   19   19   26   26   26   36   36   9   9   9   9   9   33   33   33   33   9   9   9   9   9   12   12   12   12   14   33   15   15   15   15   3   3   3   3   3   30   30   30   10   10   10   10   10   21   21   21   30   30   30   27   27   17   7}
................................................................................
  2357   2693     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW ) FROM t2
  2358   2694   } {0   0   0   0   0   90   40   30   80   20   90   60   70   80   90   30   50   10   30   41   81   91   61   91   91   1   81   41   61   1   21   11   51   41   31   31   11   81   91   91   21   2   62   12   32   22   42   2   72   12   22   2   72   72   12   62   52   82   23   33   93   23   93   43   3   43   33   53   63   73   13   73   73   33   93   23   13   33   3   33   83   74   74   54   84   74   24   4   94   84   74   34   34   44   74   64   14   34   84   84   44   34   65   35   85   85   55   15   25   75   95   65   65   35   5   15   95   55   75   85   75   15   95   26   96   46   6   46   16   16   86   56   56   56   16   36   76   96   96   26   26   36   66   36   36   97   27   97   67   77   47   7   47   87   37   87   77   7   57   47   47   37   27   17   7   38   68   78   8   28   98   78   58   98   8   88   8   58   58   58   38   99   89   59   39   99   29   59   89   89   29   9   79   49   59   29   59   19   39   9}
  2359   2695   
  2360   2696   do_execsql_test 1.8.11.6 {
  2361   2697     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW) FROM t2
  2362   2698   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
  2363   2699   
         2700  +do_execsql_test 1.8.12.1 {
         2701  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW) FROM t2
         2702  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2703  +
         2704  +do_execsql_test 1.8.12.2 {
         2705  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW) FROM t2
         2706  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2707  +
         2708  +do_execsql_test 1.8.12.3 {
         2709  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW ) FROM t2
         2710  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2711  +
         2712  +do_execsql_test 1.8.12.4 {
         2713  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW ) FROM t2
         2714  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2715  +
         2716  +do_execsql_test 1.8.12.5 {
         2717  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW ) FROM t2
         2718  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2719  +
         2720  +do_execsql_test 1.8.12.6 {
         2721  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW) FROM t2
         2722  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2723  +
         2724  +do_execsql_test 1.8.13.1 {
         2725  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW) FROM t2
         2726  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         2727  +
         2728  +do_execsql_test 1.8.13.2 {
         2729  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW) FROM t2
         2730  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         2731  +
         2732  +do_execsql_test 1.8.13.3 {
         2733  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW ) FROM t2
         2734  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         2735  +
         2736  +do_execsql_test 1.8.13.4 {
         2737  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW ) FROM t2
         2738  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2739  +
         2740  +do_execsql_test 1.8.13.5 {
         2741  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW ) FROM t2
         2742  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         2743  +
         2744  +do_execsql_test 1.8.13.6 {
         2745  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND CURRENT ROW) FROM t2
         2746  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         2747  +
  2364   2748   do_execsql_test 1.9.2.1 {
  2365   2749     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
  2366   2750   } {0   74   41   74   23   99   26   33   2   89   81   96   59   38   68   39   62   91   46   6   99   97   27   46   78   54   97   8   67   29   93   84   77   23   16   16   93   65   35   47   7   86   74   61   91   85   24   85   43   59   12   32   56   3   91   22   90   55   15   28   89   25   47   1   56   40   43   56   16   75   36   89   98   76   81   4   94   42   30   78   33   29   53   63   2   87   37   80   84   72   41   9   61   73   95   65   13   58   96   98   1   21   74   65   35   5   73   11   51   87   41   12   8   20   31   31   15   95   22   73   79   88   34   8   11   49   34   90   59   96   60   55   75   77   44   2   7   85   57   74   29   70   59   19   39   26   26   47   80   90   36   58   47   9   72   72   66   33   93   75   64   81   9   23   37   13   12   14   62   91   36   91   33   15   34   36   99   3   95   69   58   52   30   50   84   10   84   33   21   39   44   58   30   38   34   83   27   82   17   7}
  2367   2751   
  2368   2752   do_execsql_test 1.9.2.2 {
  2369   2753     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
  2370   2754   } {0   74   41   74   23   99   26   33   2   89   81   96   59   38   68   39   62   91   46   6   99   97   27   46   78   54   97   8   67   29   93   84   77   23   16   16   93   65   35   47   7   86   74   61   91   85   24   85   43   59   12   32   56   3   91   22   90   55   15   28   89   25   47   1   56   40   43   56   16   75   36   89   98   76   81   4   94   42   30   78   33   29   53   63   2   87   37   80   84   72   41   9   61   73   95   65   13   58   96   98   1   21   74   65   35   5   73   11   51   87   41   12   8   20   31   31   15   95   22   73   79   88   34   8   11   49   34   90   59   96   60   55   75   77   44   2   7   85   57   74   29   70   59   19   39   26   26   47   80   90   36   58   47   9   72   72   66   33   93   75   64   81   9   23   37   13   12   14   62   91   36   91   33   15   34   36   99   3   95   69   58   52   30   50   84   10   84   33   21   39   44   58   30   38   34   83   27   82   17   7}
................................................................................
  2645   3029     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
  2646   3030   } {0   90   40   30   80   20   90   60   70   80   90   30   50   10   30   41   81   91   61   91   91   1   81   41   61   1   21   11   51   41   31   31   11   81   91   91   21   2   62   12   32   22   42   2   72   12   22   2   72   72   12   62   52   82   23   33   93   23   93   43   3   43   33   53   63   73   13   73   73   33   93   23   13   33   3   33   83   74   74   54   84   74   24   4   94   84   74   34   34   44   74   64   14   34   84   84   44   34   65   35   85   85   55   15   25   75   95   65   65   35   5   15   95   55   75   85   75   15   95   26   96   46   6   46   16   16   86   56   56   56   16   36   76   96   96   26   26   36   66   36   36   97   27   97   67   77   47   7   47   87   37   87   77   7   57   47   47   37   27   17   7   38   68   78   8   28   98   78   58   98   8   88   8   58   58   58   38   99   89   59   39   99   29   59   89   89   29   9   79   49   59   29   59   19   39   9   9   99   69   39}
  2647   3031   
  2648   3032   do_execsql_test 1.9.11.6 {
  2649   3033     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
  2650   3034   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
  2651   3035   
         3036  +do_execsql_test 1.9.12.1 {
         3037  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         3038  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3039  +
         3040  +do_execsql_test 1.9.12.2 {
         3041  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         3042  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3043  +
         3044  +do_execsql_test 1.9.12.3 {
         3045  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         3046  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3047  +
         3048  +do_execsql_test 1.9.12.4 {
         3049  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         3050  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3051  +
         3052  +do_execsql_test 1.9.12.5 {
         3053  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         3054  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3055  +
         3056  +do_execsql_test 1.9.12.6 {
         3057  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         3058  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3059  +
         3060  +do_execsql_test 1.9.13.1 {
         3061  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         3062  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         3063  +
         3064  +do_execsql_test 1.9.13.2 {
         3065  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         3066  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         3067  +
         3068  +do_execsql_test 1.9.13.3 {
         3069  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         3070  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         3071  +
         3072  +do_execsql_test 1.9.13.4 {
         3073  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         3074  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3075  +
         3076  +do_execsql_test 1.9.13.5 {
         3077  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW         AND CURRENT ROW ) FROM t2
         3078  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         3079  +
         3080  +do_execsql_test 1.9.13.6 {
         3081  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW         AND CURRENT ROW) FROM t2
         3082  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3083  +
  2652   3084   do_execsql_test 1.10.2.1 {
  2653   3085     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
  2654   3086   } {74   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99}
  2655   3087   
  2656   3088   do_execsql_test 1.10.2.2 {
  2657   3089     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
  2658   3090   } {0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0}
................................................................................
  2933   3365     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
  2934   3366   } {0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0}
  2935   3367   
  2936   3368   do_execsql_test 1.10.11.6 {
  2937   3369     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
  2938   3370   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
  2939   3371   
         3372  +do_execsql_test 1.10.12.1 {
         3373  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
         3374  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3375  +
         3376  +do_execsql_test 1.10.12.2 {
         3377  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
         3378  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3379  +
         3380  +do_execsql_test 1.10.12.3 {
         3381  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
         3382  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3383  +
         3384  +do_execsql_test 1.10.12.4 {
         3385  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
         3386  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3387  +
         3388  +do_execsql_test 1.10.12.5 {
         3389  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
         3390  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3391  +
         3392  +do_execsql_test 1.10.12.6 {
         3393  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
         3394  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3395  +
         3396  +do_execsql_test 1.10.13.1 {
         3397  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
         3398  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         3399  +
         3400  +do_execsql_test 1.10.13.2 {
         3401  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
         3402  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         3403  +
         3404  +do_execsql_test 1.10.13.3 {
         3405  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
         3406  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         3407  +
         3408  +do_execsql_test 1.10.13.4 {
         3409  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
         3410  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3411  +
         3412  +do_execsql_test 1.10.13.5 {
         3413  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
         3414  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         3415  +
         3416  +do_execsql_test 1.10.13.6 {
         3417  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
         3418  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3419  +
  2940   3420   do_execsql_test 1.11.2.1 {
  2941   3421     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING ) FROM t2
  2942   3422   } {74   74   74   99   99   99   99   99   99   99   96   96   96   96   96   96   91   91   99   99   99   99   99   99   99   97   97   97   97   97   97   93   93   93   93   93   93   93   93   93   93   86   91   91   91   91   91   91   91   85   85   85   91   91   91   91   91   91   91   90   90   89   89   89   89   56   56   75   75   89   98   98   98   98   98   98   98   94   94   94   94   78   78   87   87   87   87   87   87   87   84   84   95   95   95   95   96   98   98   98   98   98   98   98   74   74   74   87   87   87   87   87   87   87   41   95   95   95   95   95   95   95   88   88   88   90   90   96   96   96   96   96   96   96   77   85   85   85   85   85   85   85   74   74   70   70   80   90   90   90   90   90   90   90   72   72   93   93   93   93   93   93   93   81   81   81   62   91   91   91   91   91   91   91   99   99   99   99   99   99   99   95   95   84   84   84   84   84   84   84   84   58   58   83   83   83   83   83   83   83}
  2943   3423   
  2944   3424   do_execsql_test 1.11.2.2 {
  2945   3425     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING ) FROM t2
  2946   3426   } {0   0   0   0   0   23   2   2   2   2   2   2   2   38   38   38   38   6   6   6   6   6   6   6   27   8   8   8   8   8   8   8   16   16   16   16   16   16   7   7   7   7   7   7   7   24   24   24   12   12   12   3   3   3   3   3   3   3   15   15   15   1   1   1   1   1   1   1   16   16   16   16   16   4   4   4   4   4   4   4   29   29   2   2   2   2   2   2   2   9   9   9   9   9   9   9   13   13   1   1   1   1   1   1   1   5   5   5   5   5   8   8   8   8   8   8   8   15   15   15   15   8   8   8   8   8   8   8   11   34   34   55   44   2   2   2   2   2   2   2   7   19   19   19   19   19   19   19   26   26   26   9   9   9   9   9   9   9   33   33   9   9   9   9   9   9   9   12   12   12   12   14   15   15   15   3   3   3   3   3   3   3   30   10   10   10   10   10   10   10   21   21   21   30   27   27   17   7   7   7}
................................................................................
  3221   3701     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING ) FROM t2
  3222   3702   } {0   0   0   0   0   90   40   30   80   20   90   60   70   80   90   30   50   10   30   41   81   91   61   91   91   1   81   41   61   1   21   11   51   41   31   31   11   81   91   91   21   2   62   12   32   22   42   2   72   12   22   2   72   72   12   62   52   82   23   33   93   23   93   43   3   43   33   53   63   73   13   73   73   33   93   23   13   33   3   33   83   74   74   54   84   74   24   4   94   84   74   34   34   44   74   64   14   34   84   84   44   34   65   35   85   85   55   15   25   75   95   65   65   35   5   15   95   55   75   85   75   15   95   26   96   46   6   46   16   16   86   56   56   56   16   36   76   96   96   26   26   36   66   36   36   97   27   97   67   77   47   7   47   87   37   87   77   7   57   47   47   37   27   17   7   38   68   78   8   28   98   78   58   98   8   88   8   58   58   58   38   99   89   59   39   99   29   59   89   89   29   9   79   49   59   29   59   19   39   9}
  3223   3703   
  3224   3704   do_execsql_test 1.11.11.6 {
  3225   3705     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING) FROM t2
  3226   3706   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
  3227   3707   
         3708  +do_execsql_test 1.11.12.1 {
         3709  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING) FROM t2
         3710  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3711  +
         3712  +do_execsql_test 1.11.12.2 {
         3713  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING) FROM t2
         3714  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3715  +
         3716  +do_execsql_test 1.11.12.3 {
         3717  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING ) FROM t2
         3718  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3719  +
         3720  +do_execsql_test 1.11.12.4 {
         3721  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING ) FROM t2
         3722  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3723  +
         3724  +do_execsql_test 1.11.12.5 {
         3725  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING ) FROM t2
         3726  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3727  +
         3728  +do_execsql_test 1.11.12.6 {
         3729  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING) FROM t2
         3730  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3731  +
         3732  +do_execsql_test 1.11.13.1 {
         3733  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING) FROM t2
         3734  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         3735  +
         3736  +do_execsql_test 1.11.13.2 {
         3737  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING) FROM t2
         3738  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         3739  +
         3740  +do_execsql_test 1.11.13.3 {
         3741  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING ) FROM t2
         3742  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         3743  +
         3744  +do_execsql_test 1.11.13.4 {
         3745  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING ) FROM t2
         3746  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3747  +
         3748  +do_execsql_test 1.11.13.5 {
         3749  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING ) FROM t2
         3750  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         3751  +
         3752  +do_execsql_test 1.11.13.6 {
         3753  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND 2 FOLLOWING) FROM t2
         3754  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         3755  +
  3228   3756   do_execsql_test 1.12.2.1 {
  3229   3757     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING ) FROM t2
  3230   3758   } {74   99   99   99   99   99   89   96   96   96   96   96   68   91   91   91   99   99   99   99   99   97   97   97   97   97   97   93   93   93   93   84   93   93   93   93   93   86   86   86   91   91   91   91   91   85   85   85   59   59   91   91   91   91   91   90   90   89   89   89   89   56   56   56   56   75   75   89   98   98   98   98   98   94   94   94   94   78   78   78   63   87   87   87   87   87   84   84   84   73   95   95   95   95   96   98   98   98   98   98   74   74   74   73   73   87   87   87   87   87   41   31   31   95   95   95   95   95   88   88   88   88   49   90   90   96   96   96   96   96   77   77   77   85   85   85   85   85   74   74   70   70   59   47   80   90   90   90   90   90   72   72   72   72   93   93   93   93   93   81   81   81   37   37   62   91   91   91   91   91   91   91   99   99   99   99   99   95   95   69   84   84   84   84   84   84   84   58   58   58   58   83   83   83   83   83   82   82   17   7}
  3231   3759   
  3232   3760   do_execsql_test 1.12.2.2 {
  3233   3761     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING ) FROM t2
  3234   3762   } {0   23   23   23   2   2   2   2   2   38   38   38   38   38   39   6   6   6   6   6   27   27   27   8   8   8   8   8   29   23   16   16   16   16   16   16   7   7   7   7   7   61   24   24   24   24   12   12   12   3   3   3   3   3   15   15   15   15   15   1   1   1   1   1   16   16   16   16   16   36   36   4   4   4   4   4   30   29   29   29   2   2   2   2   2   37   37   9   9   9   9   9   13   13   13   13   1   1   1   1   1   5   5   5   5   5   11   11   8   8   8   8   8   15   15   15   15   22   22   8   8   8   8   8   11   34   34   55   55   55   44   2   2   2   2   2   7   29   29   19   19   19   19   19   26   26   26   36   36   9   9   9   9   9   33   33   33   33   9   9   9   9   9   12   12   12   12   14   33   15   15   15   15   3   3   3   3   3   30   30   30   10   10   10   10   10   21   21   21   30   30   30   27   27   17   7   7   7   7   7}
................................................................................
  3509   4037     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING ) FROM t2
  3510   4038   } {0   90   40   30   80   20   90   60   70   80   90   30   50   10   30   41   81   91   61   91   91   1   81   41   61   1   21   11   51   41   31   31   11   81   91   91   21   2   62   12   32   22   42   2   72   12   22   2   72   72   12   62   52   82   23   33   93   23   93   43   3   43   33   53   63   73   13   73   73   33   93   23   13   33   3   33   83   74   74   54   84   74   24   4   94   84   74   34   34   44   74   64   14   34   84   84   44   34   65   35   85   85   55   15   25   75   95   65   65   35   5   15   95   55   75   85   75   15   95   26   96   46   6   46   16   16   86   56   56   56   16   36   76   96   96   26   26   36   66   36   36   97   27   97   67   77   47   7   47   87   37   87   77   7   57   47   47   37   27   17   7   38   68   78   8   28   98   78   58   98   8   88   8   58   58   58   38   99   89   59   39   99   29   59   89   89   29   9   79   49   59   29   59   19   39   9   9   99   69   39}
  3511   4039   
  3512   4040   do_execsql_test 1.12.11.6 {
  3513   4041     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING) FROM t2
  3514   4042   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
  3515   4043   
         4044  +do_execsql_test 1.12.12.1 {
         4045  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING) FROM t2
         4046  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4047  +
         4048  +do_execsql_test 1.12.12.2 {
         4049  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING) FROM t2
         4050  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4051  +
         4052  +do_execsql_test 1.12.12.3 {
         4053  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING ) FROM t2
         4054  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4055  +
         4056  +do_execsql_test 1.12.12.4 {
         4057  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING ) FROM t2
         4058  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4059  +
         4060  +do_execsql_test 1.12.12.5 {
         4061  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING ) FROM t2
         4062  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4063  +
         4064  +do_execsql_test 1.12.12.6 {
         4065  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING) FROM t2
         4066  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4067  +
         4068  +do_execsql_test 1.12.13.1 {
         4069  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING) FROM t2
         4070  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         4071  +
         4072  +do_execsql_test 1.12.13.2 {
         4073  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING) FROM t2
         4074  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         4075  +
         4076  +do_execsql_test 1.12.13.3 {
         4077  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING ) FROM t2
         4078  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         4079  +
         4080  +do_execsql_test 1.12.13.4 {
         4081  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING ) FROM t2
         4082  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4083  +
         4084  +do_execsql_test 1.12.13.5 {
         4085  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING ) FROM t2
         4086  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         4087  +
         4088  +do_execsql_test 1.12.13.6 {
         4089  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW         AND 4 FOLLOWING) FROM t2
         4090  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4091  +
  3516   4092   do_execsql_test 1.13.2.1 {
  3517   4093     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING ) FROM t2
  3518   4094   } {74   99   99   99   33   89   89   96   96   96   68   68   68   91   91   91   99   99   99   97   78   78   97   97   97   67   93   93   93   84   77   23   93   93   93   65   47   86   86   86   91   91   91   85   85   85   59   59   56   56   91   91   91   90   90   55   89   89   89   47   56   56   56   56   56   75   75   89   98   98   98   81   94   94   94   78   78   78   53   63   63   87   87   87   84   84   84   72   61   73   95   95   95   65   96   98   98   98   74   74   74   65   73   73   73   87   87   87   41   20   31   31   31   95   95   95   79   88   88   88   34   49   49   90   90   96   96   96   75   77   77   77   44   85   85   85   74   74   70   70   59   39   39   47   80   90   90   90   58   58   72   72   72   72   93   93   93   81   81   81   37   37   37   14   62   91   91   91   91   91   34   36   99   99   99   95   95   69   58   52   84   84   84   84   84   39   44   58   58   58   38   83   83   83   82   82   17   7   {}   {}}
  3519   4095   
  3520   4096   do_execsql_test 1.13.2.2 {
  3521   4097     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING ) FROM t2
  3522   4098   } {23   23   23   26   2   2   2   81   59   38   38   38   39   39   46   6   6   6   27   27   27   46   54   8   8   8   29   29   77   23   16   16   16   16   35   35   7   7   7   61   61   61   24   24   24   43   12   12   12   3   3   3   22   22   15   15   15   25   25   1   1   1   40   40   16   16   16   36   36   76   76   4   4   4   30   30   30   29   29   29   2   2   2   37   37   72   41   9   9   9   61   65   13   13   13   58   1   1   1   21   35   5   5   5   11   11   41   12   8   8   8   20   15   15   15   22   22   73   34   8   8   8   11   34   34   59   59   55   55   55   44   2   2   2   7   57   29   29   29   19   19   19   26   26   26   47   36   36   36   9   9   9   66   33   33   33   64   64   9   9   9   13   12   12   12   14   36   36   33   15   15   15   34   3   3   3   58   52   30   30   30   10   10   10   21   21   21   39   30   30   30   34   27   27   17   7   7   7   {}   {}}
................................................................................
  3797   4373     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING ) FROM t2
  3798   4374   } {40   30   80   20   90   60   70   80   90   30   50   10   30   41   81   91   61   91   91   1   81   41   61   1   21   11   51   41   31   31   11   81   91   91   21   2   62   12   32   22   42   2   72   12   22   2   72   72   12   62   52   82   23   33   93   23   93   43   3   43   33   53   63   73   13   73   73   33   93   23   13   33   3   33   83   74   74   54   84   74   24   4   94   84   74   34   34   44   74   64   14   34   84   84   44   34   65   35   85   85   55   15   25   75   95   65   65   35   5   15   95   55   75   85   75   15   95   26   96   46   6   46   16   16   86   56   56   56   16   36   76   96   96   26   26   36   66   36   36   97   27   97   67   77   47   7   47   87   37   87   77   7   57   47   47   37   27   17   7   38   68   78   8   28   98   78   58   98   8   88   8   58   58   58   38   99   89   59   39   99   29   59   89   89   29   9   79   49   59   29   59   19   39   9   9   99   69   39   {}   {}}
  3799   4375   
  3800   4376   do_execsql_test 1.13.11.6 {
  3801   4377     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING) FROM t2
  3802   4378   } {{}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
  3803   4379   
         4380  +do_execsql_test 1.13.12.1 {
         4381  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING) FROM t2
         4382  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4383  +
         4384  +do_execsql_test 1.13.12.2 {
         4385  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING) FROM t2
         4386  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4387  +
         4388  +do_execsql_test 1.13.12.3 {
         4389  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING ) FROM t2
         4390  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4391  +
         4392  +do_execsql_test 1.13.12.4 {
         4393  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING ) FROM t2
         4394  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4395  +
         4396  +do_execsql_test 1.13.12.5 {
         4397  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING ) FROM t2
         4398  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4399  +
         4400  +do_execsql_test 1.13.12.6 {
         4401  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING) FROM t2
         4402  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4403  +
         4404  +do_execsql_test 1.13.13.1 {
         4405  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING) FROM t2
         4406  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         4407  +
         4408  +do_execsql_test 1.13.13.2 {
         4409  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING) FROM t2
         4410  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         4411  +
         4412  +do_execsql_test 1.13.13.3 {
         4413  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING ) FROM t2
         4414  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         4415  +
         4416  +do_execsql_test 1.13.13.4 {
         4417  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING ) FROM t2
         4418  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4419  +
         4420  +do_execsql_test 1.13.13.5 {
         4421  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING ) FROM t2
         4422  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         4423  +
         4424  +do_execsql_test 1.13.13.6 {
         4425  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING    AND 4 FOLLOWING) FROM t2
         4426  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4427  +
  3804   4428   do_execsql_test 1.14.2.1 {
  3805   4429     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
  3806   4430   } {99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99}
  3807   4431   
  3808   4432   do_execsql_test 1.14.2.2 {
  3809   4433     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
  3810   4434   } {0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0}
................................................................................
  4085   4709     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
  4086   4710   } {0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0}
  4087   4711   
  4088   4712   do_execsql_test 1.14.11.6 {
  4089   4713     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
  4090   4714   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
  4091   4715   
         4716  +do_execsql_test 1.14.12.1 {
         4717  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
         4718  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4719  +
         4720  +do_execsql_test 1.14.12.2 {
         4721  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
         4722  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4723  +
         4724  +do_execsql_test 1.14.12.3 {
         4725  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
         4726  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4727  +
         4728  +do_execsql_test 1.14.12.4 {
         4729  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
         4730  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4731  +
         4732  +do_execsql_test 1.14.12.5 {
         4733  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
         4734  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4735  +
         4736  +do_execsql_test 1.14.12.6 {
         4737  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
         4738  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4739  +
         4740  +do_execsql_test 1.14.13.1 {
         4741  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
         4742  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         4743  +
         4744  +do_execsql_test 1.14.13.2 {
         4745  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
         4746  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         4747  +
         4748  +do_execsql_test 1.14.13.3 {
         4749  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
         4750  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         4751  +
         4752  +do_execsql_test 1.14.13.4 {
         4753  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
         4754  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4755  +
         4756  +do_execsql_test 1.14.13.5 {
         4757  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
         4758  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         4759  +
         4760  +do_execsql_test 1.14.13.6 {
         4761  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
         4762  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         4763  +
  4092   4764   do_execsql_test 1.15.2.1 {
  4093   4765     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING ) FROM t2
  4094   4766   } {99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   95   95   84   84   84   84   84   84   84   84   83   83   83   83   83   83   83   83   83}
  4095   4767   
  4096   4768   do_execsql_test 1.15.2.2 {
  4097   4769     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING ) FROM t2
  4098   4770   } {0   0   0   0   0   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7}
................................................................................
  4373   5045     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING ) FROM t2
  4374   5046   } {0   0   0   0   0   90   40   30   80   20   90   60   70   80   90   30   50   10   30   41   81   91   61   91   91   1   81   41   61   1   21   11   51   41   31   31   11   81   91   91   21   2   62   12   32   22   42   2   72   12   22   2   72   72   12   62   52   82   23   33   93   23   93   43   3   43   33   53   63   73   13   73   73   33   93   23   13   33   3   33   83   74   74   54   84   74   24   4   94   84   74   34   34   44   74   64   14   34   84   84   44   34   65   35   85   85   55   15   25   75   95   65   65   35   5   15   95   55   75   85   75   15   95   26   96   46   6   46   16   16   86   56   56   56   16   36   76   96   96   26   26   36   66   36   36   97   27   97   67   77   47   7   47   87   37   87   77   7   57   47   47   37   27   17   7   38   68   78   8   28   98   78   58   98   8   88   8   58   58   58   38   99   89   59   39   99   29   59   89   89   29   9   79   49   59   29   59   19   39   9}
  4375   5047   
  4376   5048   do_execsql_test 1.15.11.6 {
  4377   5049     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING) FROM t2
  4378   5050   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
  4379   5051   
         5052  +do_execsql_test 1.15.12.1 {
         5053  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING) FROM t2
         5054  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5055  +
         5056  +do_execsql_test 1.15.12.2 {
         5057  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING) FROM t2
         5058  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5059  +
         5060  +do_execsql_test 1.15.12.3 {
         5061  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING ) FROM t2
         5062  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5063  +
         5064  +do_execsql_test 1.15.12.4 {
         5065  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING ) FROM t2
         5066  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5067  +
         5068  +do_execsql_test 1.15.12.5 {
         5069  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING ) FROM t2
         5070  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5071  +
         5072  +do_execsql_test 1.15.12.6 {
         5073  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING) FROM t2
         5074  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5075  +
         5076  +do_execsql_test 1.15.13.1 {
         5077  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING) FROM t2
         5078  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         5079  +
         5080  +do_execsql_test 1.15.13.2 {
         5081  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING) FROM t2
         5082  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         5083  +
         5084  +do_execsql_test 1.15.13.3 {
         5085  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING ) FROM t2
         5086  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         5087  +
         5088  +do_execsql_test 1.15.13.4 {
         5089  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING ) FROM t2
         5090  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5091  +
         5092  +do_execsql_test 1.15.13.5 {
         5093  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING ) FROM t2
         5094  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         5095  +
         5096  +do_execsql_test 1.15.13.6 {
         5097  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING    AND UNBOUNDED FOLLOWING) FROM t2
         5098  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5099  +
  4380   5100   do_execsql_test 1.16.2.1 {
  4381   5101     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
  4382   5102   } {99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   95   95   84   84   84   84   84   84   84   84   83   83   83   83   83   83   83   83   83   82   82   17   7}
  4383   5103   
  4384   5104   do_execsql_test 1.16.2.2 {
  4385   5105     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
  4386   5106   } {0   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7}
................................................................................
  4661   5381     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
  4662   5382   } {0   90   40   30   80   20   90   60   70   80   90   30   50   10   30   41   81   91   61   91   91   1   81   41   61   1   21   11   51   41   31   31   11   81   91   91   21   2   62   12   32   22   42   2   72   12   22   2   72   72   12   62   52   82   23   33   93   23   93   43   3   43   33   53   63   73   13   73   73   33   93   23   13   33   3   33   83   74   74   54   84   74   24   4   94   84   74   34   34   44   74   64   14   34   84   84   44   34   65   35   85   85   55   15   25   75   95   65   65   35   5   15   95   55   75   85   75   15   95   26   96   46   6   46   16   16   86   56   56   56   16   36   76   96   96   26   26   36   66   36   36   97   27   97   67   77   47   7   47   87   37   87   77   7   57   47   47   37   27   17   7   38   68   78   8   28   98   78   58   98   8   88   8   58   58   58   38   99   89   59   39   99   29   59   89   89   29   9   79   49   59   29   59   19   39   9   9   99   69   39}
  4663   5383   
  4664   5384   do_execsql_test 1.16.11.6 {
  4665   5385     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
  4666   5386   } {0   74   74   26   2   96   38   68   62   46   6   46   78   54   8   84   16   16   86   74   24   12   32   56   22   90   28   56   40   56   16   36   98   76   4   94   42   30   78   2   80   84   72   58   96   98   74   12   8   20   22   88   34   8   34   90   96   60   44   2   74   70   26   26   80   90   36   58   72   72   66   64   12   14   62   36   34   36   58   52   30   50   84   10   84   44   58   30   38   34   82   41   23   99   33   89   81   59   39   91   99   97   27   97   67   29   93   77   23   93   65   35   47   7   61   91   85   85   43   59   3   91   55   15   89   25   47   1   43   75   89   81   33   29   53   63   87   37   41   9   61   73   95   65   13   1   21   65   35   5   73   11   51   87   41   31   31   15   95   73   79   11   49   59   55   75   77   7   85   57   29   59   19   39   47   47   9   33   93   75   81   9   23   37   13   91   91   33   15   99   3   95   69   33   21   39   83   27   17   7}
  4667   5387   
         5388  +do_execsql_test 1.16.12.1 {
         5389  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         5390  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5391  +
         5392  +do_execsql_test 1.16.12.2 {
         5393  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         5394  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5395  +
         5396  +do_execsql_test 1.16.12.3 {
         5397  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         5398  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5399  +
         5400  +do_execsql_test 1.16.12.4 {
         5401  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         5402  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5403  +
         5404  +do_execsql_test 1.16.12.5 {
         5405  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         5406  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5407  +
         5408  +do_execsql_test 1.16.12.6 {
         5409  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         5410  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5411  +
         5412  +do_execsql_test 1.16.13.1 {
         5413  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         5414  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         5415  +
         5416  +do_execsql_test 1.16.13.2 {
         5417  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         5418  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         5419  +
         5420  +do_execsql_test 1.16.13.3 {
         5421  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         5422  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         5423  +
         5424  +do_execsql_test 1.16.13.4 {
         5425  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         5426  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5427  +
         5428  +do_execsql_test 1.16.13.5 {
         5429  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING ) FROM t2
         5430  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         5431  +
         5432  +do_execsql_test 1.16.13.6 {
         5433  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW         AND UNBOUNDED FOLLOWING) FROM t2
         5434  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5435  +
  4668   5436   do_execsql_test 1.17.2.1 {
  4669   5437     SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING ) FROM t2
  4670   5438   } {99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   99   95   95   84   84   84   84   84   84   84   84   83   83   83   83   83   83   83   83   83   82   82   17   7   {}   {}   {}   {}}
  4671   5439   
  4672   5440   do_execsql_test 1.17.2.2 {
  4673   5441     SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING ) FROM t2
  4674   5442   } {1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   {}   {}   {}   {}}
................................................................................
  4949   5717     SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING ) FROM t2
  4950   5718   } {80   20   90   60   70   80   90   30   50   10   30   41   81   91   61   91   91   1   81   41   61   1   21   11   51   41   31   31   11   81   91   91   21   2   62   12   32   22   42   2   72   12   22   2   72   72   12   62   52   82   23   33   93   23   93   43   3   43   33   53   63   73   13   73   73   33   93   23   13   33   3   33   83   74   74   54   84   74   24   4   94   84   74   34   34   44   74   64   14   34   84   84   44   34   65   35   85   85   55   15   25   75   95   65   65   35   5   15   95   55   75   85   75   15   95   26   96   46   6   46   16   16   86   56   56   56   16   36   76   96   96   26   26   36   66   36   36   97   27   97   67   77   47   7   47   87   37   87   77   7   57   47   47   37   27   17   7   38   68   78   8   28   98   78   58   98   8   88   8   58   58   58   38   99   89   59   39   99   29   59   89   89   29   9   79   49   59   29   59   19   39   9   9   99   69   39   {}   {}   {}   {}}
  4951   5719   
  4952   5720   do_execsql_test 1.17.11.6 {
  4953   5721     SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING) FROM t2
  4954   5722   } {{}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
  4955   5723   
         5724  +do_execsql_test 1.17.12.1 {
         5725  +  SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING) FROM t2
         5726  +} {0   4   61   42   8   35   77   7   81   96   9   11   89   32   53   91   30   51   56   54   73   22   59   75   74   78   8   16   65   15   8   31   87   90   12   32   96   74   76   37   85   90   15   35   2   60   36   75   9   51   47   63   51   90   26   42   26   8   76   80   90   37   87   56   79   5   87   8   2   39   73   64   36   90   72   78   36   73   51   33   20   41   2   26   37   33   8   14   33   81   55   1   9   12   39   64   87   72   34   82   21   34   99   62   74   41   69   22   75   27   58   8   79   77   26   26   55   {}   29   30   7   {}   66   55   2   34   64   {}   33   {}   44   84   {}   {}   95   85   19   {}   83   {}   91   {}   {}   9   50   91   33   34   {}   {}   84   {}   7   9   {}   {}   {}   44   {}   {}   {}   {}   91   84   {}   95   95   52   {}   {}   {}   {}   {}   21   {}   {}   {}   58   {}   {}   {}   {}   {}   {}   {}   83   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5727  +
         5728  +do_execsql_test 1.17.12.2 {
         5729  +  SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING) FROM t2
         5730  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   81   {}   {}   {}   21   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   12   {}   62   {}   {}   {}   12   {}   {}   {}   72   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   53   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   95   {}   {}   {}   {}   {}   {}   85   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   56   {}   36   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   57   {}   {}   {}   {}   {}   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5731  +
         5732  +do_execsql_test 1.17.12.3 {
         5733  +  SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING ) FROM t2
         5734  +} {0   1   2   2   3   3   5   6   7   8   8   9   9   10   11   12   12   13   13   14   15   16   16   17   19   20   21   22   23   23   24   25   26   26   27   28   29   30   31   31   33   33   33   33   34   34   35   36   36   36   37   37   38   39   39   40   41   41   42   43   44   46   47   47   47   47   49   51   52   53   54   55   56   56   57   58   58   58   59   59   59   61   61   62   63   65   65   65   67   69   70   72   72   73   74   74   74   74   75   76   77   78   80   81   81   83   84   84   84   85   85   87   87   88   89   89   90   90   90   91   91   91   93   93   95   95   96   96   97   98   99   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5735  +
         5736  +do_execsql_test 1.17.12.4 {
         5737  +  SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING ) FROM t2
         5738  +} {0   80   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   11   61   81   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   12   12   72   82   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   13   23   63   73   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   34   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   35   85   85   95   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   26   76   86   96   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   37   47   47   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   58   58   68   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   39   49   59   99   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5739  +
         5740  +do_execsql_test 1.17.12.5 {
         5741  +  SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING ) FROM t2
         5742  +} {0   64   42   81   94   1   44   73   74   44   85   22   33   41   72   93   34   65   54   5   15   81   15   63   84   21   2   62   54   93   43   33   2   75   16   86   23   12   85   62   13   53   94   12   75   23   73   72   96   46   33   55   25   26   74   34   87   84   87   55   53   25   84   75   56   66   54   36   97   55   78   84   84   95   74   65   17   87   77   96   8   47   95   34   89   98   7   46   6   96   8   47   95   56   89   59   36   36   78   96   89   29   37   95   56   39   {}   8   58   67   85   86   {}   58   49   {}   29   76   {}   77   {}   78   56   98   36   97   {}   59   89   89   47   78   {}   {}   {}   38   68   58   {}   58   38   {}   98   {}   {}   {}   19   57   9   {}   9   {}   {}   7   {}   {}   {}   39   89   38   78   39   {}   {}   8   19   {}   {}   {}   {}   89   {}   39   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   9   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5743  +
         5744  +do_execsql_test 1.17.12.6 {
         5745  +  SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING) FROM t2
         5746  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5747  +
         5748  +do_execsql_test 1.17.13.1 {
         5749  +  SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING) FROM t2
         5750  +} {0   {}   {}   {}   {}   {}   {}   {}   26   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   38   {}   {}   {}   {}   {}   {}   {}   6   {}   0   {}   {}   {}   81   46   6   {}   {}   74   {}   23   {}   {}   {}   {}   {}   27   {}   99   {}   35   6   {}   12   {}   23   {}   41   61   84   {}   93   39   47   2   54   46   96   56   {}   16   {}   {}   {}   {}   89   {}   16   43   74   85   56   29   99   53   {}   59   33   23   91   59   53   84   99   {}   93   63   47   41   74   98   33   67   35   75   1   23   13   55   27   75   98   35   73   63   2   21   27   13   24   86   23   84   31   20   94   61   65   75   23   36   94   55   90   41   77   96   56   29   40   12   89   63   11   5   73   79   1   16   28   31   73   5   39   53   63   41   11   40   2   13   33   9   29   90   47   72   9   73   30   44   33   74   93   29   74   42   34   63   41   34   96   47   77   1   36   74   72   14   36   26   77   9   72   64   8   91   31   52   30}
         5751  +
         5752  +do_execsql_test 1.17.13.2 {
         5753  +  SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING) FROM t2
         5754  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   {}   81   {}   {}   {}   {}   1   {}   {}   {}   41   {}   {}   {}   {}   {}   {}   22   {}   {}   {}   12   {}   {}   62   {}   {}   {}   {}   {}   {}   {}   {}   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   43   {}   23   {}   {}   {}   {}   {}   {}   {}   {}   54   {}   {}   {}   {}   {}   {}   {}   {}   74   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   75   {}   {}   {}   {}   {}   {}   55   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   47   {}   {}   {}   {}   {}   27   7   {}   {}   {}   {}   {}   {}   {}   {}   {}   68   {}   8   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   89   {}   {}   {}   {}   {}   {}   {}   29   9   {}   {}   {}}
         5755  +
         5756  +do_execsql_test 1.17.13.3 {
         5757  +  SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING ) FROM t2
         5758  +} {0   0   1   1   1   2   2   2   2   2   2   2   2   3   3   3   4   4   5   6   6   6   7   7   7   7   7   8   8   8   8   8   8   9   9   9   9   9   9   9   9   9   9   10   11   11   11   11   11   12   12   12   12   12   12   13   13   13   14   14   15   15   15   15   15   16   16   16   16   17   19   19   20   20   21   21   22   22   22   22   23   23   23   23   23   23   24   25   25   25   26   26   26   26   26   26   26   27   27   27   27   27   27   27   27   27   27   27   28   29   29   29   29   29   30   30   30   30   31   31   31   31   31   32   32   32   32   33   33   33   33   33   33   33   33   33   33   33   33   33   33   34   34   34   34   34   35   35   35   35   36   36   36   36   36   36   36   36   37   37   37   37   37   38   38   38   39   39   39   39   39   39   39   40   41   41   41   41   41   42   43   43   44   43   44   44   44   44   46   46   46   47   47   47   47   47   47   47   49   50}
         5759  +
         5760  +do_execsql_test 1.17.13.4 {
         5761  +  SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING ) FROM t2
         5762  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   1   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   2   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5763  +
         5764  +do_execsql_test 1.17.13.5 {
         5765  +  SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING ) FROM t2
         5766  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   30   {}   {}   {}   {}   {}   {}   {}   91   {}   {}   {}   61   20   81   {}   {}   {}   0   1   {}   {}   {}   41   91   {}   11   70   91   0   22   {}   81   61   12   {}   {}   62   {}   0   {}   31   81   {}   91   {}   81   23   61   41   90   90   {}   82   {}   {}   21   {}   72   43   32   23   42   {}   30   80   1   {}   60   93   54   {}   90   50   82   23   12   81   11   74   43   90   30   52   53   81   63   41   81   2   34   54   31   30   42   2   3   75   44   91   93   12   31   22   55   41   34   61   33   75   74   65   35   32   23   13   33   75   84   93   2   62   35   5   85   13   15   25   72   85   22   74   73   35   36   85   33   55   63   33   47   34   65   35   96   36   27   7   46   84   84   47   36   73   44   5   23   68   4   8   85   75   15   66   74   44   96   97   24   7   16   84   44   37   89   35   36   36   68   96   58   47   29   9   65   56   7}
         5767  +
         5768  +do_execsql_test 1.17.13.6 {
         5769  +  SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING    AND UNBOUNDED FOLLOWING) FROM t2
         5770  +} {0   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}   {}}
         5771  +
  4956   5772   finish_test

Changes to test/window4.tcl.

    41     41     INSERT INTO t4 VALUES(9, 'I', 10);
    42     42     INSERT INTO t4 VALUES(10, 'J', 4);
    43     43   }
    44     44   
    45     45   execsql_test 2.1 {
    46     46     SELECT a, nth_value(b, c) OVER (ORDER BY a) FROM t4
    47     47   }
           48  +
           49  +execsql_test 2.2.1 {
           50  +  SELECT a, lead(b) OVER (ORDER BY a) FROM t4
           51  +}
           52  +execsql_test 2.2.2 {
           53  +  SELECT a, lead(b, 2) OVER (ORDER BY a) FROM t4
           54  +}
           55  +execsql_test 2.2.3 {
           56  +  SELECT a, lead(b, 3, 'abc') OVER (ORDER BY a) FROM t4
           57  +}
           58  +
           59  +execsql_test 2.3.1 {
           60  +  SELECT a, lag(b) OVER (ORDER BY a) FROM t4
           61  +}
           62  +execsql_test 2.3.2 {
           63  +  SELECT a, lag(b, 2) OVER (ORDER BY a) FROM t4
           64  +}
           65  +execsql_test 2.3.3 {
           66  +  SELECT a, lag(b, 3, 'abc') OVER (ORDER BY a) FROM t4
           67  +}
    48     68   
    49     69   execsql_test 3.0 {
    50     70     DROP TABLE IF EXISTS t5;
    51     71     CREATE TABLE t5(a INTEGER PRIMARY KEY, b TEXT, c TEXT, d INTEGER);
    52     72     INSERT INTO t5 VALUES(1, 'A', 'one',   5);
    53     73     INSERT INTO t5 VALUES(2, 'B', 'two',   4);
    54     74     INSERT INTO t5 VALUES(3, 'A', 'three', 3);

Changes to test/window4.test.

   117    117     INSERT INTO t4 VALUES(10, 'J', 4);
   118    118   } {}
   119    119   
   120    120   do_execsql_test 2.1 {
   121    121     SELECT a, nth_value(b, c) OVER (ORDER BY a) FROM t4
   122    122   } {1 {}   2 {}   3 B   4 {}   5 E   6 A   7 A   8 B   9 {}   10 D}
   123    123   
          124  +do_execsql_test 2.2.1 {
          125  +  SELECT a, lead(b) OVER (ORDER BY a) FROM t4
          126  +} {1 B   2 C   3 D   4 E   5 F   6 G   7 H   8 I   9 J   10 {}}
          127  +
          128  +do_execsql_test 2.2.2 {
          129  +  SELECT a, lead(b, 2) OVER (ORDER BY a) FROM t4
          130  +} {1 C   2 D   3 E   4 F   5 G   6 H   7 I   8 J   9 {}   10 {}}
          131  +
          132  +do_execsql_test 2.2.3 {
          133  +  SELECT a, lead(b, 3, 'abc') OVER (ORDER BY a) FROM t4
          134  +} {1 D   2 E   3 F   4 G   5 H   6 I   7 J   8 abc   9 abc   10 abc}
          135  +
          136  +do_execsql_test 2.3.1 {
          137  +  SELECT a, lag(b) OVER (ORDER BY a) FROM t4
          138  +} {1 {}   2 A   3 B   4 C   5 D   6 E   7 F   8 G   9 H   10 I}
          139  +
          140  +do_execsql_test 2.3.2 {
          141  +  SELECT a, lag(b, 2) OVER (ORDER BY a) FROM t4
          142  +} {1 {}   2 {}   3 A   4 B   5 C   6 D   7 E   8 F   9 G   10 H}
          143  +
          144  +do_execsql_test 2.3.3 {
          145  +  SELECT a, lag(b, 3, 'abc') OVER (ORDER BY a) FROM t4
          146  +} {1 abc   2 abc   3 abc   4 A   5 B   6 C   7 D   8 E   9 F   10 G}
          147  +
   124    148   do_execsql_test 3.0 {
   125    149     DROP TABLE IF EXISTS t5;
   126    150     CREATE TABLE t5(a INTEGER PRIMARY KEY, b TEXT, c TEXT, d INTEGER);
   127    151     INSERT INTO t5 VALUES(1, 'A', 'one',   5);
   128    152     INSERT INTO t5 VALUES(2, 'B', 'two',   4);
   129    153     INSERT INTO t5 VALUES(3, 'A', 'three', 3);
   130    154     INSERT INTO t5 VALUES(4, 'B', 'four',  2);
................................................................................
   131    155     INSERT INTO t5 VALUES(5, 'A', 'five',  1);
   132    156   } {}
   133    157   
   134    158   do_execsql_test 3.1 {
   135    159     SELECT a, nth_value(c, d) OVER (ORDER BY b) FROM t5
   136    160   } {1 {}   3 five   5 one   2 two   4 three}
   137    161   
   138         -explain_i {
   139         -  SELECT a, nth_value(c, d) OVER (PARTITION BY b ORDER BY a) FROM t5
   140         -  }
   141    162   do_execsql_test 3.2 {
   142    163     SELECT a, nth_value(c, d) OVER (PARTITION BY b ORDER BY a) FROM t5
   143    164   } {1 {}   3 {}   5 one   2 {}   4 four}
   144    165   
   145    166   finish_test