]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Rework the rowid lookup logic in the query optimizer to fix various
authordrh <drh@noemail.net>
Fri, 12 Dec 2008 17:56:16 +0000 (17:56 +0000)
committerdrh <drh@noemail.net>
Fri, 12 Dec 2008 17:56:16 +0000 (17:56 +0000)
boundary value problems.  Ticket #3536.  Renamed the OP_MoveXX opcodes
to OP_SeekXX. (CVS 6024)

FossilOrigin-Name: e545490a2828f7f703172dda6d2b9f3342dc134a

manifest
manifest.uuid
src/vdbe.c
src/where.c
test/boundary1.test [new file with mode: 0644]
test/quick.test

index e82f3283a4d07c7d3c66bf269230ac9010807203..137bf7be74b64efb87c73141bd2ccf9e16f3333f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Previous\schange\sto\sthe\sOP_ForceInt\sopcode\sdid\snot\swork\scorrectly\swhen\sthe\ninput\sis\sa\snegative\sfloating\spoint\svalue.\s\sThis\schange\sis\sthe\sfix.\nTicket\s#3536.\s(CVS\s6023)
-D 2008-12-11T20:03:22
+C Rework\sthe\srowid\slookup\slogic\sin\sthe\squery\soptimizer\sto\sfix\svarious\r\nboundary\svalue\sproblems.\s\sTicket\s#3536.\s\sRenamed\sthe\sOP_MoveXX\sopcodes\r\nto\sOP_SeekXX.\s(CVS\s6024)
+D 2008-12-12T17:56:16
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in f7e4c81c347b04f7b0f1c1b081a168645d7b8af7
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -194,7 +194,7 @@ F src/update.c 080889d241e4dcd1c545c8051eb6de86f4939295
 F src/utf.c 1da9c832dba0fa8f865b5b902d93f420a1ee4245
 F src/util.c ea62608f66f33a7e8322de83024ae37c415c0c7f
 F src/vacuum.c 383d6297bddc011ab04a9eed110db6eaf523e8e9
-F src/vdbe.c 0f9f19520c0b9ac474115b242d07ce5a2e8573d2
+F src/vdbe.c ee98938f76a3d9e513aca9696391c6e19fa2cafe
 F src/vdbe.h 03516f28bf5aca00a53c4dccd6c313f96adb94f6
 F src/vdbeInt.h e6e80a99ce634983b7cc2498843b4d2e5540900a
 F src/vdbeapi.c 85c33cfbfa56249cbe627831610afafba754477d
@@ -203,7 +203,7 @@ F src/vdbeblob.c b0dcebfafedcf9c0addc7901ad98f6f986c08935
 F src/vdbemem.c f9c859ac17e2e05a0f249868ce4f191f69edd31d
 F src/vtab.c e39e011d7443a8d574b1b9cde207a35522e6df43
 F src/walker.c 488c2660e13224ff70c0c82761118efb547f8f0d
-F src/where.c 7c6ab881411110fd8cf2735205532e15475d3349
+F src/where.c 0ef44949222bc9ddcdecf4e44febb9f6dfae4411
 F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617
 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
 F test/alias.test 597662c5d777a122f9a3df0047ea5c5bd383a911
@@ -235,6 +235,7 @@ F test/bind.test 1134441f1ea47abd1c740090435a6ecbe9ceb263
 F test/bindxfer.test d4f573750e06c34ef2309acb95ad57da1d3c983f
 F test/bitvec.test ecea9aa315f36991e56e326701279b7775cb2bef
 F test/blob.test 2a38d867bdf08f9ce081776acec1ac8d4bca66be
+F test/boundary1.test 7481c191f25082a2a25c9b01ee8d04139177cfc5
 F test/busy.test 76b4887f8b9160ba903c1ac22e8ff406ad6ae2f0
 F test/cache.test 3ff445c445742a7b6b9ba6e1d62a25263f9424b9
 F test/capi2.test 36f87803c811b5986dd31eb5492cb704552776b4
@@ -469,7 +470,7 @@ F test/pragma2.test 5364893491b9231dd170e3459bfc2e2342658b47
 F test/printf.test 262a5acd3158f788e9bdf7f18d718f3af32ff6ef
 F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301 x
 F test/ptrchng.test ef1aa72d6cf35a2bbd0869a649b744e9d84977fc
-F test/quick.test 70695607082b3e1ca54023b2c856991604b07703
+F test/quick.test 5ef986df012628262ad4183cd8c28f0361911387
 F test/quote.test 215897dbe8de1a6f701265836d6601cc6ed103e6
 F test/rdonly.test bd054831f8a3078e765a0657e247182486f0cb47
 F test/reindex.test 44edd3966b474468b823d481eafef0c305022254
@@ -664,7 +665,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P 6a049c6595550c123e77199cf7f3898bfcf40c86
-R 30f4db4022dbc33bbe241ed05b40d603
+P f6c50f357c302907a5398c551a5c596f7d305031
+R 5363a9d2ee8fa1a51a6491d7cbd42e82
 U drh
-Z 34043079a7476d69b5d19a3b388c9c6e
+Z 19a314fdfac85425d684fa034d87f9b6
index d2731f00366daa99c8e9e4fbcc9000438ea39a7e..d185c5b6069b64428480a37afd500266a0d2742a 100644 (file)
@@ -1 +1 @@
-f6c50f357c302907a5398c551a5c596f7d305031
\ No newline at end of file
+e545490a2828f7f703172dda6d2b9f3342dc134a
\ No newline at end of file
index 0a36b50f2035e2ea64170e5df83d5c4c0a6e01e1..dcf6a2713b9bde95ad00569010b4a36240fd52e5 100644 (file)
@@ -43,7 +43,7 @@
 ** in this file for details.  If in doubt, do not deviate from existing
 ** commenting and indentation practices when changing or adding code.
 **
-** $Id: vdbe.c,v 1.801 2008/12/11 20:03:22 drh Exp $
+** $Id: vdbe.c,v 1.802 2008/12/12 17:56:16 drh Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -51,7 +51,7 @@
 
 /*
 ** The following global variable is incremented every time a cursor
-** moves, either by the OP_MoveXX, OP_Next, or OP_Prev opcodes.  The test
+** moves, either by the OP_SeekXX, OP_Next, or OP_Prev opcodes.  The test
 ** procedures use this information to make sure that indices are
 ** working correctly.  This variable has no function other than to
 ** help verify the correct operation of the library.
@@ -1437,49 +1437,6 @@ case OP_AddImm: {            /* in1 */
   break;
 }
 
-/* Opcode: ForceInt P1 P2 P3 * *
-**
-** Convert value in register P1 into an integer.  If the value 
-** in P1 is not numeric (meaning that is is a NULL or a string that
-** does not look like an integer) then jump to P2.
-**
-** If the value in P1 is numeric then convert it into the smallest
-** integer that is greater than or equal to its current value if P3==0, 
-** or to the smallest integer that is strictly greater than its current
-** value if P3==1.
-**
-** If the conversion described in the previous paragraph causes the
-** value to exceed the largest possible integer value 
-** (9223372036854775807), then jump to P2.
-*/
-case OP_ForceInt: {            /* jump, in1 */
-  i64 v;                       /* The value to store in P1 */
-  int incrV = 0;               /* True to cause v to increment */
-  applyAffinity(pIn1, SQLITE_AFF_NUMERIC, encoding);
-  if( (pIn1->flags & (MEM_Int|MEM_Real))==0 ){
-    pc = pOp->p2 - 1;
-    break;
-  }
-  incrV = pOp->p3 ?1:0;
-  if( pIn1->flags & MEM_Int ){
-    v = pIn1->u.i;
-  }else{
-    assert( pIn1->flags & MEM_Real );
-    v = (sqlite3_int64)pIn1->r;
-    incrV = pIn1->r>(double)v ?1:0;
-  }
-  if( incrV ){
-    if( v==LARGEST_INT64 ){
-      pc = pOp->p2 - 1;
-      break;
-    }
-    v++;
-  }
-  pIn1->u.i = v;
-  MemSetTypeFlag(pIn1, MEM_Int);
-  break;
-}
-
 /* Opcode: MustBeInt P1 P2 * * *
 ** 
 ** Force the value in register P1 to be an integer.  If the value
@@ -2881,10 +2838,10 @@ case OP_Close: {
   break;
 }
 
-/* Opcode: MoveGe P1 P2 P3 P4 *
+/* Opcode: SeekGe P1 P2 P3 P4 *
 **
 ** If cursor P1 refers to an SQL table (B-Tree that uses integer keys), 
-** use the integer value in register P3 as a key. If cursor P1 refers 
+** use the value in register P3 as the key.  If cursor P1 refers 
 ** to an SQL index, then P3 is the first in an array of P4 registers 
 ** that are used as an unpacked index key. 
 **
@@ -2892,19 +2849,12 @@ case OP_Close: {
 ** is greater than or equal to the key value. If there are no records 
 ** greater than or equal to the key and P2 is not zero, then jump to P2.
 **
-** A special feature of this opcode (and different from the
-** related OP_MoveGt, OP_MoveLt, and OP_MoveLe) is that if P2 is
-** zero and P1 is an SQL table (a b-tree with integer keys) then
-** the seek is deferred until it is actually needed.  It might be
-** the case that the cursor is never accessed.  By deferring the
-** seek, we avoid unnecessary seeks.
-**
-** See also: Found, NotFound, Distinct, MoveLt, MoveGt, MoveLe
+** See also: Found, NotFound, Distinct, SeekLt, SeekGt, SeekLe
 */
-/* Opcode: MoveGt P1 P2 P3 P4 *
+/* Opcode: SeekGt P1 P2 P3 P4 *
 **
 ** If cursor P1 refers to an SQL table (B-Tree that uses integer keys), 
-** use the integer value in register P3 as a key. If cursor P1 refers 
+** use the value in register P3 as a key. If cursor P1 refers 
 ** to an SQL index, then P3 is the first in an array of P4 registers 
 ** that are used as an unpacked index key. 
 **
@@ -2912,12 +2862,12 @@ case OP_Close: {
 ** is greater than the key value. If there are no records greater than 
 ** the key and P2 is not zero, then jump to P2.
 **
-** See also: Found, NotFound, Distinct, MoveLt, MoveGe, MoveLe
+** See also: Found, NotFound, Distinct, SeekLt, SeekGe, SeekLe
 */
-/* Opcode: MoveLt P1 P2 P3 P4 * 
+/* Opcode: SeekLt P1 P2 P3 P4 * 
 **
 ** If cursor P1 refers to an SQL table (B-Tree that uses integer keys), 
-** use the integer value in register P3 as a key. If cursor P1 refers 
+** use the value in register P3 as a key. If cursor P1 refers 
 ** to an SQL index, then P3 is the first in an array of P4 registers 
 ** that are used as an unpacked index key. 
 **
@@ -2925,12 +2875,12 @@ case OP_Close: {
 ** is less than the key value. If there are no records less than 
 ** the key and P2 is not zero, then jump to P2.
 **
-** See also: Found, NotFound, Distinct, MoveGt, MoveGe, MoveLe
+** See also: Found, NotFound, Distinct, SeekGt, SeekGe, SeekLe
 */
-/* Opcode: MoveLe P1 P2 P3 P4 *
+/* Opcode: SeekLe P1 P2 P3 P4 *
 **
 ** If cursor P1 refers to an SQL table (B-Tree that uses integer keys), 
-** use the integer value in register P3 as a key. If cursor P1 refers 
+** use the value in register P3 as a key. If cursor P1 refers 
 ** to an SQL index, then P3 is the first in an array of P4 registers 
 ** that are used as an unpacked index key. 
 **
@@ -2938,16 +2888,17 @@ case OP_Close: {
 ** is less than or equal to the key value. If there are no records 
 ** less than or equal to the key and P2 is not zero, then jump to P2.
 **
-** See also: Found, NotFound, Distinct, MoveGt, MoveGe, MoveLt
+** See also: Found, NotFound, Distinct, SeekGt, SeekGe, SeekLt
 */
-case OP_MoveLt:         /* jump, in3 */
-case OP_MoveLe:         /* jump, in3 */
-case OP_MoveGe:         /* jump, in3 */
-case OP_MoveGt: {       /* jump, in3 */
+case OP_SeekLt:         /* jump, in3 */
+case OP_SeekLe:         /* jump, in3 */
+case OP_SeekGe:         /* jump, in3 */
+case OP_SeekGt: {       /* jump, in3 */
   int i = pOp->p1;
   VdbeCursor *pC;
 
   assert( i>=0 && i<p->nCursor );
+  assert( pOp->p2!=0 );
   pC = p->apCsr[i];
   assert( pC!=0 );
   if( pC->pCursor!=0 ){
@@ -2955,20 +2906,64 @@ case OP_MoveGt: {       /* jump, in3 */
     oc = pOp->opcode;
     pC->nullRow = 0;
     if( pC->isTable ){
-      i64 iKey = sqlite3VdbeIntValue(pIn3);
-      if( pOp->p2==0 ){
-        assert( pOp->opcode==OP_MoveGe );
-        pC->movetoTarget = iKey;
-        pC->rowidIsValid = 0;
-        pC->deferredMoveto = 1;
-        break;
-      }
+      i64 iKey;      /* The rowid we are to seek to */
+
+      /* The input value in P3 might be of any type: integer, real, string,
+      ** blob, or NULL.  But it needs to be an integer before we can do
+      ** the seek, so covert it. */
+      applyNumericAffinity(pIn3);
+      iKey = sqlite3VdbeIntValue(pIn3);
+      pC->rowidIsValid = 0;
+
+      /* If the P3 value could not be converted into an integer without
+      ** loss of information, then special processing is required... */
+      if( (pIn3->flags & MEM_Int)==0 ){
+        if( (pIn3->flags & MEM_Real)==0 ){
+          /* If the P3 value cannot be converted into any kind of a number,
+          ** then the seek is not possible, so jump to P2 */
+          pc = pOp->p2 - 1;
+          break;
+        }
+        /* If we reach this point, then the P3 value must be a floating
+        ** point number. */
+        assert( (pIn3->flags & MEM_Real)!=0 );
+
+        if( iKey==SMALLEST_INT64 && (pIn3->r<(double)iKey || pIn3->r>0) ){
+          /* The P3 value is to large in magnitude to be expressed as an
+          ** integer. */
+          res = 1;
+          if( pIn3->r<0 ){
+            if( oc==OP_SeekGt || oc==OP_SeekGe ){
+              rc = sqlite3BtreeFirst(pC->pCursor, &res);
+              if( rc!=SQLITE_OK ) goto abort_due_to_error;
+            }
+          }else{
+            if( oc==OP_SeekLt || oc==OP_SeekLe ){
+              rc = sqlite3BtreeLast(pC->pCursor, &res);
+              if( rc!=SQLITE_OK ) goto abort_due_to_error;
+            }
+          }
+          if( res ){
+            pc = pOp->p2 - 1;
+          }
+          break;
+        }else if( oc==OP_SeekLt || oc==OP_SeekGe ){
+          /* Use the ceiling() function to convert real->int */
+          if( pIn3->r > (double)iKey ) iKey++;
+        }else{
+          /* Use the floor() function to convert real->int */
+          assert( oc==OP_SeekLe || oc==OP_SeekGt );
+          if( pIn3->r < (double)iKey ) iKey--;
+        }
+      } 
       rc = sqlite3BtreeMovetoUnpacked(pC->pCursor, 0, (u64)iKey, 0, &res);
       if( rc!=SQLITE_OK ){
         goto abort_due_to_error;
       }
-      pC->lastRowid = iKey;
-      pC->rowidIsValid = res==0 ?1:0;
+      if( res==0 ){
+        pC->rowidIsValid = 1;
+        pC->lastRowid = iKey;
+      }
     }else{
       UnpackedRecord r;
       int nField = pOp->p4.i;
@@ -2976,7 +2971,7 @@ case OP_MoveGt: {       /* jump, in3 */
       assert( nField>0 );
       r.pKeyInfo = pC->pKeyInfo;
       r.nField = (u16)nField;
-      if( oc==OP_MoveGt || oc==OP_MoveLe ){
+      if( oc==OP_SeekGt || oc==OP_SeekLe ){
         r.flags = UNPACKED_INCRKEY;
       }else{
         r.flags = 0;
@@ -2993,8 +2988,8 @@ case OP_MoveGt: {       /* jump, in3 */
 #ifdef SQLITE_TEST
     sqlite3_search_count++;
 #endif
-    if( oc==OP_MoveGe || oc==OP_MoveGt ){
-      if( res<0 ){
+    if( oc==OP_SeekGe || oc==OP_SeekGt ){
+      if( res<0 || (res==0 && oc==OP_SeekGt) ){
         rc = sqlite3BtreeNext(pC->pCursor, &res);
         if( rc!=SQLITE_OK ) goto abort_due_to_error;
         pC->rowidIsValid = 0;
@@ -3002,8 +2997,8 @@ case OP_MoveGt: {       /* jump, in3 */
         res = 0;
       }
     }else{
-      assert( oc==OP_MoveLt || oc==OP_MoveLe );
-      if( res>=0 ){
+      assert( oc==OP_SeekLt || oc==OP_SeekLe );
+      if( res>0 || (res==0 && oc==OP_SeekLt) ){
         rc = sqlite3BtreePrevious(pC->pCursor, &res);
         if( rc!=SQLITE_OK ) goto abort_due_to_error;
         pC->rowidIsValid = 0;
@@ -3028,6 +3023,33 @@ case OP_MoveGt: {       /* jump, in3 */
   break;
 }
 
+/* Opcode: Seek P1 P2 * * *
+**
+** P1 is an open table cursor and P2 is a rowid integer.  Arrange
+** for P1 to move so that it points to the rowid given by P2.
+**
+** This is actually a deferred seek.  Nothing actually happens until
+** the cursor is used to read a record.  That way, if no reads
+** occur, no unnecessary I/O happens.
+*/
+case OP_Seek: {    /* in2 */
+  int i = pOp->p1;
+  VdbeCursor *pC;
+
+  assert( i>=0 && i<p->nCursor );
+  pC = p->apCsr[i];
+  assert( pC!=0 );
+  if( pC->pCursor!=0 ){
+    assert( pC->isTable );
+    pC->nullRow = 0;
+    pC->movetoTarget = sqlite3VdbeIntValue(pIn2);
+    pC->rowidIsValid = 0;
+    pC->deferredMoveto = 1;
+  }
+  break;
+}
+  
+
 /* Opcode: Found P1 P2 P3 * *
 **
 ** Register P3 holds a blob constructed by MakeRecord.  P1 is an index.
index 120246e47f490221039b7714b5b4bc7deea845a4..fa950be57e595412b04c1850f826d17dfc15eacc 100644 (file)
@@ -16,7 +16,7 @@
 ** so is applicable.  Because this module is responsible for selecting
 ** indices, you might also think of this module as the "query optimizer".
 **
-** $Id: where.c,v 1.336 2008/12/10 19:26:24 drh Exp $
+** $Id: where.c,v 1.337 2008/12/12 17:56:16 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -2491,27 +2491,30 @@ WhereInfo *sqlite3WhereBegin(
         pEnd = pTerm;
       }
       if( pStart ){
-        Expr *pX;
-        int r1;
-        pX = pStart->pExpr;
-        assert( pX!=0 );
-        assert( pStart->leftCursor==iCur );
+        Expr *pX;             /* The expression that defines the start bound */
+        int r1, rTemp;        /* Registers for holding the start boundary */
 
-        /* The ForceInt instruction may modify the register that it operates
-        ** on. For example it may replace a real value with an integer one,
-        ** or if p3 is true it may increment the register value. For this
-        ** reason we need to make sure that register r1 is really a newly
-        ** allocated temporary register, and not part of the column-cache.
-        ** For this reason we cannot use sqlite3ExprCodeTemp() here.
+        /* The following constant maps TK_xx codes into corresponding 
+        ** seek opcodes.  It depends on a particular ordering of TK_xx
         */
-        r1 = sqlite3GetTempReg(pParse);
-        sqlite3ExprCode(pParse, pX->pRight, r1);
+        const u8 aMoveOp[] = {
+             /* TK_GT */  OP_SeekGt,
+             /* TK_LE */  OP_SeekLe,
+             /* TK_LT */  OP_SeekLt,
+             /* TK_GE */  OP_SeekGe
+        };
+        assert( TK_LE==TK_GT+1 );      /* Make sure the ordering.. */
+        assert( TK_LT==TK_GT+2 );      /*  ... of the TK_xx values... */
+        assert( TK_GE==TK_GT+3 );      /*  ... is correcct. */
 
-        sqlite3VdbeAddOp3(v, OP_ForceInt, r1, addrBrk, 
-                             pX->op==TK_LE || pX->op==TK_GT);
-        sqlite3VdbeAddOp3(v, bRev ? OP_MoveLt : OP_MoveGe, iCur, addrBrk, r1);
+        pX = pStart->pExpr;
+        assert( pX!=0 );
+        assert( pStart->leftCursor==iCur );
+        r1 = sqlite3ExprCodeTemp(pParse, pX->pRight, &rTemp);
+        sqlite3VdbeAddOp3(v, aMoveOp[pX->op-TK_GT], iCur, addrBrk, r1);
         VdbeComment((v, "pk"));
-        sqlite3ReleaseTempReg(pParse, r1);
+        sqlite3ExprCacheAffinityChange(pParse, r1, 1);
+        sqlite3ReleaseTempReg(pParse, rTemp);
         disableTerm(pLevel, pStart);
       }else{
         sqlite3VdbeAddOp2(v, bRev ? OP_Last : OP_Rewind, iCur, addrBrk);
@@ -2579,10 +2582,10 @@ WhereInfo *sqlite3WhereBegin(
         0,
         OP_Rewind,           /* 2: (!start_constraints && startEq &&  !bRev) */
         OP_Last,             /* 3: (!start_constraints && startEq &&   bRev) */
-        OP_MoveGt,           /* 4: (start_constraints  && !startEq && !bRev) */
-        OP_MoveLt,           /* 5: (start_constraints  && !startEq &&  bRev) */
-        OP_MoveGe,           /* 6: (start_constraints  &&  startEq && !bRev) */
-        OP_MoveLe            /* 7: (start_constraints  &&  startEq &&  bRev) */
+        OP_SeekGt,           /* 4: (start_constraints  && !startEq && !bRev) */
+        OP_SeekLt,           /* 5: (start_constraints  && !startEq &&  bRev) */
+        OP_SeekGe,           /* 6: (start_constraints  &&  startEq && !bRev) */
+        OP_SeekLe            /* 7: (start_constraints  &&  startEq &&  bRev) */
       };
       int aEndOp[] = {
         OP_Noop,             /* 0: (!end_constraints) */
@@ -2675,10 +2678,10 @@ WhereInfo *sqlite3WhereBegin(
       assert( op!=0 );
       testcase( op==OP_Rewind );
       testcase( op==OP_Last );
-      testcase( op==OP_MoveGt );
-      testcase( op==OP_MoveGe );
-      testcase( op==OP_MoveLe );
-      testcase( op==OP_MoveLt );
+      testcase( op==OP_SeekGt );
+      testcase( op==OP_SeekGe );
+      testcase( op==OP_SeekLe );
+      testcase( op==OP_SeekLt );
       sqlite3VdbeAddOp4(v, op, iIdxCur, addrNxt, regBase, 
                         SQLITE_INT_TO_PTR(nConstraint), P4_INT32);
 
@@ -2720,7 +2723,7 @@ WhereInfo *sqlite3WhereBegin(
       /* Seek the table cursor, if required */
       if( !omitTable ){
         sqlite3VdbeAddOp2(v, OP_IdxRowid, iIdxCur, r1);
-        sqlite3VdbeAddOp3(v, OP_MoveGe, iCur, 0, r1);  /* Deferred seek */
+        sqlite3VdbeAddOp2(v, OP_Seek, iCur, r1);  /* Deferred seek */
       }
       sqlite3ReleaseTempReg(pParse, r1);
 
diff --git a/test/boundary1.test b/test/boundary1.test
new file mode 100644 (file)
index 0000000..57e6b7b
--- /dev/null
@@ -0,0 +1,7642 @@
+# 2008 December 11
+#
+# The author disclaims copyright to this source code.  In place of
+# a legal notice, here is a blessing:
+#
+#    May you do good and not evil.
+#    May you find forgiveness for yourself and forgive others.
+#    May you share freely, never taking more than you give.
+#
+#***********************************************************************
+# This file implements regression tests for SQLite library.
+#
+# This file is automatically generated from a separate TCL script.
+# This file seeks to exercise integer boundary values.
+#
+# $Id: boundary1.test,v 1.1 2008/12/12 17:56:16 drh Exp $
+
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+
+do_test boundary1-1.1 {
+  db eval {
+    CREATE TABLE t1(a,x);
+    INSERT INTO t1(oid,a,x) VALUES(-8388609,1,'ffffffffff7fffff');
+    INSERT INTO t1(oid,a,x) VALUES(-36028797018963969,2,'ff7fffffffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(9223372036854775807,3,'7fffffffffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(127,4,'000000000000007f');
+    INSERT INTO t1(oid,a,x) VALUES(3,5,'0000000000000003');
+    INSERT INTO t1(oid,a,x) VALUES(16777216,6,'0000000001000000');
+    INSERT INTO t1(oid,a,x) VALUES(4398046511103,7,'000003ffffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(16383,8,'0000000000003fff');
+    INSERT INTO t1(oid,a,x) VALUES(16777215,9,'0000000000ffffff');
+    INSERT INTO t1(oid,a,x) VALUES(281474976710655,10,'0000ffffffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(-2147483648,11,'ffffffff80000000');
+    INSERT INTO t1(oid,a,x) VALUES(268435455,12,'000000000fffffff');
+    INSERT INTO t1(oid,a,x) VALUES(562949953421311,13,'0001ffffffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(4294967295,14,'00000000ffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(2097151,15,'00000000001fffff');
+    INSERT INTO t1(oid,a,x) VALUES(16384,16,'0000000000004000');
+    INSERT INTO t1(oid,a,x) VALUES(72057594037927935,17,'00ffffffffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(8388607,18,'00000000007fffff');
+    INSERT INTO t1(oid,a,x) VALUES(1099511627776,19,'0000010000000000');
+    INSERT INTO t1(oid,a,x) VALUES(2147483647,20,'000000007fffffff');
+    INSERT INTO t1(oid,a,x) VALUES(-140737488355329,21,'ffff7fffffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(34359738368,22,'0000000800000000');
+    INSERT INTO t1(oid,a,x) VALUES(32767,23,'0000000000007fff');
+    INSERT INTO t1(oid,a,x) VALUES(8388608,24,'0000000000800000');
+    INSERT INTO t1(oid,a,x) VALUES(140737488355327,25,'00007fffffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(281474976710656,26,'0001000000000000');
+    INSERT INTO t1(oid,a,x) VALUES(36028797018963967,27,'007fffffffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(72057594037927936,28,'0100000000000000');
+    INSERT INTO t1(oid,a,x) VALUES(-32769,29,'ffffffffffff7fff');
+    INSERT INTO t1(oid,a,x) VALUES(255,30,'00000000000000ff');
+    INSERT INTO t1(oid,a,x) VALUES(4,31,'0000000000000004');
+    INSERT INTO t1(oid,a,x) VALUES(-32768,32,'ffffffffffff8000');
+    INSERT INTO t1(oid,a,x) VALUES(-2,33,'fffffffffffffffe');
+    INSERT INTO t1(oid,a,x) VALUES(140737488355328,34,'0000800000000000');
+    INSERT INTO t1(oid,a,x) VALUES(549755813888,35,'0000008000000000');
+    INSERT INTO t1(oid,a,x) VALUES(4294967296,36,'0000000100000000');
+    INSERT INTO t1(oid,a,x) VALUES(-8388608,37,'ffffffffff800000');
+    INSERT INTO t1(oid,a,x) VALUES(-1,38,'ffffffffffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(34359738367,39,'00000007ffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(268435456,40,'0000000010000000');
+    INSERT INTO t1(oid,a,x) VALUES(2,41,'0000000000000002');
+    INSERT INTO t1(oid,a,x) VALUES(2097152,42,'0000000000200000');
+    INSERT INTO t1(oid,a,x) VALUES(562949953421312,43,'0002000000000000');
+    INSERT INTO t1(oid,a,x) VALUES(-140737488355328,44,'ffff800000000000');
+    INSERT INTO t1(oid,a,x) VALUES(36028797018963968,45,'0080000000000000');
+    INSERT INTO t1(oid,a,x) VALUES(549755813887,46,'0000007fffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(-2147483649,47,'ffffffff7fffffff');
+    INSERT INTO t1(oid,a,x) VALUES(65535,48,'000000000000ffff');
+    INSERT INTO t1(oid,a,x) VALUES(128,49,'0000000000000080');
+    INSERT INTO t1(oid,a,x) VALUES(32768,50,'0000000000008000');
+    INSERT INTO t1(oid,a,x) VALUES(2147483648,51,'0000000080000000');
+    INSERT INTO t1(oid,a,x) VALUES(-3,52,'fffffffffffffffd');
+    INSERT INTO t1(oid,a,x) VALUES(-128,53,'ffffffffffffff80');
+    INSERT INTO t1(oid,a,x) VALUES(-129,54,'ffffffffffffff7f');
+    INSERT INTO t1(oid,a,x) VALUES(-9223372036854775808,55,'8000000000000000');
+    INSERT INTO t1(oid,a,x) VALUES(4398046511104,56,'0000040000000000');
+    INSERT INTO t1(oid,a,x) VALUES(1099511627775,57,'000000ffffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(-549755813889,58,'ffffff7fffffffff');
+    INSERT INTO t1(oid,a,x) VALUES(0,59,'0000000000000000');
+    INSERT INTO t1(oid,a,x) VALUES(1,60,'0000000000000001');
+    INSERT INTO t1(oid,a,x) VALUES(256,61,'0000000000000100');
+    INSERT INTO t1(oid,a,x) VALUES(65536,62,'0000000000010000');
+    INSERT INTO t1(oid,a,x) VALUES(-549755813888,63,'ffffff8000000000');
+    INSERT INTO t1(oid,a,x) VALUES(-36028797018963968,64,'ff80000000000000');
+    CREATE INDEX t1i1 ON t1(a);
+    CREATE INDEX t1i2 ON t1(x);
+  }
+} {}
+do_test boundary1-1.2 {
+  db eval {
+    SELECT count(*) FROM t1
+  }
+} {64}
+do_test boundary1-2.1.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=72057594037927935
+  }
+} {17 00ffffffffffffff}
+do_test boundary1-2.1.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='00ffffffffffffff'
+  }
+} {72057594037927935 17}
+do_test boundary1-2.1.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=17
+  }
+} {72057594037927935 00ffffffffffffff}
+do_test boundary1-2.1.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 72057594037927935 ORDER BY a
+  }
+} {3 28}
+do_test boundary1-2.1.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 72057594037927935 ORDER BY a DESC
+  }
+} {28 3}
+do_test boundary1-2.1.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 72057594037927935 ORDER BY rowid
+  }
+} {28 3}
+do_test boundary1-2.1.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 72057594037927935 ORDER BY rowid DESC
+  }
+} {3 28}
+do_test boundary1-2.1.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 72057594037927935 ORDER BY x
+  }
+} {28 3}
+do_test boundary1-2.1.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 72057594037927935 ORDER BY a
+  }
+} {3 17 28}
+do_test boundary1-2.1.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 72057594037927935 ORDER BY a DESC
+  }
+} {28 17 3}
+do_test boundary1-2.1.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 72057594037927935 ORDER BY rowid
+  }
+} {17 28 3}
+do_test boundary1-2.1.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 72057594037927935 ORDER BY rowid DESC
+  }
+} {3 28 17}
+do_test boundary1-2.1.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 72057594037927935 ORDER BY x
+  }
+} {17 28 3}
+do_test boundary1-2.1.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 72057594037927935 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.1.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 72057594037927935 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.1.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 72057594037927935 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45}
+do_test boundary1-2.1.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 72057594037927935 ORDER BY rowid DESC
+  }
+} {45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.1.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 72057594037927935 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.1.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 72057594037927935 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.1.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 72057594037927935 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.1.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 72057594037927935 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17}
+do_test boundary1-2.1.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 72057594037927935 ORDER BY rowid DESC
+  }
+} {17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.1.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 72057594037927935 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.2.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=16384
+  }
+} {16 0000000000004000}
+do_test boundary1-2.2.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000004000'
+  }
+} {16384 16}
+do_test boundary1-2.2.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=16
+  }
+} {16384 0000000000004000}
+do_test boundary1-2.2.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16384 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
+do_test boundary1-2.2.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16384 ORDER BY a DESC
+  }
+} {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.2.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16384 ORDER BY rowid
+  }
+} {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.2.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16384 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23}
+do_test boundary1-2.2.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16384 ORDER BY x
+  }
+} {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.2.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16384 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
+do_test boundary1-2.2.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16384 ORDER BY a DESC
+  }
+} {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.2.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16384 ORDER BY rowid
+  }
+} {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.2.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16384 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16}
+do_test boundary1-2.2.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16384 ORDER BY x
+  }
+} {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.2.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16384 ORDER BY a
+  }
+} {1 2 4 5 8 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.2.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16384 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 8 5 4 2 1}
+do_test boundary1-2.2.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16384 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8}
+do_test boundary1-2.2.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16384 ORDER BY rowid DESC
+  }
+} {8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.2.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16384 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.2.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16384 ORDER BY a
+  }
+} {1 2 4 5 8 11 16 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.2.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16384 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 16 11 8 5 4 2 1}
+do_test boundary1-2.2.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16384 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16}
+do_test boundary1-2.2.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16384 ORDER BY rowid DESC
+  }
+} {16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.2.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16384 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.3.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=4294967296
+  }
+} {36 0000000100000000}
+do_test boundary1-2.3.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000100000000'
+  }
+} {4294967296 36}
+do_test boundary1-2.3.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=36
+  }
+} {4294967296 0000000100000000}
+do_test boundary1-2.3.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4294967296 ORDER BY a
+  }
+} {3 7 10 13 17 19 22 25 26 27 28 34 35 39 43 45 46 56 57}
+do_test boundary1-2.3.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4294967296 ORDER BY a DESC
+  }
+} {57 56 46 45 43 39 35 34 28 27 26 25 22 19 17 13 10 7 3}
+do_test boundary1-2.3.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4294967296 ORDER BY rowid
+  }
+} {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.3.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4294967296 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}
+do_test boundary1-2.3.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4294967296 ORDER BY x
+  }
+} {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.3.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4294967296 ORDER BY a
+  }
+} {3 7 10 13 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
+do_test boundary1-2.3.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4294967296 ORDER BY a DESC
+  }
+} {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 13 10 7 3}
+do_test boundary1-2.3.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4294967296 ORDER BY rowid
+  }
+} {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.3.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4294967296 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}
+do_test boundary1-2.3.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4294967296 ORDER BY x
+  }
+} {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.3.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4294967296 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.3.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4294967296 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.3.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4294967296 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14}
+do_test boundary1-2.3.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4294967296 ORDER BY rowid DESC
+  }
+} {14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.3.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4294967296 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.3.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4294967296 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 36 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.3.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4294967296 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 36 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.3.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4294967296 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36}
+do_test boundary1-2.3.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4294967296 ORDER BY rowid DESC
+  }
+} {36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.3.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4294967296 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.4.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=16777216
+  }
+} {6 0000000001000000}
+do_test boundary1-2.4.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000001000000'
+  }
+} {16777216 6}
+do_test boundary1-2.4.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=6
+  }
+} {16777216 0000000001000000}
+do_test boundary1-2.4.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16777216 ORDER BY a
+  }
+} {3 7 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.4.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16777216 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 7 3}
+do_test boundary1-2.4.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16777216 ORDER BY rowid
+  }
+} {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.4.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16777216 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12}
+do_test boundary1-2.4.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16777216 ORDER BY x
+  }
+} {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.4.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16777216 ORDER BY a
+  }
+} {3 6 7 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.4.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16777216 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 7 6 3}
+do_test boundary1-2.4.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16777216 ORDER BY rowid
+  }
+} {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.4.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16777216 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6}
+do_test boundary1-2.4.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16777216 ORDER BY x
+  }
+} {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.4.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16777216 ORDER BY a
+  }
+} {1 2 4 5 8 9 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.4.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16777216 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 9 8 5 4 2 1}
+do_test boundary1-2.4.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16777216 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9}
+do_test boundary1-2.4.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16777216 ORDER BY rowid DESC
+  }
+} {9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.4.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16777216 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.4.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16777216 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.4.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16777216 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 9 8 6 5 4 2 1}
+do_test boundary1-2.4.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16777216 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6}
+do_test boundary1-2.4.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16777216 ORDER BY rowid DESC
+  }
+} {6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.4.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16777216 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.5.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-32769
+  }
+} {29 ffffffffffff7fff}
+do_test boundary1-2.5.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffffffffffff7fff'
+  }
+} {-32769 29}
+do_test boundary1-2.5.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=29
+  }
+} {-32769 ffffffffffff7fff}
+do_test boundary1-2.5.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -32769 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 32 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.5.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -32769 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 32 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.5.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -32769 ORDER BY rowid
+  }
+} {32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.5.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -32769 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32}
+do_test boundary1-2.5.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -32769 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 32 54 53 52 33 38}
+do_test boundary1-2.5.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -32769 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.5.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -32769 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.5.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -32769 ORDER BY rowid
+  }
+} {29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.5.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -32769 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29}
+do_test boundary1-2.5.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -32769 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 29 32 54 53 52 33 38}
+do_test boundary1-2.5.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -32769 ORDER BY a
+  }
+} {1 2 11 21 37 44 47 55 58 63 64}
+do_test boundary1-2.5.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -32769 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 37 21 11 2 1}
+do_test boundary1-2.5.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -32769 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37}
+do_test boundary1-2.5.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -32769 ORDER BY rowid DESC
+  }
+} {37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.5.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -32769 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37}
+do_test boundary1-2.5.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -32769 ORDER BY a
+  }
+} {1 2 11 21 29 37 44 47 55 58 63 64}
+do_test boundary1-2.5.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -32769 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 37 29 21 11 2 1}
+do_test boundary1-2.5.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -32769 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29}
+do_test boundary1-2.5.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -32769 ORDER BY rowid DESC
+  }
+} {29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.5.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -32769 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29}
+do_test boundary1-2.6.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-140737488355329
+  }
+} {21 ffff7fffffffffff}
+do_test boundary1-2.6.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffff7fffffffffff'
+  }
+} {-140737488355329 21}
+do_test boundary1-2.6.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=21
+  }
+} {-140737488355329 ffff7fffffffffff}
+do_test boundary1-2.6.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -140737488355329 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
+do_test boundary1-2.6.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -140737488355329 ORDER BY a DESC
+  }
+} {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.6.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -140737488355329 ORDER BY rowid
+  }
+} {44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.6.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -140737488355329 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44}
+do_test boundary1-2.6.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -140737488355329 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.6.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -140737488355329 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
+do_test boundary1-2.6.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -140737488355329 ORDER BY a DESC
+  }
+} {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.6.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -140737488355329 ORDER BY rowid
+  }
+} {21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.6.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -140737488355329 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21}
+do_test boundary1-2.6.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -140737488355329 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.6.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -140737488355329 ORDER BY a
+  }
+} {2 55 64}
+do_test boundary1-2.6.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -140737488355329 ORDER BY a DESC
+  }
+} {64 55 2}
+do_test boundary1-2.6.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -140737488355329 ORDER BY rowid
+  }
+} {55 2 64}
+do_test boundary1-2.6.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -140737488355329 ORDER BY rowid DESC
+  }
+} {64 2 55}
+do_test boundary1-2.6.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -140737488355329 ORDER BY x
+  }
+} {55 2 64}
+do_test boundary1-2.6.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -140737488355329 ORDER BY a
+  }
+} {2 21 55 64}
+do_test boundary1-2.6.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -140737488355329 ORDER BY a DESC
+  }
+} {64 55 21 2}
+do_test boundary1-2.6.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -140737488355329 ORDER BY rowid
+  }
+} {55 2 64 21}
+do_test boundary1-2.6.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -140737488355329 ORDER BY rowid DESC
+  }
+} {21 64 2 55}
+do_test boundary1-2.6.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -140737488355329 ORDER BY x
+  }
+} {55 2 64 21}
+do_test boundary1-2.7.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=2
+  }
+} {41 0000000000000002}
+do_test boundary1-2.7.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000000002'
+  }
+} {2 41}
+do_test boundary1-2.7.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=41
+  }
+} {2 0000000000000002}
+do_test boundary1-2.7.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
+do_test boundary1-2.7.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.7.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2 ORDER BY rowid
+  }
+} {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.7.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5}
+do_test boundary1-2.7.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2 ORDER BY x
+  }
+} {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.7.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 61 62}
+do_test boundary1-2.7.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.7.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2 ORDER BY rowid
+  }
+} {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.7.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41}
+do_test boundary1-2.7.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2 ORDER BY x
+  }
+} {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.7.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2 ORDER BY a
+  }
+} {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.7.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
+do_test boundary1-2.7.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60}
+do_test boundary1-2.7.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2 ORDER BY rowid DESC
+  }
+} {60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.7.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2 ORDER BY x
+  }
+} {59 60 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.7.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2 ORDER BY a
+  }
+} {1 2 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.7.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 2 1}
+do_test boundary1-2.7.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41}
+do_test boundary1-2.7.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2 ORDER BY rowid DESC
+  }
+} {41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.7.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2 ORDER BY x
+  }
+} {59 60 41 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.8.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=4
+  }
+} {31 0000000000000004}
+do_test boundary1-2.8.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000000004'
+  }
+} {4 31}
+do_test boundary1-2.8.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=31
+  }
+} {4 0000000000000004}
+do_test boundary1-2.8.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4 ORDER BY a
+  }
+} {3 4 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
+do_test boundary1-2.8.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 4 3}
+do_test boundary1-2.8.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4 ORDER BY rowid
+  }
+} {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.8.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4}
+do_test boundary1-2.8.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4 ORDER BY x
+  }
+} {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.8.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4 ORDER BY a
+  }
+} {3 4 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
+do_test boundary1-2.8.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 4 3}
+do_test boundary1-2.8.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4 ORDER BY rowid
+  }
+} {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.8.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31}
+do_test boundary1-2.8.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4 ORDER BY x
+  }
+} {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.8.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4 ORDER BY a
+  }
+} {1 2 5 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.8.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 5 2 1}
+do_test boundary1-2.8.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5}
+do_test boundary1-2.8.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4 ORDER BY rowid DESC
+  }
+} {5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.8.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4 ORDER BY x
+  }
+} {59 60 41 5 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.8.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4 ORDER BY a
+  }
+} {1 2 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.8.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 2 1}
+do_test boundary1-2.8.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31}
+do_test boundary1-2.8.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4 ORDER BY rowid DESC
+  }
+} {31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.8.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4 ORDER BY x
+  }
+} {59 60 41 5 31 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.9.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=562949953421311
+  }
+} {13 0001ffffffffffff}
+do_test boundary1-2.9.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0001ffffffffffff'
+  }
+} {562949953421311 13}
+do_test boundary1-2.9.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=13
+  }
+} {562949953421311 0001ffffffffffff}
+do_test boundary1-2.9.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 562949953421311 ORDER BY a
+  }
+} {3 17 27 28 43 45}
+do_test boundary1-2.9.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 562949953421311 ORDER BY a DESC
+  }
+} {45 43 28 27 17 3}
+do_test boundary1-2.9.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 562949953421311 ORDER BY rowid
+  }
+} {43 27 45 17 28 3}
+do_test boundary1-2.9.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 562949953421311 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43}
+do_test boundary1-2.9.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 562949953421311 ORDER BY x
+  }
+} {43 27 45 17 28 3}
+do_test boundary1-2.9.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 562949953421311 ORDER BY a
+  }
+} {3 13 17 27 28 43 45}
+do_test boundary1-2.9.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 562949953421311 ORDER BY a DESC
+  }
+} {45 43 28 27 17 13 3}
+do_test boundary1-2.9.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 562949953421311 ORDER BY rowid
+  }
+} {13 43 27 45 17 28 3}
+do_test boundary1-2.9.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 562949953421311 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13}
+do_test boundary1-2.9.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 562949953421311 ORDER BY x
+  }
+} {13 43 27 45 17 28 3}
+do_test boundary1-2.9.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 562949953421311 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.9.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 562949953421311 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.9.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 562949953421311 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26}
+do_test boundary1-2.9.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 562949953421311 ORDER BY rowid DESC
+  }
+} {26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.9.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 562949953421311 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.9.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 562949953421311 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.9.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 562949953421311 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.9.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 562949953421311 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13}
+do_test boundary1-2.9.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 562949953421311 ORDER BY rowid DESC
+  }
+} {13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.9.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 562949953421311 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.10.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=256
+  }
+} {61 0000000000000100}
+do_test boundary1-2.10.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000000100'
+  }
+} {256 61}
+do_test boundary1-2.10.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=61
+  }
+} {256 0000000000000100}
+do_test boundary1-2.10.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 256 ORDER BY a
+  }
+} {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
+do_test boundary1-2.10.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 256 ORDER BY a DESC
+  }
+} {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
+do_test boundary1-2.10.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 256 ORDER BY rowid
+  }
+} {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.10.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 256 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8}
+do_test boundary1-2.10.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 256 ORDER BY x
+  }
+} {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.10.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 256 ORDER BY a
+  }
+} {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 61 62}
+do_test boundary1-2.10.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 256 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
+do_test boundary1-2.10.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 256 ORDER BY rowid
+  }
+} {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.10.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 256 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61}
+do_test boundary1-2.10.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 256 ORDER BY x
+  }
+} {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.10.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 256 ORDER BY a
+  }
+} {1 2 4 5 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.10.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 256 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 5 4 2 1}
+do_test boundary1-2.10.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 256 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30}
+do_test boundary1-2.10.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 256 ORDER BY rowid DESC
+  }
+} {30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.10.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 256 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.10.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 256 ORDER BY a
+  }
+} {1 2 4 5 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.10.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 256 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 5 4 2 1}
+do_test boundary1-2.10.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 256 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61}
+do_test boundary1-2.10.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 256 ORDER BY rowid DESC
+  }
+} {61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.10.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 256 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.11.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=34359738368
+  }
+} {22 0000000800000000}
+do_test boundary1-2.11.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000800000000'
+  }
+} {34359738368 22}
+do_test boundary1-2.11.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=22
+  }
+} {34359738368 0000000800000000}
+do_test boundary1-2.11.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 34359738368 ORDER BY a
+  }
+} {3 7 10 13 17 19 25 26 27 28 34 35 43 45 46 56 57}
+do_test boundary1-2.11.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 34359738368 ORDER BY a DESC
+  }
+} {57 56 46 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
+do_test boundary1-2.11.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 34359738368 ORDER BY rowid
+  }
+} {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.11.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 34359738368 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46}
+do_test boundary1-2.11.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 34359738368 ORDER BY x
+  }
+} {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.11.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 34359738368 ORDER BY a
+  }
+} {3 7 10 13 17 19 22 25 26 27 28 34 35 43 45 46 56 57}
+do_test boundary1-2.11.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 34359738368 ORDER BY a DESC
+  }
+} {57 56 46 45 43 35 34 28 27 26 25 22 19 17 13 10 7 3}
+do_test boundary1-2.11.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 34359738368 ORDER BY rowid
+  }
+} {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.11.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 34359738368 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22}
+do_test boundary1-2.11.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 34359738368 ORDER BY x
+  }
+} {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.11.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 34359738368 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.11.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 34359738368 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.11.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 34359738368 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39}
+do_test boundary1-2.11.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 34359738368 ORDER BY rowid DESC
+  }
+} {39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.11.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 34359738368 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.11.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 34359738368 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.11.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 34359738368 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.11.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 34359738368 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22}
+do_test boundary1-2.11.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 34359738368 ORDER BY rowid DESC
+  }
+} {22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.11.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 34359738368 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.12.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=65536
+  }
+} {62 0000000000010000}
+do_test boundary1-2.12.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000010000'
+  }
+} {65536 62}
+do_test boundary1-2.12.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=62
+  }
+} {65536 0000000000010000}
+do_test boundary1-2.12.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 65536 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57}
+do_test boundary1-2.12.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 65536 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.12.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 65536 ORDER BY rowid
+  }
+} {15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.12.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 65536 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15}
+do_test boundary1-2.12.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 65536 ORDER BY x
+  }
+} {15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.12.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 65536 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57 62}
+do_test boundary1-2.12.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 65536 ORDER BY a DESC
+  }
+} {62 57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.12.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 65536 ORDER BY rowid
+  }
+} {62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.12.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 65536 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62}
+do_test boundary1-2.12.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 65536 ORDER BY x
+  }
+} {62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.12.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 65536 ORDER BY a
+  }
+} {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.12.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 65536 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
+do_test boundary1-2.12.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 65536 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48}
+do_test boundary1-2.12.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 65536 ORDER BY rowid DESC
+  }
+} {48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.12.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 65536 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.12.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 65536 ORDER BY a
+  }
+} {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.12.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 65536 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
+do_test boundary1-2.12.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 65536 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62}
+do_test boundary1-2.12.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 65536 ORDER BY rowid DESC
+  }
+} {62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.12.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 65536 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.13.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=268435456
+  }
+} {40 0000000010000000}
+do_test boundary1-2.13.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000010000000'
+  }
+} {268435456 40}
+do_test boundary1-2.13.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=40
+  }
+} {268435456 0000000010000000}
+do_test boundary1-2.13.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 268435456 ORDER BY a
+  }
+} {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
+do_test boundary1-2.13.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 268435456 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
+do_test boundary1-2.13.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 268435456 ORDER BY rowid
+  }
+} {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.13.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 268435456 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20}
+do_test boundary1-2.13.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 268435456 ORDER BY x
+  }
+} {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.13.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 268435456 ORDER BY a
+  }
+} {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.13.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 268435456 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
+do_test boundary1-2.13.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 268435456 ORDER BY rowid
+  }
+} {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.13.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 268435456 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40}
+do_test boundary1-2.13.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 268435456 ORDER BY x
+  }
+} {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.13.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 268435456 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.13.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 268435456 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.13.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 268435456 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12}
+do_test boundary1-2.13.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 268435456 ORDER BY rowid DESC
+  }
+} {12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.13.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 268435456 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.13.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 268435456 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 15 16 18 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.13.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 268435456 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 18 16 15 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.13.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 268435456 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40}
+do_test boundary1-2.13.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 268435456 ORDER BY rowid DESC
+  }
+} {40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.13.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 268435456 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.14.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-140737488355328
+  }
+} {44 ffff800000000000}
+do_test boundary1-2.14.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffff800000000000'
+  }
+} {-140737488355328 44}
+do_test boundary1-2.14.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=44
+  }
+} {-140737488355328 ffff800000000000}
+do_test boundary1-2.14.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -140737488355328 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
+do_test boundary1-2.14.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -140737488355328 ORDER BY a DESC
+  }
+} {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.14.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -140737488355328 ORDER BY rowid
+  }
+} {58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.14.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -140737488355328 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58}
+do_test boundary1-2.14.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -140737488355328 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.14.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -140737488355328 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
+do_test boundary1-2.14.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -140737488355328 ORDER BY a DESC
+  }
+} {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.14.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -140737488355328 ORDER BY rowid
+  }
+} {44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.14.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -140737488355328 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44}
+do_test boundary1-2.14.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -140737488355328 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.14.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -140737488355328 ORDER BY a
+  }
+} {2 21 55 64}
+do_test boundary1-2.14.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -140737488355328 ORDER BY a DESC
+  }
+} {64 55 21 2}
+do_test boundary1-2.14.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -140737488355328 ORDER BY rowid
+  }
+} {55 2 64 21}
+do_test boundary1-2.14.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -140737488355328 ORDER BY rowid DESC
+  }
+} {21 64 2 55}
+do_test boundary1-2.14.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -140737488355328 ORDER BY x
+  }
+} {55 2 64 21}
+do_test boundary1-2.14.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -140737488355328 ORDER BY a
+  }
+} {2 21 44 55 64}
+do_test boundary1-2.14.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -140737488355328 ORDER BY a DESC
+  }
+} {64 55 44 21 2}
+do_test boundary1-2.14.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -140737488355328 ORDER BY rowid
+  }
+} {55 2 64 21 44}
+do_test boundary1-2.14.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -140737488355328 ORDER BY rowid DESC
+  }
+} {44 21 64 2 55}
+do_test boundary1-2.14.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -140737488355328 ORDER BY x
+  }
+} {55 2 64 21 44}
+do_test boundary1-2.15.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=1099511627776
+  }
+} {19 0000010000000000}
+do_test boundary1-2.15.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000010000000000'
+  }
+} {1099511627776 19}
+do_test boundary1-2.15.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=19
+  }
+} {1099511627776 0000010000000000}
+do_test boundary1-2.15.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1099511627776 ORDER BY a
+  }
+} {3 7 10 13 17 25 26 27 28 34 43 45 56}
+do_test boundary1-2.15.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1099511627776 ORDER BY a DESC
+  }
+} {56 45 43 34 28 27 26 25 17 13 10 7 3}
+do_test boundary1-2.15.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1099511627776 ORDER BY rowid
+  }
+} {7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.15.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1099511627776 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7}
+do_test boundary1-2.15.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1099511627776 ORDER BY x
+  }
+} {7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.15.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1099511627776 ORDER BY a
+  }
+} {3 7 10 13 17 19 25 26 27 28 34 43 45 56}
+do_test boundary1-2.15.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1099511627776 ORDER BY a DESC
+  }
+} {56 45 43 34 28 27 26 25 19 17 13 10 7 3}
+do_test boundary1-2.15.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1099511627776 ORDER BY rowid
+  }
+} {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.15.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1099511627776 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19}
+do_test boundary1-2.15.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1099511627776 ORDER BY x
+  }
+} {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.15.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1099511627776 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
+do_test boundary1-2.15.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1099511627776 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.15.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1099511627776 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57}
+do_test boundary1-2.15.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1099511627776 ORDER BY rowid DESC
+  }
+} {57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.15.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1099511627776 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.15.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1099511627776 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
+do_test boundary1-2.15.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1099511627776 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.15.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1099511627776 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19}
+do_test boundary1-2.15.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1099511627776 ORDER BY rowid DESC
+  }
+} {19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.15.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1099511627776 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.16.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 9223372036854775807 ORDER BY a
+  }
+} {}
+do_test boundary1-2.16.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 9223372036854775807 ORDER BY a DESC
+  }
+} {}
+do_test boundary1-2.16.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 9223372036854775807 ORDER BY rowid
+  }
+} {}
+do_test boundary1-2.16.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 9223372036854775807 ORDER BY rowid DESC
+  }
+} {}
+do_test boundary1-2.16.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 9223372036854775807 ORDER BY x
+  }
+} {}
+do_test boundary1-2.16.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 9223372036854775807 ORDER BY a
+  }
+} {3}
+do_test boundary1-2.16.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 9223372036854775807 ORDER BY a DESC
+  }
+} {3}
+do_test boundary1-2.16.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 9223372036854775807 ORDER BY rowid
+  }
+} {3}
+do_test boundary1-2.16.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 9223372036854775807 ORDER BY rowid DESC
+  }
+} {3}
+do_test boundary1-2.16.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 9223372036854775807 ORDER BY x
+  }
+} {3}
+do_test boundary1-2.16.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 9223372036854775807 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.16.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 9223372036854775807 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.16.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 9223372036854775807 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28}
+do_test boundary1-2.16.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 9223372036854775807 ORDER BY rowid DESC
+  }
+} {28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.16.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 9223372036854775807 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.16.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 9223372036854775807 ORDER BY a
+  }
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.16.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 9223372036854775807 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
+do_test boundary1-2.16.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 9223372036854775807 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.16.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 9223372036854775807 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.16.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 9223372036854775807 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.17.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=32768
+  }
+} {50 0000000000008000}
+do_test boundary1-2.17.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000008000'
+  }
+} {32768 50}
+do_test boundary1-2.17.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=50
+  }
+} {32768 0000000000008000}
+do_test boundary1-2.17.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 32768 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 51 56 57 62}
+do_test boundary1-2.17.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 32768 ORDER BY a DESC
+  }
+} {62 57 56 51 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.17.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 32768 ORDER BY rowid
+  }
+} {48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.17.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 32768 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48}
+do_test boundary1-2.17.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 32768 ORDER BY x
+  }
+} {48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.17.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 32768 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
+do_test boundary1-2.17.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 32768 ORDER BY a DESC
+  }
+} {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.17.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 32768 ORDER BY rowid
+  }
+} {50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.17.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 32768 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50}
+do_test boundary1-2.17.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 32768 ORDER BY x
+  }
+} {50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.17.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 32768 ORDER BY a
+  }
+} {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.17.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 32768 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
+do_test boundary1-2.17.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 32768 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23}
+do_test boundary1-2.17.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 32768 ORDER BY rowid DESC
+  }
+} {23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.17.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 32768 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.17.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 32768 ORDER BY a
+  }
+} {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 49 50 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.17.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 32768 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 50 49 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
+do_test boundary1-2.17.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 32768 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50}
+do_test boundary1-2.17.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 32768 ORDER BY rowid DESC
+  }
+} {50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.17.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 32768 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.18.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-36028797018963968
+  }
+} {64 ff80000000000000}
+do_test boundary1-2.18.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ff80000000000000'
+  }
+} {-36028797018963968 64}
+do_test boundary1-2.18.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=64
+  }
+} {-36028797018963968 ff80000000000000}
+do_test boundary1-2.18.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -36028797018963968 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
+do_test boundary1-2.18.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -36028797018963968 ORDER BY a DESC
+  }
+} {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.18.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -36028797018963968 ORDER BY rowid
+  }
+} {21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.18.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -36028797018963968 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21}
+do_test boundary1-2.18.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -36028797018963968 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.18.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -36028797018963968 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.18.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -36028797018963968 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.18.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -36028797018963968 ORDER BY rowid
+  }
+} {64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.18.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -36028797018963968 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64}
+do_test boundary1-2.18.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -36028797018963968 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.18.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -36028797018963968 ORDER BY a
+  }
+} {2 55}
+do_test boundary1-2.18.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -36028797018963968 ORDER BY a DESC
+  }
+} {55 2}
+do_test boundary1-2.18.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -36028797018963968 ORDER BY rowid
+  }
+} {55 2}
+do_test boundary1-2.18.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -36028797018963968 ORDER BY rowid DESC
+  }
+} {2 55}
+do_test boundary1-2.18.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -36028797018963968 ORDER BY x
+  }
+} {55 2}
+do_test boundary1-2.18.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -36028797018963968 ORDER BY a
+  }
+} {2 55 64}
+do_test boundary1-2.18.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -36028797018963968 ORDER BY a DESC
+  }
+} {64 55 2}
+do_test boundary1-2.18.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -36028797018963968 ORDER BY rowid
+  }
+} {55 2 64}
+do_test boundary1-2.18.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -36028797018963968 ORDER BY rowid DESC
+  }
+} {64 2 55}
+do_test boundary1-2.18.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -36028797018963968 ORDER BY x
+  }
+} {55 2 64}
+do_test boundary1-2.19.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=65535
+  }
+} {48 000000000000ffff}
+do_test boundary1-2.19.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='000000000000ffff'
+  }
+} {65535 48}
+do_test boundary1-2.19.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=48
+  }
+} {65535 000000000000ffff}
+do_test boundary1-2.19.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 65535 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57 62}
+do_test boundary1-2.19.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 65535 ORDER BY a DESC
+  }
+} {62 57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.19.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 65535 ORDER BY rowid
+  }
+} {62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.19.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 65535 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62}
+do_test boundary1-2.19.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 65535 ORDER BY x
+  }
+} {62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.19.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 65535 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 51 56 57 62}
+do_test boundary1-2.19.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 65535 ORDER BY a DESC
+  }
+} {62 57 56 51 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.19.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 65535 ORDER BY rowid
+  }
+} {48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.19.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 65535 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48}
+do_test boundary1-2.19.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 65535 ORDER BY x
+  }
+} {48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.19.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 65535 ORDER BY a
+  }
+} {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 49 50 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.19.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 65535 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 50 49 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
+do_test boundary1-2.19.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 65535 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50}
+do_test boundary1-2.19.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 65535 ORDER BY rowid DESC
+  }
+} {50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.19.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 65535 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.19.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 65535 ORDER BY a
+  }
+} {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.19.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 65535 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
+do_test boundary1-2.19.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 65535 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48}
+do_test boundary1-2.19.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 65535 ORDER BY rowid DESC
+  }
+} {48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.19.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 65535 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.20.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=4294967295
+  }
+} {14 00000000ffffffff}
+do_test boundary1-2.20.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='00000000ffffffff'
+  }
+} {4294967295 14}
+do_test boundary1-2.20.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=14
+  }
+} {4294967295 00000000ffffffff}
+do_test boundary1-2.20.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4294967295 ORDER BY a
+  }
+} {3 7 10 13 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
+do_test boundary1-2.20.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4294967295 ORDER BY a DESC
+  }
+} {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 13 10 7 3}
+do_test boundary1-2.20.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4294967295 ORDER BY rowid
+  }
+} {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.20.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4294967295 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}
+do_test boundary1-2.20.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4294967295 ORDER BY x
+  }
+} {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.20.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4294967295 ORDER BY a
+  }
+} {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
+do_test boundary1-2.20.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4294967295 ORDER BY a DESC
+  }
+} {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
+do_test boundary1-2.20.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4294967295 ORDER BY rowid
+  }
+} {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.20.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4294967295 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14}
+do_test boundary1-2.20.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4294967295 ORDER BY x
+  }
+} {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.20.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4294967295 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.20.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4294967295 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.20.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4294967295 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51}
+do_test boundary1-2.20.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4294967295 ORDER BY rowid DESC
+  }
+} {51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.20.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4294967295 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.20.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4294967295 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.20.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4294967295 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.20.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4294967295 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14}
+do_test boundary1-2.20.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4294967295 ORDER BY rowid DESC
+  }
+} {14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.20.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4294967295 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.21.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=1099511627775
+  }
+} {57 000000ffffffffff}
+do_test boundary1-2.21.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='000000ffffffffff'
+  }
+} {1099511627775 57}
+do_test boundary1-2.21.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=57
+  }
+} {1099511627775 000000ffffffffff}
+do_test boundary1-2.21.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1099511627775 ORDER BY a
+  }
+} {3 7 10 13 17 19 25 26 27 28 34 43 45 56}
+do_test boundary1-2.21.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1099511627775 ORDER BY a DESC
+  }
+} {56 45 43 34 28 27 26 25 19 17 13 10 7 3}
+do_test boundary1-2.21.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1099511627775 ORDER BY rowid
+  }
+} {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.21.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1099511627775 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19}
+do_test boundary1-2.21.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1099511627775 ORDER BY x
+  }
+} {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.21.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1099511627775 ORDER BY a
+  }
+} {3 7 10 13 17 19 25 26 27 28 34 43 45 56 57}
+do_test boundary1-2.21.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1099511627775 ORDER BY a DESC
+  }
+} {57 56 45 43 34 28 27 26 25 19 17 13 10 7 3}
+do_test boundary1-2.21.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1099511627775 ORDER BY rowid
+  }
+} {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.21.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1099511627775 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57}
+do_test boundary1-2.21.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1099511627775 ORDER BY x
+  }
+} {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.21.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1099511627775 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.21.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1099511627775 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.21.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1099511627775 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35}
+do_test boundary1-2.21.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1099511627775 ORDER BY rowid DESC
+  }
+} {35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.21.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1099511627775 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.21.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1099511627775 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
+do_test boundary1-2.21.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1099511627775 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.21.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1099511627775 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57}
+do_test boundary1-2.21.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1099511627775 ORDER BY rowid DESC
+  }
+} {57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.21.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1099511627775 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.22.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-8388608
+  }
+} {37 ffffffffff800000}
+do_test boundary1-2.22.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffffffffff800000'
+  }
+} {-8388608 37}
+do_test boundary1-2.22.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=37
+  }
+} {-8388608 ffffffffff800000}
+do_test boundary1-2.22.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -8388608 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.22.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -8388608 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.22.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -8388608 ORDER BY rowid
+  }
+} {29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.22.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -8388608 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29}
+do_test boundary1-2.22.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -8388608 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 29 32 54 53 52 33 38}
+do_test boundary1-2.22.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -8388608 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.22.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -8388608 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.22.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -8388608 ORDER BY rowid
+  }
+} {37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.22.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -8388608 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37}
+do_test boundary1-2.22.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -8388608 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 37 29 32 54 53 52 33 38}
+do_test boundary1-2.22.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -8388608 ORDER BY a
+  }
+} {1 2 11 21 44 47 55 58 63 64}
+do_test boundary1-2.22.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -8388608 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 21 11 2 1}
+do_test boundary1-2.22.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -8388608 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1}
+do_test boundary1-2.22.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -8388608 ORDER BY rowid DESC
+  }
+} {1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.22.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -8388608 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1}
+do_test boundary1-2.22.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -8388608 ORDER BY a
+  }
+} {1 2 11 21 37 44 47 55 58 63 64}
+do_test boundary1-2.22.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -8388608 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 37 21 11 2 1}
+do_test boundary1-2.22.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -8388608 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37}
+do_test boundary1-2.22.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -8388608 ORDER BY rowid DESC
+  }
+} {37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.22.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -8388608 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37}
+do_test boundary1-2.23.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=549755813888
+  }
+} {35 0000008000000000}
+do_test boundary1-2.23.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000008000000000'
+  }
+} {549755813888 35}
+do_test boundary1-2.23.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=35
+  }
+} {549755813888 0000008000000000}
+do_test boundary1-2.23.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 549755813888 ORDER BY a
+  }
+} {3 7 10 13 17 19 25 26 27 28 34 43 45 56 57}
+do_test boundary1-2.23.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 549755813888 ORDER BY a DESC
+  }
+} {57 56 45 43 34 28 27 26 25 19 17 13 10 7 3}
+do_test boundary1-2.23.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 549755813888 ORDER BY rowid
+  }
+} {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.23.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 549755813888 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57}
+do_test boundary1-2.23.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 549755813888 ORDER BY x
+  }
+} {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.23.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 549755813888 ORDER BY a
+  }
+} {3 7 10 13 17 19 25 26 27 28 34 35 43 45 56 57}
+do_test boundary1-2.23.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 549755813888 ORDER BY a DESC
+  }
+} {57 56 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
+do_test boundary1-2.23.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 549755813888 ORDER BY rowid
+  }
+} {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.23.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 549755813888 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35}
+do_test boundary1-2.23.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 549755813888 ORDER BY x
+  }
+} {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.23.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 549755813888 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.23.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 549755813888 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.23.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 549755813888 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46}
+do_test boundary1-2.23.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 549755813888 ORDER BY rowid DESC
+  }
+} {46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.23.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 549755813888 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.23.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 549755813888 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.23.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 549755813888 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.23.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 549755813888 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35}
+do_test boundary1-2.23.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 549755813888 ORDER BY rowid DESC
+  }
+} {35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.23.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 549755813888 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.24.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=8388607
+  }
+} {18 00000000007fffff}
+do_test boundary1-2.24.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='00000000007fffff'
+  }
+} {8388607 18}
+do_test boundary1-2.24.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=18
+  }
+} {8388607 00000000007fffff}
+do_test boundary1-2.24.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 8388607 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 17 19 20 22 24 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.24.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 8388607 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 24 22 20 19 17 14 13 12 10 9 7 6 3}
+do_test boundary1-2.24.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 8388607 ORDER BY rowid
+  }
+} {24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.24.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 8388607 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24}
+do_test boundary1-2.24.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 8388607 ORDER BY x
+  }
+} {24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.24.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 8388607 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.24.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 8388607 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 14 13 12 10 9 7 6 3}
+do_test boundary1-2.24.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 8388607 ORDER BY rowid
+  }
+} {18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.24.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 8388607 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18}
+do_test boundary1-2.24.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 8388607 ORDER BY x
+  }
+} {18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.24.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 8388607 ORDER BY a
+  }
+} {1 2 4 5 8 11 15 16 21 23 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.24.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 8388607 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 23 21 16 15 11 8 5 4 2 1}
+do_test boundary1-2.24.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 8388607 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42}
+do_test boundary1-2.24.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 8388607 ORDER BY rowid DESC
+  }
+} {42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.24.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 8388607 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.24.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 8388607 ORDER BY a
+  }
+} {1 2 4 5 8 11 15 16 18 21 23 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.24.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 8388607 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 23 21 18 16 15 11 8 5 4 2 1}
+do_test boundary1-2.24.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 8388607 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18}
+do_test boundary1-2.24.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 8388607 ORDER BY rowid DESC
+  }
+} {18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.24.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 8388607 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.25.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-3
+  }
+} {52 fffffffffffffffd}
+do_test boundary1-2.25.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='fffffffffffffffd'
+  }
+} {-3 52}
+do_test boundary1-2.25.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=52
+  }
+} {-3 fffffffffffffffd}
+do_test boundary1-2.25.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -3 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
+do_test boundary1-2.25.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -3 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.25.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -3 ORDER BY rowid
+  }
+} {33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.25.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -3 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33}
+do_test boundary1-2.25.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -3 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 33 38}
+do_test boundary1-2.25.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -3 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 56 57 59 60 61 62}
+do_test boundary1-2.25.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -3 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.25.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -3 ORDER BY rowid
+  }
+} {52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.25.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -3 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52}
+do_test boundary1-2.25.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -3 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 52 33 38}
+do_test boundary1-2.25.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -3 ORDER BY a
+  }
+} {1 2 11 21 29 32 37 44 47 53 54 55 58 63 64}
+do_test boundary1-2.25.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -3 ORDER BY a DESC
+  }
+} {64 63 58 55 54 53 47 44 37 32 29 21 11 2 1}
+do_test boundary1-2.25.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -3 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
+do_test boundary1-2.25.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -3 ORDER BY rowid DESC
+  }
+} {53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.25.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -3 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
+do_test boundary1-2.25.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -3 ORDER BY a
+  }
+} {1 2 11 21 29 32 37 44 47 52 53 54 55 58 63 64}
+do_test boundary1-2.25.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -3 ORDER BY a DESC
+  }
+} {64 63 58 55 54 53 52 47 44 37 32 29 21 11 2 1}
+do_test boundary1-2.25.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -3 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
+do_test boundary1-2.25.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -3 ORDER BY rowid DESC
+  }
+} {52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.25.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -3 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
+do_test boundary1-2.26.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=0
+  }
+} {59 0000000000000000}
+do_test boundary1-2.26.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000000000'
+  }
+} {0 59}
+do_test boundary1-2.26.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=59
+  }
+} {0 0000000000000000}
+do_test boundary1-2.26.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 0 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 60 61 62}
+do_test boundary1-2.26.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 0 ORDER BY a DESC
+  }
+} {62 61 60 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.26.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 0 ORDER BY rowid
+  }
+} {60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.26.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 0 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60}
+do_test boundary1-2.26.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 0 ORDER BY x
+  }
+} {60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.26.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 0 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
+do_test boundary1-2.26.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 0 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.26.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 0 ORDER BY rowid
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.26.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 0 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59}
+do_test boundary1-2.26.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 0 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.26.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 0 ORDER BY a
+  }
+} {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 63 64}
+do_test boundary1-2.26.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 0 ORDER BY a DESC
+  }
+} {64 63 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
+do_test boundary1-2.26.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 0 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.26.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 0 ORDER BY rowid DESC
+  }
+} {38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.26.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 0 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.26.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 0 ORDER BY a
+  }
+} {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 63 64}
+do_test boundary1-2.26.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 0 ORDER BY a DESC
+  }
+} {64 63 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
+do_test boundary1-2.26.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 0 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59}
+do_test boundary1-2.26.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 0 ORDER BY rowid DESC
+  }
+} {59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.26.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 0 ORDER BY x
+  }
+} {59 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.27.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-1
+  }
+} {38 ffffffffffffffff}
+do_test boundary1-2.27.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffffffffffffffff'
+  }
+} {-1 38}
+do_test boundary1-2.27.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=38
+  }
+} {-1 ffffffffffffffff}
+do_test boundary1-2.27.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -1 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
+do_test boundary1-2.27.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -1 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.27.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -1 ORDER BY rowid
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.27.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -1 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59}
+do_test boundary1-2.27.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -1 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.27.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -1 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
+do_test boundary1-2.27.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -1 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.27.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -1 ORDER BY rowid
+  }
+} {38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.27.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -1 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38}
+do_test boundary1-2.27.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -1 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 38}
+do_test boundary1-2.27.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -1 ORDER BY a
+  }
+} {1 2 11 21 29 32 33 37 44 47 52 53 54 55 58 63 64}
+do_test boundary1-2.27.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -1 ORDER BY a DESC
+  }
+} {64 63 58 55 54 53 52 47 44 37 33 32 29 21 11 2 1}
+do_test boundary1-2.27.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -1 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
+do_test boundary1-2.27.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -1 ORDER BY rowid DESC
+  }
+} {33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.27.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -1 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
+do_test boundary1-2.27.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -1 ORDER BY a
+  }
+} {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 63 64}
+do_test boundary1-2.27.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -1 ORDER BY a DESC
+  }
+} {64 63 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
+do_test boundary1-2.27.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -1 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.27.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -1 ORDER BY rowid DESC
+  }
+} {38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.27.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -1 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.28.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-2
+  }
+} {33 fffffffffffffffe}
+do_test boundary1-2.28.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='fffffffffffffffe'
+  }
+} {-2 33}
+do_test boundary1-2.28.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=33
+  }
+} {-2 fffffffffffffffe}
+do_test boundary1-2.28.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
+do_test boundary1-2.28.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.28.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2 ORDER BY rowid
+  }
+} {38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.28.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38}
+do_test boundary1-2.28.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 38}
+do_test boundary1-2.28.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
+do_test boundary1-2.28.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.28.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2 ORDER BY rowid
+  }
+} {33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.28.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33}
+do_test boundary1-2.28.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 33 38}
+do_test boundary1-2.28.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2 ORDER BY a
+  }
+} {1 2 11 21 29 32 37 44 47 52 53 54 55 58 63 64}
+do_test boundary1-2.28.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2 ORDER BY a DESC
+  }
+} {64 63 58 55 54 53 52 47 44 37 32 29 21 11 2 1}
+do_test boundary1-2.28.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
+do_test boundary1-2.28.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2 ORDER BY rowid DESC
+  }
+} {52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.28.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
+do_test boundary1-2.28.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2 ORDER BY a
+  }
+} {1 2 11 21 29 32 33 37 44 47 52 53 54 55 58 63 64}
+do_test boundary1-2.28.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2 ORDER BY a DESC
+  }
+} {64 63 58 55 54 53 52 47 44 37 33 32 29 21 11 2 1}
+do_test boundary1-2.28.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
+do_test boundary1-2.28.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2 ORDER BY rowid DESC
+  }
+} {33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.28.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
+do_test boundary1-2.29.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=2097152
+  }
+} {42 0000000000200000}
+do_test boundary1-2.29.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000200000'
+  }
+} {2097152 42}
+do_test boundary1-2.29.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=42
+  }
+} {2097152 0000000000200000}
+do_test boundary1-2.29.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2097152 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.29.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2097152 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 14 13 12 10 9 7 6 3}
+do_test boundary1-2.29.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2097152 ORDER BY rowid
+  }
+} {18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.29.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2097152 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18}
+do_test boundary1-2.29.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2097152 ORDER BY x
+  }
+} {18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.29.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2097152 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57}
+do_test boundary1-2.29.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2097152 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 14 13 12 10 9 7 6 3}
+do_test boundary1-2.29.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2097152 ORDER BY rowid
+  }
+} {42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.29.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2097152 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42}
+do_test boundary1-2.29.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2097152 ORDER BY x
+  }
+} {42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.29.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2097152 ORDER BY a
+  }
+} {1 2 4 5 8 11 15 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.29.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2097152 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 15 11 8 5 4 2 1}
+do_test boundary1-2.29.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2097152 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15}
+do_test boundary1-2.29.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2097152 ORDER BY rowid DESC
+  }
+} {15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.29.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2097152 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.29.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2097152 ORDER BY a
+  }
+} {1 2 4 5 8 11 15 16 21 23 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.29.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2097152 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 23 21 16 15 11 8 5 4 2 1}
+do_test boundary1-2.29.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2097152 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42}
+do_test boundary1-2.29.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2097152 ORDER BY rowid DESC
+  }
+} {42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.29.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2097152 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.30.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=128
+  }
+} {49 0000000000000080}
+do_test boundary1-2.30.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000000080'
+  }
+} {128 49}
+do_test boundary1-2.30.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=49
+  }
+} {128 0000000000000080}
+do_test boundary1-2.30.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 128 ORDER BY a
+  }
+} {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 50 51 56 57 61 62}
+do_test boundary1-2.30.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 128 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
+do_test boundary1-2.30.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 128 ORDER BY rowid
+  }
+} {30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.30.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 128 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30}
+do_test boundary1-2.30.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 128 ORDER BY x
+  }
+} {30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.30.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 128 ORDER BY a
+  }
+} {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
+do_test boundary1-2.30.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 128 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
+do_test boundary1-2.30.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 128 ORDER BY rowid
+  }
+} {49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.30.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 128 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49}
+do_test boundary1-2.30.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 128 ORDER BY x
+  }
+} {49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.30.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 128 ORDER BY a
+  }
+} {1 2 4 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.30.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 128 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 4 2 1}
+do_test boundary1-2.30.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 128 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4}
+do_test boundary1-2.30.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 128 ORDER BY rowid DESC
+  }
+} {4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.30.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 128 ORDER BY x
+  }
+} {59 60 41 5 31 4 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.30.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 128 ORDER BY a
+  }
+} {1 2 4 5 11 21 29 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.30.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 128 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 29 21 11 5 4 2 1}
+do_test boundary1-2.30.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 128 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49}
+do_test boundary1-2.30.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 128 ORDER BY rowid DESC
+  }
+} {49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.30.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 128 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.31.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=255
+  }
+} {30 00000000000000ff}
+do_test boundary1-2.31.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='00000000000000ff'
+  }
+} {255 30}
+do_test boundary1-2.31.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=30
+  }
+} {255 00000000000000ff}
+do_test boundary1-2.31.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 255 ORDER BY a
+  }
+} {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 61 62}
+do_test boundary1-2.31.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 255 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
+do_test boundary1-2.31.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 255 ORDER BY rowid
+  }
+} {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.31.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 255 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61}
+do_test boundary1-2.31.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 255 ORDER BY x
+  }
+} {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.31.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 255 ORDER BY a
+  }
+} {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 50 51 56 57 61 62}
+do_test boundary1-2.31.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 255 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
+do_test boundary1-2.31.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 255 ORDER BY rowid
+  }
+} {30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.31.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 255 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30}
+do_test boundary1-2.31.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 255 ORDER BY x
+  }
+} {30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.31.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 255 ORDER BY a
+  }
+} {1 2 4 5 11 21 29 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.31.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 255 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 29 21 11 5 4 2 1}
+do_test boundary1-2.31.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 255 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49}
+do_test boundary1-2.31.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 255 ORDER BY rowid DESC
+  }
+} {49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.31.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 255 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.31.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 255 ORDER BY a
+  }
+} {1 2 4 5 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.31.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 255 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 5 4 2 1}
+do_test boundary1-2.31.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 255 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30}
+do_test boundary1-2.31.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 255 ORDER BY rowid DESC
+  }
+} {30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.31.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 255 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.32.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-2147483648
+  }
+} {11 ffffffff80000000}
+do_test boundary1-2.32.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffffffff80000000'
+  }
+} {-2147483648 11}
+do_test boundary1-2.32.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=11
+  }
+} {-2147483648 ffffffff80000000}
+do_test boundary1-2.32.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2147483648 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.32.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2147483648 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.32.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2147483648 ORDER BY rowid
+  }
+} {1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.32.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2147483648 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1}
+do_test boundary1-2.32.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2147483648 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.32.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2147483648 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.32.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2147483648 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.32.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2147483648 ORDER BY rowid
+  }
+} {11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.32.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2147483648 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11}
+do_test boundary1-2.32.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2147483648 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.32.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2147483648 ORDER BY a
+  }
+} {2 21 44 47 55 58 63 64}
+do_test boundary1-2.32.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2147483648 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 21 2}
+do_test boundary1-2.32.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2147483648 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47}
+do_test boundary1-2.32.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2147483648 ORDER BY rowid DESC
+  }
+} {47 63 58 44 21 64 2 55}
+do_test boundary1-2.32.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2147483648 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47}
+do_test boundary1-2.32.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2147483648 ORDER BY a
+  }
+} {2 11 21 44 47 55 58 63 64}
+do_test boundary1-2.32.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2147483648 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 21 11 2}
+do_test boundary1-2.32.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2147483648 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11}
+do_test boundary1-2.32.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2147483648 ORDER BY rowid DESC
+  }
+} {11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.32.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2147483648 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11}
+do_test boundary1-2.33.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=34359738367
+  }
+} {39 00000007ffffffff}
+do_test boundary1-2.33.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='00000007ffffffff'
+  }
+} {34359738367 39}
+do_test boundary1-2.33.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=39
+  }
+} {34359738367 00000007ffffffff}
+do_test boundary1-2.33.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 34359738367 ORDER BY a
+  }
+} {3 7 10 13 17 19 22 25 26 27 28 34 35 43 45 46 56 57}
+do_test boundary1-2.33.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 34359738367 ORDER BY a DESC
+  }
+} {57 56 46 45 43 35 34 28 27 26 25 22 19 17 13 10 7 3}
+do_test boundary1-2.33.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 34359738367 ORDER BY rowid
+  }
+} {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.33.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 34359738367 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22}
+do_test boundary1-2.33.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 34359738367 ORDER BY x
+  }
+} {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.33.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 34359738367 ORDER BY a
+  }
+} {3 7 10 13 17 19 22 25 26 27 28 34 35 39 43 45 46 56 57}
+do_test boundary1-2.33.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 34359738367 ORDER BY a DESC
+  }
+} {57 56 46 45 43 39 35 34 28 27 26 25 22 19 17 13 10 7 3}
+do_test boundary1-2.33.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 34359738367 ORDER BY rowid
+  }
+} {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.33.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 34359738367 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}
+do_test boundary1-2.33.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 34359738367 ORDER BY x
+  }
+} {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.33.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 34359738367 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 36 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.33.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 34359738367 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 36 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.33.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 34359738367 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36}
+do_test boundary1-2.33.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 34359738367 ORDER BY rowid DESC
+  }
+} {36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.33.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 34359738367 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.33.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 34359738367 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.33.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 34359738367 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.33.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 34359738367 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39}
+do_test boundary1-2.33.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 34359738367 ORDER BY rowid DESC
+  }
+} {39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.33.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 34359738367 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.34.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-549755813889
+  }
+} {58 ffffff7fffffffff}
+do_test boundary1-2.34.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffffff7fffffffff'
+  }
+} {-549755813889 58}
+do_test boundary1-2.34.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=58
+  }
+} {-549755813889 ffffff7fffffffff}
+do_test boundary1-2.34.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -549755813889 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 59 60 61 62 63}
+do_test boundary1-2.34.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -549755813889 ORDER BY a DESC
+  }
+} {63 62 61 60 59 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.34.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -549755813889 ORDER BY rowid
+  }
+} {63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.34.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -549755813889 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63}
+do_test boundary1-2.34.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -549755813889 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.34.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -549755813889 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
+do_test boundary1-2.34.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -549755813889 ORDER BY a DESC
+  }
+} {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.34.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -549755813889 ORDER BY rowid
+  }
+} {58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.34.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -549755813889 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58}
+do_test boundary1-2.34.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -549755813889 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.34.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -549755813889 ORDER BY a
+  }
+} {2 21 44 55 64}
+do_test boundary1-2.34.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -549755813889 ORDER BY a DESC
+  }
+} {64 55 44 21 2}
+do_test boundary1-2.34.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -549755813889 ORDER BY rowid
+  }
+} {55 2 64 21 44}
+do_test boundary1-2.34.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -549755813889 ORDER BY rowid DESC
+  }
+} {44 21 64 2 55}
+do_test boundary1-2.34.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -549755813889 ORDER BY x
+  }
+} {55 2 64 21 44}
+do_test boundary1-2.34.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -549755813889 ORDER BY a
+  }
+} {2 21 44 55 58 64}
+do_test boundary1-2.34.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -549755813889 ORDER BY a DESC
+  }
+} {64 58 55 44 21 2}
+do_test boundary1-2.34.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -549755813889 ORDER BY rowid
+  }
+} {55 2 64 21 44 58}
+do_test boundary1-2.34.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -549755813889 ORDER BY rowid DESC
+  }
+} {58 44 21 64 2 55}
+do_test boundary1-2.34.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -549755813889 ORDER BY x
+  }
+} {55 2 64 21 44 58}
+do_test boundary1-2.35.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-32768
+  }
+} {32 ffffffffffff8000}
+do_test boundary1-2.35.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffffffffffff8000'
+  }
+} {-32768 32}
+do_test boundary1-2.35.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=32
+  }
+} {-32768 ffffffffffff8000}
+do_test boundary1-2.35.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -32768 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.35.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -32768 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.35.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -32768 ORDER BY rowid
+  }
+} {54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.35.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -32768 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54}
+do_test boundary1-2.35.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -32768 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 54 53 52 33 38}
+do_test boundary1-2.35.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -32768 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 32 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.35.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -32768 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 32 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.35.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -32768 ORDER BY rowid
+  }
+} {32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.35.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -32768 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32}
+do_test boundary1-2.35.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -32768 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 32 54 53 52 33 38}
+do_test boundary1-2.35.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -32768 ORDER BY a
+  }
+} {1 2 11 21 29 37 44 47 55 58 63 64}
+do_test boundary1-2.35.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -32768 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 37 29 21 11 2 1}
+do_test boundary1-2.35.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -32768 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29}
+do_test boundary1-2.35.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -32768 ORDER BY rowid DESC
+  }
+} {29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.35.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -32768 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29}
+do_test boundary1-2.35.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -32768 ORDER BY a
+  }
+} {1 2 11 21 29 32 37 44 47 55 58 63 64}
+do_test boundary1-2.35.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -32768 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 37 32 29 21 11 2 1}
+do_test boundary1-2.35.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -32768 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32}
+do_test boundary1-2.35.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -32768 ORDER BY rowid DESC
+  }
+} {32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.35.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -32768 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32}
+do_test boundary1-2.36.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=2147483647
+  }
+} {20 000000007fffffff}
+do_test boundary1-2.36.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='000000007fffffff'
+  }
+} {2147483647 20}
+do_test boundary1-2.36.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=20
+  }
+} {2147483647 000000007fffffff}
+do_test boundary1-2.36.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2147483647 ORDER BY a
+  }
+} {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
+do_test boundary1-2.36.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2147483647 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
+do_test boundary1-2.36.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2147483647 ORDER BY rowid
+  }
+} {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.36.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2147483647 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51}
+do_test boundary1-2.36.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2147483647 ORDER BY x
+  }
+} {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.36.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2147483647 ORDER BY a
+  }
+} {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
+do_test boundary1-2.36.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2147483647 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
+do_test boundary1-2.36.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2147483647 ORDER BY rowid
+  }
+} {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.36.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2147483647 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20}
+do_test boundary1-2.36.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2147483647 ORDER BY x
+  }
+} {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.36.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2147483647 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 15 16 18 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.36.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2147483647 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 18 16 15 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.36.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2147483647 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40}
+do_test boundary1-2.36.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2147483647 ORDER BY rowid DESC
+  }
+} {40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.36.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2147483647 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.36.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2147483647 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.36.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2147483647 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.36.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2147483647 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20}
+do_test boundary1-2.36.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2147483647 ORDER BY rowid DESC
+  }
+} {20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.36.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2147483647 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.37.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-129
+  }
+} {54 ffffffffffffff7f}
+do_test boundary1-2.37.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffffffffffffff7f'
+  }
+} {-129 54}
+do_test boundary1-2.37.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=54
+  }
+} {-129 ffffffffffffff7f}
+do_test boundary1-2.37.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -129 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 56 57 59 60 61 62}
+do_test boundary1-2.37.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -129 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.37.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -129 ORDER BY rowid
+  }
+} {53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.37.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -129 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53}
+do_test boundary1-2.37.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -129 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 53 52 33 38}
+do_test boundary1-2.37.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -129 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.37.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -129 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.37.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -129 ORDER BY rowid
+  }
+} {54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.37.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -129 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54}
+do_test boundary1-2.37.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -129 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 54 53 52 33 38}
+do_test boundary1-2.37.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -129 ORDER BY a
+  }
+} {1 2 11 21 29 32 37 44 47 55 58 63 64}
+do_test boundary1-2.37.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -129 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 37 32 29 21 11 2 1}
+do_test boundary1-2.37.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -129 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32}
+do_test boundary1-2.37.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -129 ORDER BY rowid DESC
+  }
+} {32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.37.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -129 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32}
+do_test boundary1-2.37.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -129 ORDER BY a
+  }
+} {1 2 11 21 29 32 37 44 47 54 55 58 63 64}
+do_test boundary1-2.37.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -129 ORDER BY a DESC
+  }
+} {64 63 58 55 54 47 44 37 32 29 21 11 2 1}
+do_test boundary1-2.37.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -129 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
+do_test boundary1-2.37.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -129 ORDER BY rowid DESC
+  }
+} {54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.37.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -129 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
+do_test boundary1-2.38.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-128
+  }
+} {53 ffffffffffffff80}
+do_test boundary1-2.38.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffffffffffffff80'
+  }
+} {-128 53}
+do_test boundary1-2.38.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=53
+  }
+} {-128 ffffffffffffff80}
+do_test boundary1-2.38.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -128 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 56 57 59 60 61 62}
+do_test boundary1-2.38.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -128 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.38.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -128 ORDER BY rowid
+  }
+} {52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.38.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -128 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52}
+do_test boundary1-2.38.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -128 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 52 33 38}
+do_test boundary1-2.38.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -128 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 56 57 59 60 61 62}
+do_test boundary1-2.38.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -128 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.38.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -128 ORDER BY rowid
+  }
+} {53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.38.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -128 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53}
+do_test boundary1-2.38.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -128 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 53 52 33 38}
+do_test boundary1-2.38.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -128 ORDER BY a
+  }
+} {1 2 11 21 29 32 37 44 47 54 55 58 63 64}
+do_test boundary1-2.38.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -128 ORDER BY a DESC
+  }
+} {64 63 58 55 54 47 44 37 32 29 21 11 2 1}
+do_test boundary1-2.38.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -128 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
+do_test boundary1-2.38.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -128 ORDER BY rowid DESC
+  }
+} {54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.38.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -128 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
+do_test boundary1-2.38.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -128 ORDER BY a
+  }
+} {1 2 11 21 29 32 37 44 47 53 54 55 58 63 64}
+do_test boundary1-2.38.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -128 ORDER BY a DESC
+  }
+} {64 63 58 55 54 53 47 44 37 32 29 21 11 2 1}
+do_test boundary1-2.38.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -128 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
+do_test boundary1-2.38.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -128 ORDER BY rowid DESC
+  }
+} {53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.38.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -128 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
+do_test boundary1-2.39.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=72057594037927936
+  }
+} {28 0100000000000000}
+do_test boundary1-2.39.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0100000000000000'
+  }
+} {72057594037927936 28}
+do_test boundary1-2.39.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=28
+  }
+} {72057594037927936 0100000000000000}
+do_test boundary1-2.39.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 72057594037927936 ORDER BY a
+  }
+} {3}
+do_test boundary1-2.39.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 72057594037927936 ORDER BY a DESC
+  }
+} {3}
+do_test boundary1-2.39.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 72057594037927936 ORDER BY rowid
+  }
+} {3}
+do_test boundary1-2.39.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 72057594037927936 ORDER BY rowid DESC
+  }
+} {3}
+do_test boundary1-2.39.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 72057594037927936 ORDER BY x
+  }
+} {3}
+do_test boundary1-2.39.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 72057594037927936 ORDER BY a
+  }
+} {3 28}
+do_test boundary1-2.39.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 72057594037927936 ORDER BY a DESC
+  }
+} {28 3}
+do_test boundary1-2.39.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 72057594037927936 ORDER BY rowid
+  }
+} {28 3}
+do_test boundary1-2.39.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 72057594037927936 ORDER BY rowid DESC
+  }
+} {3 28}
+do_test boundary1-2.39.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 72057594037927936 ORDER BY x
+  }
+} {28 3}
+do_test boundary1-2.39.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 72057594037927936 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.39.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 72057594037927936 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.39.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 72057594037927936 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17}
+do_test boundary1-2.39.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 72057594037927936 ORDER BY rowid DESC
+  }
+} {17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.39.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 72057594037927936 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.39.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 72057594037927936 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.39.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 72057594037927936 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.39.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 72057594037927936 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28}
+do_test boundary1-2.39.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 72057594037927936 ORDER BY rowid DESC
+  }
+} {28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.39.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 72057594037927936 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.40.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=2147483648
+  }
+} {51 0000000080000000}
+do_test boundary1-2.40.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000080000000'
+  }
+} {2147483648 51}
+do_test boundary1-2.40.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=51
+  }
+} {2147483648 0000000080000000}
+do_test boundary1-2.40.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2147483648 ORDER BY a
+  }
+} {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
+do_test boundary1-2.40.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2147483648 ORDER BY a DESC
+  }
+} {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
+do_test boundary1-2.40.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2147483648 ORDER BY rowid
+  }
+} {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.40.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2147483648 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14}
+do_test boundary1-2.40.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2147483648 ORDER BY x
+  }
+} {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.40.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2147483648 ORDER BY a
+  }
+} {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
+do_test boundary1-2.40.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2147483648 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
+do_test boundary1-2.40.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2147483648 ORDER BY rowid
+  }
+} {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.40.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2147483648 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51}
+do_test boundary1-2.40.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2147483648 ORDER BY x
+  }
+} {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.40.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2147483648 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.40.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2147483648 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.40.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2147483648 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20}
+do_test boundary1-2.40.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2147483648 ORDER BY rowid DESC
+  }
+} {20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.40.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2147483648 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.40.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2147483648 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.40.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2147483648 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.40.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2147483648 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51}
+do_test boundary1-2.40.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2147483648 ORDER BY rowid DESC
+  }
+} {51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.40.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2147483648 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.41.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=549755813887
+  }
+} {46 0000007fffffffff}
+do_test boundary1-2.41.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000007fffffffff'
+  }
+} {549755813887 46}
+do_test boundary1-2.41.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=46
+  }
+} {549755813887 0000007fffffffff}
+do_test boundary1-2.41.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 549755813887 ORDER BY a
+  }
+} {3 7 10 13 17 19 25 26 27 28 34 35 43 45 56 57}
+do_test boundary1-2.41.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 549755813887 ORDER BY a DESC
+  }
+} {57 56 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
+do_test boundary1-2.41.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 549755813887 ORDER BY rowid
+  }
+} {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.41.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 549755813887 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35}
+do_test boundary1-2.41.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 549755813887 ORDER BY x
+  }
+} {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.41.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 549755813887 ORDER BY a
+  }
+} {3 7 10 13 17 19 25 26 27 28 34 35 43 45 46 56 57}
+do_test boundary1-2.41.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 549755813887 ORDER BY a DESC
+  }
+} {57 56 46 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
+do_test boundary1-2.41.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 549755813887 ORDER BY rowid
+  }
+} {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.41.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 549755813887 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46}
+do_test boundary1-2.41.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 549755813887 ORDER BY x
+  }
+} {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.41.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 549755813887 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.41.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 549755813887 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.41.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 549755813887 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22}
+do_test boundary1-2.41.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 549755813887 ORDER BY rowid DESC
+  }
+} {22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.41.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 549755813887 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.41.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 549755813887 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.41.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 549755813887 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.41.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 549755813887 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46}
+do_test boundary1-2.41.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 549755813887 ORDER BY rowid DESC
+  }
+} {46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.41.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 549755813887 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.42.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-549755813888
+  }
+} {63 ffffff8000000000}
+do_test boundary1-2.42.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffffff8000000000'
+  }
+} {-549755813888 63}
+do_test boundary1-2.42.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=63
+  }
+} {-549755813888 ffffff8000000000}
+do_test boundary1-2.42.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -549755813888 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.42.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -549755813888 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.42.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -549755813888 ORDER BY rowid
+  }
+} {47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.42.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -549755813888 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47}
+do_test boundary1-2.42.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -549755813888 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.42.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -549755813888 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 59 60 61 62 63}
+do_test boundary1-2.42.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -549755813888 ORDER BY a DESC
+  }
+} {63 62 61 60 59 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.42.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -549755813888 ORDER BY rowid
+  }
+} {63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.42.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -549755813888 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63}
+do_test boundary1-2.42.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -549755813888 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.42.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -549755813888 ORDER BY a
+  }
+} {2 21 44 55 58 64}
+do_test boundary1-2.42.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -549755813888 ORDER BY a DESC
+  }
+} {64 58 55 44 21 2}
+do_test boundary1-2.42.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -549755813888 ORDER BY rowid
+  }
+} {55 2 64 21 44 58}
+do_test boundary1-2.42.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -549755813888 ORDER BY rowid DESC
+  }
+} {58 44 21 64 2 55}
+do_test boundary1-2.42.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -549755813888 ORDER BY x
+  }
+} {55 2 64 21 44 58}
+do_test boundary1-2.42.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -549755813888 ORDER BY a
+  }
+} {2 21 44 55 58 63 64}
+do_test boundary1-2.42.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -549755813888 ORDER BY a DESC
+  }
+} {64 63 58 55 44 21 2}
+do_test boundary1-2.42.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -549755813888 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63}
+do_test boundary1-2.42.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -549755813888 ORDER BY rowid DESC
+  }
+} {63 58 44 21 64 2 55}
+do_test boundary1-2.42.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -549755813888 ORDER BY x
+  }
+} {55 2 64 21 44 58 63}
+do_test boundary1-2.43.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=281474976710655
+  }
+} {10 0000ffffffffffff}
+do_test boundary1-2.43.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000ffffffffffff'
+  }
+} {281474976710655 10}
+do_test boundary1-2.43.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=10
+  }
+} {281474976710655 0000ffffffffffff}
+do_test boundary1-2.43.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 281474976710655 ORDER BY a
+  }
+} {3 13 17 26 27 28 43 45}
+do_test boundary1-2.43.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 281474976710655 ORDER BY a DESC
+  }
+} {45 43 28 27 26 17 13 3}
+do_test boundary1-2.43.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 281474976710655 ORDER BY rowid
+  }
+} {26 13 43 27 45 17 28 3}
+do_test boundary1-2.43.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 281474976710655 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26}
+do_test boundary1-2.43.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 281474976710655 ORDER BY x
+  }
+} {26 13 43 27 45 17 28 3}
+do_test boundary1-2.43.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 281474976710655 ORDER BY a
+  }
+} {3 10 13 17 26 27 28 43 45}
+do_test boundary1-2.43.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 281474976710655 ORDER BY a DESC
+  }
+} {45 43 28 27 26 17 13 10 3}
+do_test boundary1-2.43.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 281474976710655 ORDER BY rowid
+  }
+} {10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.43.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 281474976710655 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10}
+do_test boundary1-2.43.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 281474976710655 ORDER BY x
+  }
+} {10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.43.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 281474976710655 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.43.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 281474976710655 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
+do_test boundary1-2.43.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 281474976710655 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34}
+do_test boundary1-2.43.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 281474976710655 ORDER BY rowid DESC
+  }
+} {34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.43.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 281474976710655 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.43.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 281474976710655 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.43.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 281474976710655 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.43.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 281474976710655 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10}
+do_test boundary1-2.43.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 281474976710655 ORDER BY rowid DESC
+  }
+} {10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.43.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 281474976710655 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.44.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=4398046511103
+  }
+} {7 000003ffffffffff}
+do_test boundary1-2.44.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='000003ffffffffff'
+  }
+} {4398046511103 7}
+do_test boundary1-2.44.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=7
+  }
+} {4398046511103 000003ffffffffff}
+do_test boundary1-2.44.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4398046511103 ORDER BY a
+  }
+} {3 10 13 17 25 26 27 28 34 43 45 56}
+do_test boundary1-2.44.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4398046511103 ORDER BY a DESC
+  }
+} {56 45 43 34 28 27 26 25 17 13 10 3}
+do_test boundary1-2.44.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4398046511103 ORDER BY rowid
+  }
+} {56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.44.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4398046511103 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56}
+do_test boundary1-2.44.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4398046511103 ORDER BY x
+  }
+} {56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.44.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4398046511103 ORDER BY a
+  }
+} {3 7 10 13 17 25 26 27 28 34 43 45 56}
+do_test boundary1-2.44.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4398046511103 ORDER BY a DESC
+  }
+} {56 45 43 34 28 27 26 25 17 13 10 7 3}
+do_test boundary1-2.44.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4398046511103 ORDER BY rowid
+  }
+} {7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.44.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4398046511103 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7}
+do_test boundary1-2.44.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4398046511103 ORDER BY x
+  }
+} {7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.44.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4398046511103 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
+do_test boundary1-2.44.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4398046511103 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.44.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4398046511103 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19}
+do_test boundary1-2.44.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4398046511103 ORDER BY rowid DESC
+  }
+} {19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.44.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4398046511103 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.44.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4398046511103 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
+do_test boundary1-2.44.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4398046511103 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
+do_test boundary1-2.44.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4398046511103 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7}
+do_test boundary1-2.44.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4398046511103 ORDER BY rowid DESC
+  }
+} {7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.44.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4398046511103 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.45.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=268435455
+  }
+} {12 000000000fffffff}
+do_test boundary1-2.45.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='000000000fffffff'
+  }
+} {268435455 12}
+do_test boundary1-2.45.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=12
+  }
+} {268435455 000000000fffffff}
+do_test boundary1-2.45.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 268435455 ORDER BY a
+  }
+} {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.45.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 268435455 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
+do_test boundary1-2.45.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 268435455 ORDER BY rowid
+  }
+} {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.45.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 268435455 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40}
+do_test boundary1-2.45.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 268435455 ORDER BY x
+  }
+} {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.45.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 268435455 ORDER BY a
+  }
+} {3 7 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.45.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 268435455 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 7 3}
+do_test boundary1-2.45.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 268435455 ORDER BY rowid
+  }
+} {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.45.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 268435455 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12}
+do_test boundary1-2.45.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 268435455 ORDER BY x
+  }
+} {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.45.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 268435455 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.45.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 268435455 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 9 8 6 5 4 2 1}
+do_test boundary1-2.45.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 268435455 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6}
+do_test boundary1-2.45.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 268435455 ORDER BY rowid DESC
+  }
+} {6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.45.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 268435455 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.45.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 268435455 ORDER BY a
+  }
+} {1 2 4 5 6 8 9 11 12 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.45.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 268435455 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 12 11 9 8 6 5 4 2 1}
+do_test boundary1-2.45.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 268435455 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12}
+do_test boundary1-2.45.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 268435455 ORDER BY rowid DESC
+  }
+} {12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.45.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 268435455 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.46.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-9223372036854775808
+  }
+} {55 8000000000000000}
+do_test boundary1-2.46.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='8000000000000000'
+  }
+} {-9223372036854775808 55}
+do_test boundary1-2.46.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=55
+  }
+} {-9223372036854775808 8000000000000000}
+do_test boundary1-2.46.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -9223372036854775808 ORDER BY a
+  }
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.46.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -9223372036854775808 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
+do_test boundary1-2.46.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -9223372036854775808 ORDER BY rowid
+  }
+} {2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.46.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -9223372036854775808 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2}
+do_test boundary1-2.46.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -9223372036854775808 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.46.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -9223372036854775808 ORDER BY a
+  }
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.46.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -9223372036854775808 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
+do_test boundary1-2.46.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -9223372036854775808 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.46.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -9223372036854775808 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.46.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -9223372036854775808 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.46.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -9223372036854775808 ORDER BY a
+  }
+} {}
+do_test boundary1-2.46.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -9223372036854775808 ORDER BY a DESC
+  }
+} {}
+do_test boundary1-2.46.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -9223372036854775808 ORDER BY rowid
+  }
+} {}
+do_test boundary1-2.46.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -9223372036854775808 ORDER BY rowid DESC
+  }
+} {}
+do_test boundary1-2.46.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -9223372036854775808 ORDER BY x
+  }
+} {}
+do_test boundary1-2.46.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -9223372036854775808 ORDER BY a
+  }
+} {55}
+do_test boundary1-2.46.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -9223372036854775808 ORDER BY a DESC
+  }
+} {55}
+do_test boundary1-2.46.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -9223372036854775808 ORDER BY rowid
+  }
+} {55}
+do_test boundary1-2.46.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -9223372036854775808 ORDER BY rowid DESC
+  }
+} {55}
+do_test boundary1-2.46.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -9223372036854775808 ORDER BY x
+  }
+} {55}
+do_test boundary1-2.47.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=562949953421312
+  }
+} {43 0002000000000000}
+do_test boundary1-2.47.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0002000000000000'
+  }
+} {562949953421312 43}
+do_test boundary1-2.47.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=43
+  }
+} {562949953421312 0002000000000000}
+do_test boundary1-2.47.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 562949953421312 ORDER BY a
+  }
+} {3 17 27 28 45}
+do_test boundary1-2.47.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 562949953421312 ORDER BY a DESC
+  }
+} {45 28 27 17 3}
+do_test boundary1-2.47.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 562949953421312 ORDER BY rowid
+  }
+} {27 45 17 28 3}
+do_test boundary1-2.47.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 562949953421312 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27}
+do_test boundary1-2.47.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 562949953421312 ORDER BY x
+  }
+} {27 45 17 28 3}
+do_test boundary1-2.47.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 562949953421312 ORDER BY a
+  }
+} {3 17 27 28 43 45}
+do_test boundary1-2.47.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 562949953421312 ORDER BY a DESC
+  }
+} {45 43 28 27 17 3}
+do_test boundary1-2.47.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 562949953421312 ORDER BY rowid
+  }
+} {43 27 45 17 28 3}
+do_test boundary1-2.47.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 562949953421312 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43}
+do_test boundary1-2.47.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 562949953421312 ORDER BY x
+  }
+} {43 27 45 17 28 3}
+do_test boundary1-2.47.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 562949953421312 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.47.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 562949953421312 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.47.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 562949953421312 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13}
+do_test boundary1-2.47.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 562949953421312 ORDER BY rowid DESC
+  }
+} {13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.47.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 562949953421312 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.47.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 562949953421312 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.47.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 562949953421312 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.47.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 562949953421312 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43}
+do_test boundary1-2.47.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 562949953421312 ORDER BY rowid DESC
+  }
+} {43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.47.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 562949953421312 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.48.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-8388609
+  }
+} {1 ffffffffff7fffff}
+do_test boundary1-2.48.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffffffffff7fffff'
+  }
+} {-8388609 1}
+do_test boundary1-2.48.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=1
+  }
+} {-8388609 ffffffffff7fffff}
+do_test boundary1-2.48.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -8388609 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.48.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -8388609 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.48.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -8388609 ORDER BY rowid
+  }
+} {37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.48.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -8388609 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37}
+do_test boundary1-2.48.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -8388609 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 37 29 32 54 53 52 33 38}
+do_test boundary1-2.48.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -8388609 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.48.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -8388609 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.48.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -8388609 ORDER BY rowid
+  }
+} {1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.48.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -8388609 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1}
+do_test boundary1-2.48.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -8388609 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.48.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -8388609 ORDER BY a
+  }
+} {2 11 21 44 47 55 58 63 64}
+do_test boundary1-2.48.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -8388609 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 21 11 2}
+do_test boundary1-2.48.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -8388609 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11}
+do_test boundary1-2.48.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -8388609 ORDER BY rowid DESC
+  }
+} {11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.48.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -8388609 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11}
+do_test boundary1-2.48.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -8388609 ORDER BY a
+  }
+} {1 2 11 21 44 47 55 58 63 64}
+do_test boundary1-2.48.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -8388609 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 21 11 2 1}
+do_test boundary1-2.48.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -8388609 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1}
+do_test boundary1-2.48.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -8388609 ORDER BY rowid DESC
+  }
+} {1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.48.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -8388609 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47 11 1}
+do_test boundary1-2.49.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=16777215
+  }
+} {9 0000000000ffffff}
+do_test boundary1-2.49.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000ffffff'
+  }
+} {16777215 9}
+do_test boundary1-2.49.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=9
+  }
+} {16777215 0000000000ffffff}
+do_test boundary1-2.49.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16777215 ORDER BY a
+  }
+} {3 6 7 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.49.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16777215 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 7 6 3}
+do_test boundary1-2.49.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16777215 ORDER BY rowid
+  }
+} {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.49.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16777215 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6}
+do_test boundary1-2.49.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16777215 ORDER BY x
+  }
+} {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.49.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16777215 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.49.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16777215 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 9 7 6 3}
+do_test boundary1-2.49.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16777215 ORDER BY rowid
+  }
+} {9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.49.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16777215 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9}
+do_test boundary1-2.49.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16777215 ORDER BY x
+  }
+} {9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.49.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16777215 ORDER BY a
+  }
+} {1 2 4 5 8 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.49.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16777215 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 8 5 4 2 1}
+do_test boundary1-2.49.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16777215 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24}
+do_test boundary1-2.49.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16777215 ORDER BY rowid DESC
+  }
+} {24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.49.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16777215 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.49.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16777215 ORDER BY a
+  }
+} {1 2 4 5 8 9 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.49.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16777215 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 9 8 5 4 2 1}
+do_test boundary1-2.49.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16777215 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9}
+do_test boundary1-2.49.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16777215 ORDER BY rowid DESC
+  }
+} {9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.49.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16777215 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.50.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=8388608
+  }
+} {24 0000000000800000}
+do_test boundary1-2.50.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000800000'
+  }
+} {8388608 24}
+do_test boundary1-2.50.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=24
+  }
+} {8388608 0000000000800000}
+do_test boundary1-2.50.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 8388608 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.50.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 8388608 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 9 7 6 3}
+do_test boundary1-2.50.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 8388608 ORDER BY rowid
+  }
+} {9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.50.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 8388608 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9}
+do_test boundary1-2.50.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 8388608 ORDER BY x
+  }
+} {9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.50.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 8388608 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 17 19 20 22 24 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
+do_test boundary1-2.50.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 8388608 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 24 22 20 19 17 14 13 12 10 9 7 6 3}
+do_test boundary1-2.50.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 8388608 ORDER BY rowid
+  }
+} {24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.50.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 8388608 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24}
+do_test boundary1-2.50.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 8388608 ORDER BY x
+  }
+} {24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.50.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 8388608 ORDER BY a
+  }
+} {1 2 4 5 8 11 15 16 18 21 23 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.50.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 8388608 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 23 21 18 16 15 11 8 5 4 2 1}
+do_test boundary1-2.50.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 8388608 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18}
+do_test boundary1-2.50.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 8388608 ORDER BY rowid DESC
+  }
+} {18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.50.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 8388608 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.50.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 8388608 ORDER BY a
+  }
+} {1 2 4 5 8 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.50.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 8388608 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 8 5 4 2 1}
+do_test boundary1-2.50.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 8388608 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24}
+do_test boundary1-2.50.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 8388608 ORDER BY rowid DESC
+  }
+} {24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.50.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 8388608 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.51.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=16383
+  }
+} {8 0000000000003fff}
+do_test boundary1-2.51.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000003fff'
+  }
+} {16383 8}
+do_test boundary1-2.51.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=8
+  }
+} {16383 0000000000003fff}
+do_test boundary1-2.51.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16383 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
+do_test boundary1-2.51.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16383 ORDER BY a DESC
+  }
+} {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.51.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16383 ORDER BY rowid
+  }
+} {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.51.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16383 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16}
+do_test boundary1-2.51.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 16383 ORDER BY x
+  }
+} {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.51.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16383 ORDER BY a
+  }
+} {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
+do_test boundary1-2.51.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16383 ORDER BY a DESC
+  }
+} {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
+do_test boundary1-2.51.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16383 ORDER BY rowid
+  }
+} {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.51.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16383 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8}
+do_test boundary1-2.51.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 16383 ORDER BY x
+  }
+} {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.51.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16383 ORDER BY a
+  }
+} {1 2 4 5 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.51.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16383 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 5 4 2 1}
+do_test boundary1-2.51.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16383 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61}
+do_test boundary1-2.51.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16383 ORDER BY rowid DESC
+  }
+} {61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.51.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 16383 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.51.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16383 ORDER BY a
+  }
+} {1 2 4 5 8 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.51.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16383 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 8 5 4 2 1}
+do_test boundary1-2.51.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16383 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8}
+do_test boundary1-2.51.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16383 ORDER BY rowid DESC
+  }
+} {8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.51.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 16383 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.52.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=140737488355328
+  }
+} {34 0000800000000000}
+do_test boundary1-2.52.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000800000000000'
+  }
+} {140737488355328 34}
+do_test boundary1-2.52.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=34
+  }
+} {140737488355328 0000800000000000}
+do_test boundary1-2.52.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 140737488355328 ORDER BY a
+  }
+} {3 10 13 17 26 27 28 43 45}
+do_test boundary1-2.52.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 140737488355328 ORDER BY a DESC
+  }
+} {45 43 28 27 26 17 13 10 3}
+do_test boundary1-2.52.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 140737488355328 ORDER BY rowid
+  }
+} {10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.52.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 140737488355328 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10}
+do_test boundary1-2.52.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 140737488355328 ORDER BY x
+  }
+} {10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.52.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 140737488355328 ORDER BY a
+  }
+} {3 10 13 17 26 27 28 34 43 45}
+do_test boundary1-2.52.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 140737488355328 ORDER BY a DESC
+  }
+} {45 43 34 28 27 26 17 13 10 3}
+do_test boundary1-2.52.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 140737488355328 ORDER BY rowid
+  }
+} {34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.52.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 140737488355328 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34}
+do_test boundary1-2.52.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 140737488355328 ORDER BY x
+  }
+} {34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.52.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 140737488355328 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.52.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 140737488355328 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
+do_test boundary1-2.52.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 140737488355328 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25}
+do_test boundary1-2.52.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 140737488355328 ORDER BY rowid DESC
+  }
+} {25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.52.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 140737488355328 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.52.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 140737488355328 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.52.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 140737488355328 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
+do_test boundary1-2.52.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 140737488355328 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34}
+do_test boundary1-2.52.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 140737488355328 ORDER BY rowid DESC
+  }
+} {34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.52.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 140737488355328 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.53.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=2097151
+  }
+} {15 00000000001fffff}
+do_test boundary1-2.53.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='00000000001fffff'
+  }
+} {2097151 15}
+do_test boundary1-2.53.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=15
+  }
+} {2097151 00000000001fffff}
+do_test boundary1-2.53.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2097151 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57}
+do_test boundary1-2.53.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2097151 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 14 13 12 10 9 7 6 3}
+do_test boundary1-2.53.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2097151 ORDER BY rowid
+  }
+} {42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.53.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2097151 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42}
+do_test boundary1-2.53.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 2097151 ORDER BY x
+  }
+} {42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.53.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2097151 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57}
+do_test boundary1-2.53.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2097151 ORDER BY a DESC
+  }
+} {57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.53.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2097151 ORDER BY rowid
+  }
+} {15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.53.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2097151 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15}
+do_test boundary1-2.53.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 2097151 ORDER BY x
+  }
+} {15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.53.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2097151 ORDER BY a
+  }
+} {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.53.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2097151 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
+do_test boundary1-2.53.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2097151 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62}
+do_test boundary1-2.53.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2097151 ORDER BY rowid DESC
+  }
+} {62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.53.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 2097151 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.53.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2097151 ORDER BY a
+  }
+} {1 2 4 5 8 11 15 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
+do_test boundary1-2.53.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2097151 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 15 11 8 5 4 2 1}
+do_test boundary1-2.53.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2097151 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15}
+do_test boundary1-2.53.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2097151 ORDER BY rowid DESC
+  }
+} {15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.53.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 2097151 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.54.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=140737488355327
+  }
+} {25 00007fffffffffff}
+do_test boundary1-2.54.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='00007fffffffffff'
+  }
+} {140737488355327 25}
+do_test boundary1-2.54.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=25
+  }
+} {140737488355327 00007fffffffffff}
+do_test boundary1-2.54.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 140737488355327 ORDER BY a
+  }
+} {3 10 13 17 26 27 28 34 43 45}
+do_test boundary1-2.54.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 140737488355327 ORDER BY a DESC
+  }
+} {45 43 34 28 27 26 17 13 10 3}
+do_test boundary1-2.54.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 140737488355327 ORDER BY rowid
+  }
+} {34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.54.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 140737488355327 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34}
+do_test boundary1-2.54.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 140737488355327 ORDER BY x
+  }
+} {34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.54.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 140737488355327 ORDER BY a
+  }
+} {3 10 13 17 25 26 27 28 34 43 45}
+do_test boundary1-2.54.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 140737488355327 ORDER BY a DESC
+  }
+} {45 43 34 28 27 26 25 17 13 10 3}
+do_test boundary1-2.54.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 140737488355327 ORDER BY rowid
+  }
+} {25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.54.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 140737488355327 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25}
+do_test boundary1-2.54.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 140737488355327 ORDER BY x
+  }
+} {25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.54.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 140737488355327 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.54.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 140737488355327 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
+do_test boundary1-2.54.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 140737488355327 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56}
+do_test boundary1-2.54.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 140737488355327 ORDER BY rowid DESC
+  }
+} {56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.54.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 140737488355327 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.54.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 140737488355327 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.54.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 140737488355327 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
+do_test boundary1-2.54.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 140737488355327 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25}
+do_test boundary1-2.54.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 140737488355327 ORDER BY rowid DESC
+  }
+} {25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.54.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 140737488355327 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.55.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=281474976710656
+  }
+} {26 0001000000000000}
+do_test boundary1-2.55.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0001000000000000'
+  }
+} {281474976710656 26}
+do_test boundary1-2.55.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=26
+  }
+} {281474976710656 0001000000000000}
+do_test boundary1-2.55.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 281474976710656 ORDER BY a
+  }
+} {3 13 17 27 28 43 45}
+do_test boundary1-2.55.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 281474976710656 ORDER BY a DESC
+  }
+} {45 43 28 27 17 13 3}
+do_test boundary1-2.55.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 281474976710656 ORDER BY rowid
+  }
+} {13 43 27 45 17 28 3}
+do_test boundary1-2.55.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 281474976710656 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13}
+do_test boundary1-2.55.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 281474976710656 ORDER BY x
+  }
+} {13 43 27 45 17 28 3}
+do_test boundary1-2.55.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 281474976710656 ORDER BY a
+  }
+} {3 13 17 26 27 28 43 45}
+do_test boundary1-2.55.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 281474976710656 ORDER BY a DESC
+  }
+} {45 43 28 27 26 17 13 3}
+do_test boundary1-2.55.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 281474976710656 ORDER BY rowid
+  }
+} {26 13 43 27 45 17 28 3}
+do_test boundary1-2.55.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 281474976710656 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26}
+do_test boundary1-2.55.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 281474976710656 ORDER BY x
+  }
+} {26 13 43 27 45 17 28 3}
+do_test boundary1-2.55.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 281474976710656 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.55.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 281474976710656 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.55.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 281474976710656 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10}
+do_test boundary1-2.55.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 281474976710656 ORDER BY rowid DESC
+  }
+} {10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.55.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 281474976710656 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.55.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 281474976710656 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.55.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 281474976710656 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.55.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 281474976710656 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26}
+do_test boundary1-2.55.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 281474976710656 ORDER BY rowid DESC
+  }
+} {26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.55.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 281474976710656 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.56.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=32767
+  }
+} {23 0000000000007fff}
+do_test boundary1-2.56.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000007fff'
+  }
+} {32767 23}
+do_test boundary1-2.56.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=23
+  }
+} {32767 0000000000007fff}
+do_test boundary1-2.56.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 32767 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
+do_test boundary1-2.56.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 32767 ORDER BY a DESC
+  }
+} {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.56.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 32767 ORDER BY rowid
+  }
+} {50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.56.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 32767 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50}
+do_test boundary1-2.56.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 32767 ORDER BY x
+  }
+} {50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.56.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 32767 ORDER BY a
+  }
+} {3 6 7 9 10 12 13 14 15 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
+do_test boundary1-2.56.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 32767 ORDER BY a DESC
+  }
+} {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
+do_test boundary1-2.56.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 32767 ORDER BY rowid
+  }
+} {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.56.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 32767 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23}
+do_test boundary1-2.56.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 32767 ORDER BY x
+  }
+} {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.56.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 32767 ORDER BY a
+  }
+} {1 2 4 5 8 11 16 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.56.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 32767 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 16 11 8 5 4 2 1}
+do_test boundary1-2.56.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 32767 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16}
+do_test boundary1-2.56.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 32767 ORDER BY rowid DESC
+  }
+} {16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.56.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 32767 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.56.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 32767 ORDER BY a
+  }
+} {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
+do_test boundary1-2.56.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 32767 ORDER BY a DESC
+  }
+} {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
+do_test boundary1-2.56.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 32767 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23}
+do_test boundary1-2.56.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 32767 ORDER BY rowid DESC
+  }
+} {23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.56.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 32767 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.57.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=127
+  }
+} {4 000000000000007f}
+do_test boundary1-2.57.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='000000000000007f'
+  }
+} {127 4}
+do_test boundary1-2.57.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=4
+  }
+} {127 000000000000007f}
+do_test boundary1-2.57.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 127 ORDER BY a
+  }
+} {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
+do_test boundary1-2.57.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 127 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
+do_test boundary1-2.57.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 127 ORDER BY rowid
+  }
+} {49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.57.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 127 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49}
+do_test boundary1-2.57.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 127 ORDER BY x
+  }
+} {49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.57.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 127 ORDER BY a
+  }
+} {3 4 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
+do_test boundary1-2.57.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 127 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 4 3}
+do_test boundary1-2.57.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 127 ORDER BY rowid
+  }
+} {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.57.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 127 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4}
+do_test boundary1-2.57.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 127 ORDER BY x
+  }
+} {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.57.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 127 ORDER BY a
+  }
+} {1 2 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.57.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 127 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 2 1}
+do_test boundary1-2.57.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 127 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31}
+do_test boundary1-2.57.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 127 ORDER BY rowid DESC
+  }
+} {31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.57.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 127 ORDER BY x
+  }
+} {59 60 41 5 31 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.57.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 127 ORDER BY a
+  }
+} {1 2 4 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.57.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 127 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 4 2 1}
+do_test boundary1-2.57.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 127 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4}
+do_test boundary1-2.57.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 127 ORDER BY rowid DESC
+  }
+} {4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.57.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 127 ORDER BY x
+  }
+} {59 60 41 5 31 4 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.58.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=36028797018963967
+  }
+} {27 007fffffffffffff}
+do_test boundary1-2.58.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='007fffffffffffff'
+  }
+} {36028797018963967 27}
+do_test boundary1-2.58.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=27
+  }
+} {36028797018963967 007fffffffffffff}
+do_test boundary1-2.58.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 36028797018963967 ORDER BY a
+  }
+} {3 17 28 45}
+do_test boundary1-2.58.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 36028797018963967 ORDER BY a DESC
+  }
+} {45 28 17 3}
+do_test boundary1-2.58.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 36028797018963967 ORDER BY rowid
+  }
+} {45 17 28 3}
+do_test boundary1-2.58.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 36028797018963967 ORDER BY rowid DESC
+  }
+} {3 28 17 45}
+do_test boundary1-2.58.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 36028797018963967 ORDER BY x
+  }
+} {45 17 28 3}
+do_test boundary1-2.58.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 36028797018963967 ORDER BY a
+  }
+} {3 17 27 28 45}
+do_test boundary1-2.58.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 36028797018963967 ORDER BY a DESC
+  }
+} {45 28 27 17 3}
+do_test boundary1-2.58.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 36028797018963967 ORDER BY rowid
+  }
+} {27 45 17 28 3}
+do_test boundary1-2.58.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 36028797018963967 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27}
+do_test boundary1-2.58.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 36028797018963967 ORDER BY x
+  }
+} {27 45 17 28 3}
+do_test boundary1-2.58.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 36028797018963967 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.58.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 36028797018963967 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.58.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 36028797018963967 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43}
+do_test boundary1-2.58.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 36028797018963967 ORDER BY rowid DESC
+  }
+} {43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.58.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 36028797018963967 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.58.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 36028797018963967 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.58.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 36028797018963967 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.58.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 36028797018963967 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27}
+do_test boundary1-2.58.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 36028797018963967 ORDER BY rowid DESC
+  }
+} {27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.58.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 36028797018963967 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.59.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=4398046511104
+  }
+} {56 0000040000000000}
+do_test boundary1-2.59.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000040000000000'
+  }
+} {4398046511104 56}
+do_test boundary1-2.59.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=56
+  }
+} {4398046511104 0000040000000000}
+do_test boundary1-2.59.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4398046511104 ORDER BY a
+  }
+} {3 10 13 17 25 26 27 28 34 43 45}
+do_test boundary1-2.59.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4398046511104 ORDER BY a DESC
+  }
+} {45 43 34 28 27 26 25 17 13 10 3}
+do_test boundary1-2.59.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4398046511104 ORDER BY rowid
+  }
+} {25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.59.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4398046511104 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25}
+do_test boundary1-2.59.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 4398046511104 ORDER BY x
+  }
+} {25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.59.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4398046511104 ORDER BY a
+  }
+} {3 10 13 17 25 26 27 28 34 43 45 56}
+do_test boundary1-2.59.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4398046511104 ORDER BY a DESC
+  }
+} {56 45 43 34 28 27 26 25 17 13 10 3}
+do_test boundary1-2.59.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4398046511104 ORDER BY rowid
+  }
+} {56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.59.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4398046511104 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56}
+do_test boundary1-2.59.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 4398046511104 ORDER BY x
+  }
+} {56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.59.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4398046511104 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
+do_test boundary1-2.59.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4398046511104 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
+do_test boundary1-2.59.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4398046511104 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7}
+do_test boundary1-2.59.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4398046511104 ORDER BY rowid DESC
+  }
+} {7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.59.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 4398046511104 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.59.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4398046511104 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.59.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4398046511104 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
+do_test boundary1-2.59.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4398046511104 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56}
+do_test boundary1-2.59.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4398046511104 ORDER BY rowid DESC
+  }
+} {56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.59.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 4398046511104 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.60.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=1
+  }
+} {60 0000000000000001}
+do_test boundary1-2.60.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000000001'
+  }
+} {1 60}
+do_test boundary1-2.60.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=60
+  }
+} {1 0000000000000001}
+do_test boundary1-2.60.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 61 62}
+do_test boundary1-2.60.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.60.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1 ORDER BY rowid
+  }
+} {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.60.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41}
+do_test boundary1-2.60.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 1 ORDER BY x
+  }
+} {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.60.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 60 61 62}
+do_test boundary1-2.60.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1 ORDER BY a DESC
+  }
+} {62 61 60 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.60.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1 ORDER BY rowid
+  }
+} {60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.60.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60}
+do_test boundary1-2.60.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 1 ORDER BY x
+  }
+} {60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.60.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1 ORDER BY a
+  }
+} {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 63 64}
+do_test boundary1-2.60.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1 ORDER BY a DESC
+  }
+} {64 63 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
+do_test boundary1-2.60.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59}
+do_test boundary1-2.60.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1 ORDER BY rowid DESC
+  }
+} {59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.60.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 1 ORDER BY x
+  }
+} {59 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.60.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1 ORDER BY a
+  }
+} {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.60.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
+do_test boundary1-2.60.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60}
+do_test boundary1-2.60.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1 ORDER BY rowid DESC
+  }
+} {60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.60.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 1 ORDER BY x
+  }
+} {59 60 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.61.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=36028797018963968
+  }
+} {45 0080000000000000}
+do_test boundary1-2.61.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0080000000000000'
+  }
+} {36028797018963968 45}
+do_test boundary1-2.61.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=45
+  }
+} {36028797018963968 0080000000000000}
+do_test boundary1-2.61.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 36028797018963968 ORDER BY a
+  }
+} {3 17 28}
+do_test boundary1-2.61.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 36028797018963968 ORDER BY a DESC
+  }
+} {28 17 3}
+do_test boundary1-2.61.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 36028797018963968 ORDER BY rowid
+  }
+} {17 28 3}
+do_test boundary1-2.61.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 36028797018963968 ORDER BY rowid DESC
+  }
+} {3 28 17}
+do_test boundary1-2.61.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 36028797018963968 ORDER BY x
+  }
+} {17 28 3}
+do_test boundary1-2.61.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 36028797018963968 ORDER BY a
+  }
+} {3 17 28 45}
+do_test boundary1-2.61.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 36028797018963968 ORDER BY a DESC
+  }
+} {45 28 17 3}
+do_test boundary1-2.61.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 36028797018963968 ORDER BY rowid
+  }
+} {45 17 28 3}
+do_test boundary1-2.61.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 36028797018963968 ORDER BY rowid DESC
+  }
+} {3 28 17 45}
+do_test boundary1-2.61.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 36028797018963968 ORDER BY x
+  }
+} {45 17 28 3}
+do_test boundary1-2.61.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 36028797018963968 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.61.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 36028797018963968 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.61.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 36028797018963968 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27}
+do_test boundary1-2.61.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 36028797018963968 ORDER BY rowid DESC
+  }
+} {27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.61.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 36028797018963968 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.61.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 36028797018963968 ORDER BY a
+  }
+} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.61.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 36028797018963968 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
+do_test boundary1-2.61.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 36028797018963968 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45}
+do_test boundary1-2.61.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 36028797018963968 ORDER BY rowid DESC
+  }
+} {45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.61.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 36028797018963968 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.62.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-2147483649
+  }
+} {47 ffffffff7fffffff}
+do_test boundary1-2.62.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ffffffff7fffffff'
+  }
+} {-2147483649 47}
+do_test boundary1-2.62.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=47
+  }
+} {-2147483649 ffffffff7fffffff}
+do_test boundary1-2.62.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2147483649 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.62.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2147483649 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.62.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2147483649 ORDER BY rowid
+  }
+} {11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.62.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2147483649 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11}
+do_test boundary1-2.62.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -2147483649 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.62.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2147483649 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 59 60 61 62}
+do_test boundary1-2.62.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2147483649 ORDER BY a DESC
+  }
+} {62 61 60 59 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.62.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2147483649 ORDER BY rowid
+  }
+} {47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.62.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2147483649 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47}
+do_test boundary1-2.62.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -2147483649 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.62.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2147483649 ORDER BY a
+  }
+} {2 21 44 55 58 63 64}
+do_test boundary1-2.62.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2147483649 ORDER BY a DESC
+  }
+} {64 63 58 55 44 21 2}
+do_test boundary1-2.62.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2147483649 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63}
+do_test boundary1-2.62.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2147483649 ORDER BY rowid DESC
+  }
+} {63 58 44 21 64 2 55}
+do_test boundary1-2.62.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -2147483649 ORDER BY x
+  }
+} {55 2 64 21 44 58 63}
+do_test boundary1-2.62.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2147483649 ORDER BY a
+  }
+} {2 21 44 47 55 58 63 64}
+do_test boundary1-2.62.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2147483649 ORDER BY a DESC
+  }
+} {64 63 58 55 47 44 21 2}
+do_test boundary1-2.62.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2147483649 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47}
+do_test boundary1-2.62.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2147483649 ORDER BY rowid DESC
+  }
+} {47 63 58 44 21 64 2 55}
+do_test boundary1-2.62.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -2147483649 ORDER BY x
+  }
+} {55 2 64 21 44 58 63 47}
+do_test boundary1-2.63.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=-36028797018963969
+  }
+} {2 ff7fffffffffffff}
+do_test boundary1-2.63.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='ff7fffffffffffff'
+  }
+} {-36028797018963969 2}
+do_test boundary1-2.63.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=2
+  }
+} {-36028797018963969 ff7fffffffffffff}
+do_test boundary1-2.63.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -36028797018963969 ORDER BY a
+  }
+} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.63.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -36028797018963969 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
+do_test boundary1-2.63.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -36028797018963969 ORDER BY rowid
+  }
+} {64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.63.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -36028797018963969 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64}
+do_test boundary1-2.63.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -36028797018963969 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.63.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -36028797018963969 ORDER BY a
+  }
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.63.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -36028797018963969 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
+do_test boundary1-2.63.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -36028797018963969 ORDER BY rowid
+  }
+} {2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.63.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -36028797018963969 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2}
+do_test boundary1-2.63.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -36028797018963969 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.63.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -36028797018963969 ORDER BY a
+  }
+} {55}
+do_test boundary1-2.63.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -36028797018963969 ORDER BY a DESC
+  }
+} {55}
+do_test boundary1-2.63.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -36028797018963969 ORDER BY rowid
+  }
+} {55}
+do_test boundary1-2.63.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -36028797018963969 ORDER BY rowid DESC
+  }
+} {55}
+do_test boundary1-2.63.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -36028797018963969 ORDER BY x
+  }
+} {55}
+do_test boundary1-2.63.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -36028797018963969 ORDER BY a
+  }
+} {2 55}
+do_test boundary1-2.63.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -36028797018963969 ORDER BY a DESC
+  }
+} {55 2}
+do_test boundary1-2.63.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -36028797018963969 ORDER BY rowid
+  }
+} {55 2}
+do_test boundary1-2.63.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -36028797018963969 ORDER BY rowid DESC
+  }
+} {2 55}
+do_test boundary1-2.63.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -36028797018963969 ORDER BY x
+  }
+} {55 2}
+do_test boundary1-2.64.1 {
+  db eval {
+    SELECT * FROM t1 WHERE rowid=3
+  }
+} {5 0000000000000003}
+do_test boundary1-2.64.2 {
+  db eval {
+    SELECT rowid, a FROM t1 WHERE x='0000000000000003'
+  }
+} {3 5}
+do_test boundary1-2.64.3 {
+  db eval {
+    SELECT rowid, x FROM t1 WHERE a=5
+  }
+} {3 0000000000000003}
+do_test boundary1-2.64.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 3 ORDER BY a
+  }
+} {3 4 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
+do_test boundary1-2.64.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 3 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 4 3}
+do_test boundary1-2.64.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 3 ORDER BY rowid
+  }
+} {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.64.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 3 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31}
+do_test boundary1-2.64.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 3 ORDER BY x
+  }
+} {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.64.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 3 ORDER BY a
+  }
+} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
+do_test boundary1-2.64.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 3 ORDER BY a DESC
+  }
+} {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
+do_test boundary1-2.64.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 3 ORDER BY rowid
+  }
+} {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.64.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 3 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5}
+do_test boundary1-2.64.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 3 ORDER BY x
+  }
+} {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.64.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 3 ORDER BY a
+  }
+} {1 2 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.64.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 3 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 2 1}
+do_test boundary1-2.64.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 3 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41}
+do_test boundary1-2.64.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 3 ORDER BY rowid DESC
+  }
+} {41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.64.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 3 ORDER BY x
+  }
+} {59 60 41 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.64.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 3 ORDER BY a
+  }
+} {1 2 5 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
+do_test boundary1-2.64.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 3 ORDER BY a DESC
+  }
+} {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 5 2 1}
+do_test boundary1-2.64.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 3 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5}
+do_test boundary1-2.64.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 3 ORDER BY rowid DESC
+  }
+} {5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.64.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 3 ORDER BY x
+  }
+} {59 60 41 5 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.65.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 9.22337303685477580800e+18 ORDER BY a
+  }
+} {}
+do_test boundary1-2.65.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 9.22337303685477580800e+18 ORDER BY a DESC
+  }
+} {}
+do_test boundary1-2.65.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 9.22337303685477580800e+18 ORDER BY rowid
+  }
+} {}
+do_test boundary1-2.65.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 9.22337303685477580800e+18 ORDER BY rowid DESC
+  }
+} {}
+do_test boundary1-2.65.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > 9.22337303685477580800e+18 ORDER BY x
+  }
+} {}
+do_test boundary1-2.65.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 9.22337303685477580800e+18 ORDER BY a
+  }
+} {}
+do_test boundary1-2.65.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 9.22337303685477580800e+18 ORDER BY a DESC
+  }
+} {}
+do_test boundary1-2.65.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 9.22337303685477580800e+18 ORDER BY rowid
+  }
+} {}
+do_test boundary1-2.65.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 9.22337303685477580800e+18 ORDER BY rowid DESC
+  }
+} {}
+do_test boundary1-2.65.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= 9.22337303685477580800e+18 ORDER BY x
+  }
+} {}
+do_test boundary1-2.65.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 9.22337303685477580800e+18 ORDER BY a
+  }
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.65.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 9.22337303685477580800e+18 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
+do_test boundary1-2.65.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 9.22337303685477580800e+18 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.65.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 9.22337303685477580800e+18 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.65.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < 9.22337303685477580800e+18 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.65.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 9.22337303685477580800e+18 ORDER BY a
+  }
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.65.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 9.22337303685477580800e+18 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
+do_test boundary1-2.65.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 9.22337303685477580800e+18 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.65.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 9.22337303685477580800e+18 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.65.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= 9.22337303685477580800e+18 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.66.gt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -9.22337303685477580800e+18 ORDER BY a
+  }
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.66.gt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -9.22337303685477580800e+18 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
+do_test boundary1-2.66.gt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -9.22337303685477580800e+18 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.66.gt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -9.22337303685477580800e+18 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.66.gt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid > -9.22337303685477580800e+18 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.66.ge.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -9.22337303685477580800e+18 ORDER BY a
+  }
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
+do_test boundary1-2.66.ge.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -9.22337303685477580800e+18 ORDER BY a DESC
+  }
+} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
+do_test boundary1-2.66.ge.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -9.22337303685477580800e+18 ORDER BY rowid
+  }
+} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
+do_test boundary1-2.66.ge.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -9.22337303685477580800e+18 ORDER BY rowid DESC
+  }
+} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
+do_test boundary1-2.66.ge.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid >= -9.22337303685477580800e+18 ORDER BY x
+  }
+} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
+do_test boundary1-2.66.lt.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -9.22337303685477580800e+18 ORDER BY a
+  }
+} {}
+do_test boundary1-2.66.lt.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -9.22337303685477580800e+18 ORDER BY a DESC
+  }
+} {}
+do_test boundary1-2.66.lt.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -9.22337303685477580800e+18 ORDER BY rowid
+  }
+} {}
+do_test boundary1-2.66.lt.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -9.22337303685477580800e+18 ORDER BY rowid DESC
+  }
+} {}
+do_test boundary1-2.66.lt.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid < -9.22337303685477580800e+18 ORDER BY x
+  }
+} {}
+do_test boundary1-2.66.le.1 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -9.22337303685477580800e+18 ORDER BY a
+  }
+} {}
+do_test boundary1-2.66.le.2 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -9.22337303685477580800e+18 ORDER BY a DESC
+  }
+} {}
+do_test boundary1-2.66.le.3 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -9.22337303685477580800e+18 ORDER BY rowid
+  }
+} {}
+do_test boundary1-2.66.le.4 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -9.22337303685477580800e+18 ORDER BY rowid DESC
+  }
+} {}
+do_test boundary1-2.66.le.5 {
+  db eval {
+    SELECT a FROM t1 WHERE rowid <= -9.22337303685477580800e+18 ORDER BY x
+  }
+} {}
+finish_test
index 77729c50f4271f2fa355141877bc5eb8f0332b13..ff7fd2d97724bd76e1880314d9324dafeed3a9bf 100644 (file)
@@ -6,7 +6,7 @@
 #***********************************************************************
 # This file runs all tests.
 #
-# $Id: quick.test,v 1.88 2008/10/13 14:16:11 drh Exp $
+# $Id: quick.test,v 1.89 2008/12/12 17:56:16 drh Exp $
 
 proc lshift {lvar} {
   upvar $lvar l
@@ -47,6 +47,7 @@ set EXCLUDE {
   async2.test
   async3.test
   corrupt.test
+  corruptC.test
   crash.test
   crash2.test
   crash3.test