github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/testdata/tcl/boundary3.test (about)

     1  # 2008 December 11
     2  #
     3  # The author disclaims copyright to this source code.  In place of
     4  # a legal notice, here is a blessing:
     5  #
     6  #    May you do good and not evil.
     7  #    May you find forgiveness for yourself and forgive others.
     8  #    May you share freely, never taking more than you give.
     9  #
    10  #***********************************************************************
    11  # This file implements regression tests for SQLite library.
    12  #
    13  # This file is automatically generated from a separate TCL script.
    14  # This file seeks to exercise integer boundary values.
    15  #
    16  # $Id: boundary3.test,v 1.2 2009/01/02 15:45:48 shane Exp $
    17  
    18  set testdir [file dirname $argv0]
    19  source $testdir/tester.tcl
    20  
    21  # Many of the boundary tests depend on a working 64-bit implementation.
    22  if {![working_64bit_int]} { finish_test; return }
    23  
    24  do_test boundary3-1.1 {
    25    db eval {
    26      CREATE TABLE t1(a,x);
    27      INSERT INTO t1(oid,a,x) VALUES(-8388609,1,'ffffffffff7fffff');
    28      INSERT INTO t1(oid,a,x) VALUES(-36028797018963969,2,'ff7fffffffffffff');
    29      INSERT INTO t1(oid,a,x) VALUES(9223372036854775807,3,'7fffffffffffffff');
    30      INSERT INTO t1(oid,a,x) VALUES(127,4,'000000000000007f');
    31      INSERT INTO t1(oid,a,x) VALUES(3,5,'0000000000000003');
    32      INSERT INTO t1(oid,a,x) VALUES(16777216,6,'0000000001000000');
    33      INSERT INTO t1(oid,a,x) VALUES(4398046511103,7,'000003ffffffffff');
    34      INSERT INTO t1(oid,a,x) VALUES(16383,8,'0000000000003fff');
    35      INSERT INTO t1(oid,a,x) VALUES(16777215,9,'0000000000ffffff');
    36      INSERT INTO t1(oid,a,x) VALUES(281474976710655,10,'0000ffffffffffff');
    37      INSERT INTO t1(oid,a,x) VALUES(-2147483648,11,'ffffffff80000000');
    38      INSERT INTO t1(oid,a,x) VALUES(268435455,12,'000000000fffffff');
    39      INSERT INTO t1(oid,a,x) VALUES(562949953421311,13,'0001ffffffffffff');
    40      INSERT INTO t1(oid,a,x) VALUES(4294967295,14,'00000000ffffffff');
    41      INSERT INTO t1(oid,a,x) VALUES(2097151,15,'00000000001fffff');
    42      INSERT INTO t1(oid,a,x) VALUES(16384,16,'0000000000004000');
    43      INSERT INTO t1(oid,a,x) VALUES(72057594037927935,17,'00ffffffffffffff');
    44      INSERT INTO t1(oid,a,x) VALUES(8388607,18,'00000000007fffff');
    45      INSERT INTO t1(oid,a,x) VALUES(1099511627776,19,'0000010000000000');
    46      INSERT INTO t1(oid,a,x) VALUES(2147483647,20,'000000007fffffff');
    47      INSERT INTO t1(oid,a,x) VALUES(-140737488355329,21,'ffff7fffffffffff');
    48      INSERT INTO t1(oid,a,x) VALUES(34359738368,22,'0000000800000000');
    49      INSERT INTO t1(oid,a,x) VALUES(32767,23,'0000000000007fff');
    50      INSERT INTO t1(oid,a,x) VALUES(8388608,24,'0000000000800000');
    51      INSERT INTO t1(oid,a,x) VALUES(140737488355327,25,'00007fffffffffff');
    52      INSERT INTO t1(oid,a,x) VALUES(281474976710656,26,'0001000000000000');
    53      INSERT INTO t1(oid,a,x) VALUES(36028797018963967,27,'007fffffffffffff');
    54      INSERT INTO t1(oid,a,x) VALUES(72057594037927936,28,'0100000000000000');
    55      INSERT INTO t1(oid,a,x) VALUES(-32769,29,'ffffffffffff7fff');
    56      INSERT INTO t1(oid,a,x) VALUES(255,30,'00000000000000ff');
    57      INSERT INTO t1(oid,a,x) VALUES(4,31,'0000000000000004');
    58      INSERT INTO t1(oid,a,x) VALUES(-32768,32,'ffffffffffff8000');
    59      INSERT INTO t1(oid,a,x) VALUES(-2,33,'fffffffffffffffe');
    60      INSERT INTO t1(oid,a,x) VALUES(140737488355328,34,'0000800000000000');
    61      INSERT INTO t1(oid,a,x) VALUES(549755813888,35,'0000008000000000');
    62      INSERT INTO t1(oid,a,x) VALUES(4294967296,36,'0000000100000000');
    63      INSERT INTO t1(oid,a,x) VALUES(-8388608,37,'ffffffffff800000');
    64      INSERT INTO t1(oid,a,x) VALUES(-1,38,'ffffffffffffffff');
    65      INSERT INTO t1(oid,a,x) VALUES(34359738367,39,'00000007ffffffff');
    66      INSERT INTO t1(oid,a,x) VALUES(268435456,40,'0000000010000000');
    67      INSERT INTO t1(oid,a,x) VALUES(2,41,'0000000000000002');
    68      INSERT INTO t1(oid,a,x) VALUES(2097152,42,'0000000000200000');
    69      INSERT INTO t1(oid,a,x) VALUES(562949953421312,43,'0002000000000000');
    70      INSERT INTO t1(oid,a,x) VALUES(-140737488355328,44,'ffff800000000000');
    71      INSERT INTO t1(oid,a,x) VALUES(36028797018963968,45,'0080000000000000');
    72      INSERT INTO t1(oid,a,x) VALUES(549755813887,46,'0000007fffffffff');
    73      INSERT INTO t1(oid,a,x) VALUES(-2147483649,47,'ffffffff7fffffff');
    74      INSERT INTO t1(oid,a,x) VALUES(65535,48,'000000000000ffff');
    75      INSERT INTO t1(oid,a,x) VALUES(128,49,'0000000000000080');
    76      INSERT INTO t1(oid,a,x) VALUES(32768,50,'0000000000008000');
    77      INSERT INTO t1(oid,a,x) VALUES(2147483648,51,'0000000080000000');
    78      INSERT INTO t1(oid,a,x) VALUES(-3,52,'fffffffffffffffd');
    79      INSERT INTO t1(oid,a,x) VALUES(-128,53,'ffffffffffffff80');
    80      INSERT INTO t1(oid,a,x) VALUES(-129,54,'ffffffffffffff7f');
    81      INSERT INTO t1(oid,a,x) VALUES(-9223372036854775808,55,'8000000000000000');
    82      INSERT INTO t1(oid,a,x) VALUES(4398046511104,56,'0000040000000000');
    83      INSERT INTO t1(oid,a,x) VALUES(1099511627775,57,'000000ffffffffff');
    84      INSERT INTO t1(oid,a,x) VALUES(-549755813889,58,'ffffff7fffffffff');
    85      INSERT INTO t1(oid,a,x) VALUES(0,59,'0000000000000000');
    86      INSERT INTO t1(oid,a,x) VALUES(1,60,'0000000000000001');
    87      INSERT INTO t1(oid,a,x) VALUES(256,61,'0000000000000100');
    88      INSERT INTO t1(oid,a,x) VALUES(65536,62,'0000000000010000');
    89      INSERT INTO t1(oid,a,x) VALUES(-549755813888,63,'ffffff8000000000');
    90      INSERT INTO t1(oid,a,x) VALUES(-36028797018963968,64,'ff80000000000000');
    91      CREATE INDEX t1i1 ON t1(a);
    92      CREATE INDEX t1i2 ON t1(x);
    93    }
    94  } {}
    95  do_test boundary3-1.2 {
    96    db eval {
    97      SELECT count(*) FROM t1
    98    }
    99  } {64}
   100  do_test boundary3-1.3 {
   101    db eval {
   102      CREATE TABLE t2(r,a);
   103      INSERT INTO t2 SELECT rowid, a FROM t1;
   104      CREATE INDEX t2i1 ON t2(r);
   105      CREATE INDEX t2i2 ON t2(a);
   106      INSERT INTO t2 VALUES(9.22337303685477580800e+18,65);
   107      INSERT INTO t2 VALUES(-9.22337303685477580800e+18,66);
   108      SELECT count(*) FROM t2;
   109    }
   110  } {66}
   111  do_test boundary3-2.1.1 {
   112    db eval {
   113      SELECT t1.* FROM t1, t2 WHERE t1.rowid=72057594037927935 AND t2.a=t1.a
   114    }
   115  } {17 00ffffffffffffff}
   116  do_test boundary3-2.1.2 {
   117    db eval {
   118      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00ffffffffffffff'
   119    }
   120  } {72057594037927935 17}
   121  do_test boundary3-2.1.3 {
   122    db eval {
   123      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=17
   124    }
   125  } {72057594037927935 00ffffffffffffff}
   126  do_test boundary3-2.1.gt.1 {
   127    db eval {
   128      SELECT t2.a FROM t1 JOIN t2 USING(a)
   129       WHERE t1.rowid > 72057594037927935 ORDER BY t2.a
   130    }
   131  } {3 28}
   132  do_test boundary3-2.1.gt.2 {
   133    db eval {
   134      SELECT t2.a FROM t2 NATURAL JOIN t1
   135       WHERE t1.rowid > 72057594037927935 ORDER BY t1.a DESC
   136    }
   137  } {28 3}
   138  do_test boundary3-2.1.gt.3 {
   139    db eval {
   140      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   141       WHERE t2.a=17
   142       ORDER BY t1.rowid
   143    }
   144  } {28 3}
   145  do_test boundary3-2.1.gt.4 {
   146    db eval {
   147      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   148       WHERE t2.a=17
   149       ORDER BY t1.rowid DESC
   150    }
   151  } {3 28}
   152  do_test boundary3-2.1.gt.5 {
   153    db eval {
   154      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   155       WHERE t2.a=17
   156       ORDER BY x
   157    }
   158  } {28 3}
   159  do_test boundary3-2.1.ge.1 {
   160    db eval {
   161      SELECT t2.a FROM t1 JOIN t2 USING(a)
   162       WHERE t1.rowid >= 72057594037927935 ORDER BY t2.a
   163    }
   164  } {3 17 28}
   165  do_test boundary3-2.1.ge.2 {
   166    db eval {
   167      SELECT t2.a FROM t2 NATURAL JOIN t1
   168       WHERE t1.rowid >= 72057594037927935 ORDER BY t1.a DESC
   169    }
   170  } {28 17 3}
   171  do_test boundary3-2.1.ge.3 {
   172    db eval {
   173      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   174       WHERE t2.a=17
   175       ORDER BY t1.rowid
   176    }
   177  } {17 28 3}
   178  do_test boundary3-2.1.ge.4 {
   179    db eval {
   180      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   181       WHERE t2.a=17
   182       ORDER BY t1.rowid DESC
   183    }
   184  } {3 28 17}
   185  do_test boundary3-2.1.ge.5 {
   186    db eval {
   187      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   188       WHERE t2.a=17
   189       ORDER BY x
   190    }
   191  } {17 28 3}
   192  do_test boundary3-2.1.lt.1 {
   193    db eval {
   194      SELECT t2.a FROM t1 JOIN t2 USING(a)
   195       WHERE t1.rowid < 72057594037927935 ORDER BY t2.a
   196    }
   197  } {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}
   198  do_test boundary3-2.1.lt.2 {
   199    db eval {
   200      SELECT t2.a FROM t2 NATURAL JOIN t1
   201       WHERE t1.rowid < 72057594037927935 ORDER BY t1.a DESC
   202    }
   203  } {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}
   204  do_test boundary3-2.1.lt.3 {
   205    db eval {
   206      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   207       WHERE t2.a=17
   208       ORDER BY t1.rowid
   209    }
   210  } {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}
   211  do_test boundary3-2.1.lt.4 {
   212    db eval {
   213      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   214       WHERE t2.a=17
   215       ORDER BY t1.rowid DESC
   216    }
   217  } {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}
   218  do_test boundary3-2.1.lt.5 {
   219    db eval {
   220      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   221       WHERE t2.a=17
   222       ORDER BY x
   223    }
   224  } {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}
   225  do_test boundary3-2.1.le.1 {
   226    db eval {
   227      SELECT t2.a FROM t1 JOIN t2 USING(a)
   228       WHERE t1.rowid <= 72057594037927935 ORDER BY t2.a
   229    }
   230  } {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}
   231  do_test boundary3-2.1.le.2 {
   232    db eval {
   233      SELECT t2.a FROM t2 NATURAL JOIN t1
   234       WHERE t1.rowid <= 72057594037927935 ORDER BY t1.a DESC
   235    }
   236  } {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}
   237  do_test boundary3-2.1.le.3 {
   238    db eval {
   239      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   240       WHERE t2.a=17
   241       ORDER BY t1.rowid
   242    }
   243  } {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}
   244  do_test boundary3-2.1.le.4 {
   245    db eval {
   246      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   247       WHERE t2.a=17
   248       ORDER BY t1.rowid DESC
   249    }
   250  } {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}
   251  do_test boundary3-2.1.le.5 {
   252    db eval {
   253      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   254       WHERE t2.a=17
   255       ORDER BY x
   256    }
   257  } {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}
   258  do_test boundary3-2.2.1 {
   259    db eval {
   260      SELECT t1.* FROM t1, t2 WHERE t1.rowid=16384 AND t2.a=t1.a
   261    }
   262  } {16 0000000000004000}
   263  do_test boundary3-2.2.2 {
   264    db eval {
   265      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000004000'
   266    }
   267  } {16384 16}
   268  do_test boundary3-2.2.3 {
   269    db eval {
   270      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=16
   271    }
   272  } {16384 0000000000004000}
   273  do_test boundary3-2.2.gt.1 {
   274    db eval {
   275      SELECT t2.a FROM t1 JOIN t2 USING(a)
   276       WHERE t1.rowid > 16384 ORDER BY t2.a
   277    }
   278  } {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}
   279  do_test boundary3-2.2.gt.2 {
   280    db eval {
   281      SELECT t2.a FROM t2 NATURAL JOIN t1
   282       WHERE t1.rowid > 16384 ORDER BY t1.a DESC
   283    }
   284  } {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}
   285  do_test boundary3-2.2.gt.3 {
   286    db eval {
   287      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   288       WHERE t2.a=16
   289       ORDER BY t1.rowid
   290    }
   291  } {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}
   292  do_test boundary3-2.2.gt.4 {
   293    db eval {
   294      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   295       WHERE t2.a=16
   296       ORDER BY t1.rowid DESC
   297    }
   298  } {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}
   299  do_test boundary3-2.2.gt.5 {
   300    db eval {
   301      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   302       WHERE t2.a=16
   303       ORDER BY x
   304    }
   305  } {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}
   306  do_test boundary3-2.2.gt.10 {
   307    db eval {
   308      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
   309       WHERE t2.a=16
   310       ORDER BY t1.rowid
   311    }
   312  } {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}
   313  do_test boundary3-2.2.gt.11 {
   314    db eval {
   315      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
   316       WHERE t2.a=16
   317       ORDER BY t1.rowid DESC
   318    }
   319  } {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}
   320  do_test boundary3-2.2.ge.1 {
   321    db eval {
   322      SELECT t2.a FROM t1 JOIN t2 USING(a)
   323       WHERE t1.rowid >= 16384 ORDER BY t2.a
   324    }
   325  } {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}
   326  do_test boundary3-2.2.ge.2 {
   327    db eval {
   328      SELECT t2.a FROM t2 NATURAL JOIN t1
   329       WHERE t1.rowid >= 16384 ORDER BY t1.a DESC
   330    }
   331  } {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}
   332  do_test boundary3-2.2.ge.3 {
   333    db eval {
   334      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   335       WHERE t2.a=16
   336       ORDER BY t1.rowid
   337    }
   338  } {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}
   339  do_test boundary3-2.2.ge.4 {
   340    db eval {
   341      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   342       WHERE t2.a=16
   343       ORDER BY t1.rowid DESC
   344    }
   345  } {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}
   346  do_test boundary3-2.2.ge.5 {
   347    db eval {
   348      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   349       WHERE t2.a=16
   350       ORDER BY x
   351    }
   352  } {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}
   353  do_test boundary3-2.2.ge.10 {
   354    db eval {
   355      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
   356       WHERE t2.a=16
   357       ORDER BY t1.rowid
   358    }
   359  } {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}
   360  do_test boundary3-2.2.ge.11 {
   361    db eval {
   362      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
   363       WHERE t2.a=16
   364       ORDER BY t1.rowid DESC
   365    }
   366  } {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}
   367  do_test boundary3-2.2.lt.1 {
   368    db eval {
   369      SELECT t2.a FROM t1 JOIN t2 USING(a)
   370       WHERE t1.rowid < 16384 ORDER BY t2.a
   371    }
   372  } {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}
   373  do_test boundary3-2.2.lt.2 {
   374    db eval {
   375      SELECT t2.a FROM t2 NATURAL JOIN t1
   376       WHERE t1.rowid < 16384 ORDER BY t1.a DESC
   377    }
   378  } {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}
   379  do_test boundary3-2.2.lt.3 {
   380    db eval {
   381      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   382       WHERE t2.a=16
   383       ORDER BY t1.rowid
   384    }
   385  } {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}
   386  do_test boundary3-2.2.lt.4 {
   387    db eval {
   388      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   389       WHERE t2.a=16
   390       ORDER BY t1.rowid DESC
   391    }
   392  } {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}
   393  do_test boundary3-2.2.lt.5 {
   394    db eval {
   395      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   396       WHERE t2.a=16
   397       ORDER BY x
   398    }
   399  } {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}
   400  do_test boundary3-2.2.lt.10 {
   401    db eval {
   402      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
   403       WHERE t2.a=16
   404       ORDER BY t1.rowid
   405    }
   406  } {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}
   407  do_test boundary3-2.2.lt.11 {
   408    db eval {
   409      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
   410       WHERE t2.a=16
   411       ORDER BY t1.rowid DESC
   412    }
   413  } {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}
   414  do_test boundary3-2.2.le.1 {
   415    db eval {
   416      SELECT t2.a FROM t1 JOIN t2 USING(a)
   417       WHERE t1.rowid <= 16384 ORDER BY t2.a
   418    }
   419  } {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}
   420  do_test boundary3-2.2.le.2 {
   421    db eval {
   422      SELECT t2.a FROM t2 NATURAL JOIN t1
   423       WHERE t1.rowid <= 16384 ORDER BY t1.a DESC
   424    }
   425  } {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}
   426  do_test boundary3-2.2.le.3 {
   427    db eval {
   428      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   429       WHERE t2.a=16
   430       ORDER BY t1.rowid
   431    }
   432  } {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}
   433  do_test boundary3-2.2.le.4 {
   434    db eval {
   435      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   436       WHERE t2.a=16
   437       ORDER BY t1.rowid DESC
   438    }
   439  } {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}
   440  do_test boundary3-2.2.le.5 {
   441    db eval {
   442      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   443       WHERE t2.a=16
   444       ORDER BY x
   445    }
   446  } {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}
   447  do_test boundary3-2.2.le.10 {
   448    db eval {
   449      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
   450       WHERE t2.a=16
   451       ORDER BY t1.rowid
   452    }
   453  } {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}
   454  do_test boundary3-2.2.le.11 {
   455    db eval {
   456      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
   457       WHERE t2.a=16
   458       ORDER BY t1.rowid DESC
   459    }
   460  } {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}
   461  do_test boundary3-2.3.1 {
   462    db eval {
   463      SELECT t1.* FROM t1, t2 WHERE t1.rowid=4294967296 AND t2.a=t1.a
   464    }
   465  } {36 0000000100000000}
   466  do_test boundary3-2.3.2 {
   467    db eval {
   468      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000100000000'
   469    }
   470  } {4294967296 36}
   471  do_test boundary3-2.3.3 {
   472    db eval {
   473      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=36
   474    }
   475  } {4294967296 0000000100000000}
   476  do_test boundary3-2.3.gt.1 {
   477    db eval {
   478      SELECT t2.a FROM t1 JOIN t2 USING(a)
   479       WHERE t1.rowid > 4294967296 ORDER BY t2.a
   480    }
   481  } {3 7 10 13 17 19 22 25 26 27 28 34 35 39 43 45 46 56 57}
   482  do_test boundary3-2.3.gt.2 {
   483    db eval {
   484      SELECT t2.a FROM t2 NATURAL JOIN t1
   485       WHERE t1.rowid > 4294967296 ORDER BY t1.a DESC
   486    }
   487  } {57 56 46 45 43 39 35 34 28 27 26 25 22 19 17 13 10 7 3}
   488  do_test boundary3-2.3.gt.3 {
   489    db eval {
   490      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   491       WHERE t2.a=36
   492       ORDER BY t1.rowid
   493    }
   494  } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
   495  do_test boundary3-2.3.gt.4 {
   496    db eval {
   497      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   498       WHERE t2.a=36
   499       ORDER BY t1.rowid DESC
   500    }
   501  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}
   502  do_test boundary3-2.3.gt.5 {
   503    db eval {
   504      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   505       WHERE t2.a=36
   506       ORDER BY x
   507    }
   508  } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
   509  do_test boundary3-2.3.gt.10 {
   510    db eval {
   511      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
   512       WHERE t2.a=36
   513       ORDER BY t1.rowid
   514    }
   515  } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
   516  do_test boundary3-2.3.gt.11 {
   517    db eval {
   518      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
   519       WHERE t2.a=36
   520       ORDER BY t1.rowid DESC
   521    }
   522  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}
   523  do_test boundary3-2.3.ge.1 {
   524    db eval {
   525      SELECT t2.a FROM t1 JOIN t2 USING(a)
   526       WHERE t1.rowid >= 4294967296 ORDER BY t2.a
   527    }
   528  } {3 7 10 13 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
   529  do_test boundary3-2.3.ge.2 {
   530    db eval {
   531      SELECT t2.a FROM t2 NATURAL JOIN t1
   532       WHERE t1.rowid >= 4294967296 ORDER BY t1.a DESC
   533    }
   534  } {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 13 10 7 3}
   535  do_test boundary3-2.3.ge.3 {
   536    db eval {
   537      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   538       WHERE t2.a=36
   539       ORDER BY t1.rowid
   540    }
   541  } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
   542  do_test boundary3-2.3.ge.4 {
   543    db eval {
   544      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   545       WHERE t2.a=36
   546       ORDER BY t1.rowid DESC
   547    }
   548  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}
   549  do_test boundary3-2.3.ge.5 {
   550    db eval {
   551      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   552       WHERE t2.a=36
   553       ORDER BY x
   554    }
   555  } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
   556  do_test boundary3-2.3.ge.10 {
   557    db eval {
   558      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
   559       WHERE t2.a=36
   560       ORDER BY t1.rowid
   561    }
   562  } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
   563  do_test boundary3-2.3.ge.11 {
   564    db eval {
   565      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
   566       WHERE t2.a=36
   567       ORDER BY t1.rowid DESC
   568    }
   569  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}
   570  do_test boundary3-2.3.lt.1 {
   571    db eval {
   572      SELECT t2.a FROM t1 JOIN t2 USING(a)
   573       WHERE t1.rowid < 4294967296 ORDER BY t2.a
   574    }
   575  } {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}
   576  do_test boundary3-2.3.lt.2 {
   577    db eval {
   578      SELECT t2.a FROM t2 NATURAL JOIN t1
   579       WHERE t1.rowid < 4294967296 ORDER BY t1.a DESC
   580    }
   581  } {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}
   582  do_test boundary3-2.3.lt.3 {
   583    db eval {
   584      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   585       WHERE t2.a=36
   586       ORDER BY t1.rowid
   587    }
   588  } {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}
   589  do_test boundary3-2.3.lt.4 {
   590    db eval {
   591      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   592       WHERE t2.a=36
   593       ORDER BY t1.rowid DESC
   594    }
   595  } {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}
   596  do_test boundary3-2.3.lt.5 {
   597    db eval {
   598      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   599       WHERE t2.a=36
   600       ORDER BY x
   601    }
   602  } {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}
   603  do_test boundary3-2.3.lt.10 {
   604    db eval {
   605      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
   606       WHERE t2.a=36
   607       ORDER BY t1.rowid
   608    }
   609  } {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}
   610  do_test boundary3-2.3.lt.11 {
   611    db eval {
   612      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
   613       WHERE t2.a=36
   614       ORDER BY t1.rowid DESC
   615    }
   616  } {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}
   617  do_test boundary3-2.3.le.1 {
   618    db eval {
   619      SELECT t2.a FROM t1 JOIN t2 USING(a)
   620       WHERE t1.rowid <= 4294967296 ORDER BY t2.a
   621    }
   622  } {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}
   623  do_test boundary3-2.3.le.2 {
   624    db eval {
   625      SELECT t2.a FROM t2 NATURAL JOIN t1
   626       WHERE t1.rowid <= 4294967296 ORDER BY t1.a DESC
   627    }
   628  } {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}
   629  do_test boundary3-2.3.le.3 {
   630    db eval {
   631      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   632       WHERE t2.a=36
   633       ORDER BY t1.rowid
   634    }
   635  } {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}
   636  do_test boundary3-2.3.le.4 {
   637    db eval {
   638      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   639       WHERE t2.a=36
   640       ORDER BY t1.rowid DESC
   641    }
   642  } {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}
   643  do_test boundary3-2.3.le.5 {
   644    db eval {
   645      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   646       WHERE t2.a=36
   647       ORDER BY x
   648    }
   649  } {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}
   650  do_test boundary3-2.3.le.10 {
   651    db eval {
   652      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
   653       WHERE t2.a=36
   654       ORDER BY t1.rowid
   655    }
   656  } {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}
   657  do_test boundary3-2.3.le.11 {
   658    db eval {
   659      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
   660       WHERE t2.a=36
   661       ORDER BY t1.rowid DESC
   662    }
   663  } {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}
   664  do_test boundary3-2.4.1 {
   665    db eval {
   666      SELECT t1.* FROM t1, t2 WHERE t1.rowid=16777216 AND t2.a=t1.a
   667    }
   668  } {6 0000000001000000}
   669  do_test boundary3-2.4.2 {
   670    db eval {
   671      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000001000000'
   672    }
   673  } {16777216 6}
   674  do_test boundary3-2.4.3 {
   675    db eval {
   676      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=6
   677    }
   678  } {16777216 0000000001000000}
   679  do_test boundary3-2.4.gt.1 {
   680    db eval {
   681      SELECT t2.a FROM t1 JOIN t2 USING(a)
   682       WHERE t1.rowid > 16777216 ORDER BY t2.a
   683    }
   684  } {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}
   685  do_test boundary3-2.4.gt.2 {
   686    db eval {
   687      SELECT t2.a FROM t2 NATURAL JOIN t1
   688       WHERE t1.rowid > 16777216 ORDER BY t1.a DESC
   689    }
   690  } {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}
   691  do_test boundary3-2.4.gt.3 {
   692    db eval {
   693      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   694       WHERE t2.a=6
   695       ORDER BY t1.rowid
   696    }
   697  } {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}
   698  do_test boundary3-2.4.gt.4 {
   699    db eval {
   700      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   701       WHERE t2.a=6
   702       ORDER BY t1.rowid DESC
   703    }
   704  } {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}
   705  do_test boundary3-2.4.gt.5 {
   706    db eval {
   707      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   708       WHERE t2.a=6
   709       ORDER BY x
   710    }
   711  } {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}
   712  do_test boundary3-2.4.gt.10 {
   713    db eval {
   714      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
   715       WHERE t2.a=6
   716       ORDER BY t1.rowid
   717    }
   718  } {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}
   719  do_test boundary3-2.4.gt.11 {
   720    db eval {
   721      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
   722       WHERE t2.a=6
   723       ORDER BY t1.rowid DESC
   724    }
   725  } {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}
   726  do_test boundary3-2.4.ge.1 {
   727    db eval {
   728      SELECT t2.a FROM t1 JOIN t2 USING(a)
   729       WHERE t1.rowid >= 16777216 ORDER BY t2.a
   730    }
   731  } {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}
   732  do_test boundary3-2.4.ge.2 {
   733    db eval {
   734      SELECT t2.a FROM t2 NATURAL JOIN t1
   735       WHERE t1.rowid >= 16777216 ORDER BY t1.a DESC
   736    }
   737  } {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}
   738  do_test boundary3-2.4.ge.3 {
   739    db eval {
   740      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   741       WHERE t2.a=6
   742       ORDER BY t1.rowid
   743    }
   744  } {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}
   745  do_test boundary3-2.4.ge.4 {
   746    db eval {
   747      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   748       WHERE t2.a=6
   749       ORDER BY t1.rowid DESC
   750    }
   751  } {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}
   752  do_test boundary3-2.4.ge.5 {
   753    db eval {
   754      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   755       WHERE t2.a=6
   756       ORDER BY x
   757    }
   758  } {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}
   759  do_test boundary3-2.4.ge.10 {
   760    db eval {
   761      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
   762       WHERE t2.a=6
   763       ORDER BY t1.rowid
   764    }
   765  } {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}
   766  do_test boundary3-2.4.ge.11 {
   767    db eval {
   768      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
   769       WHERE t2.a=6
   770       ORDER BY t1.rowid DESC
   771    }
   772  } {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}
   773  do_test boundary3-2.4.lt.1 {
   774    db eval {
   775      SELECT t2.a FROM t1 JOIN t2 USING(a)
   776       WHERE t1.rowid < 16777216 ORDER BY t2.a
   777    }
   778  } {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}
   779  do_test boundary3-2.4.lt.2 {
   780    db eval {
   781      SELECT t2.a FROM t2 NATURAL JOIN t1
   782       WHERE t1.rowid < 16777216 ORDER BY t1.a DESC
   783    }
   784  } {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}
   785  do_test boundary3-2.4.lt.3 {
   786    db eval {
   787      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   788       WHERE t2.a=6
   789       ORDER BY t1.rowid
   790    }
   791  } {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}
   792  do_test boundary3-2.4.lt.4 {
   793    db eval {
   794      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   795       WHERE t2.a=6
   796       ORDER BY t1.rowid DESC
   797    }
   798  } {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}
   799  do_test boundary3-2.4.lt.5 {
   800    db eval {
   801      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   802       WHERE t2.a=6
   803       ORDER BY x
   804    }
   805  } {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}
   806  do_test boundary3-2.4.lt.10 {
   807    db eval {
   808      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
   809       WHERE t2.a=6
   810       ORDER BY t1.rowid
   811    }
   812  } {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}
   813  do_test boundary3-2.4.lt.11 {
   814    db eval {
   815      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
   816       WHERE t2.a=6
   817       ORDER BY t1.rowid DESC
   818    }
   819  } {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}
   820  do_test boundary3-2.4.le.1 {
   821    db eval {
   822      SELECT t2.a FROM t1 JOIN t2 USING(a)
   823       WHERE t1.rowid <= 16777216 ORDER BY t2.a
   824    }
   825  } {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}
   826  do_test boundary3-2.4.le.2 {
   827    db eval {
   828      SELECT t2.a FROM t2 NATURAL JOIN t1
   829       WHERE t1.rowid <= 16777216 ORDER BY t1.a DESC
   830    }
   831  } {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}
   832  do_test boundary3-2.4.le.3 {
   833    db eval {
   834      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   835       WHERE t2.a=6
   836       ORDER BY t1.rowid
   837    }
   838  } {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}
   839  do_test boundary3-2.4.le.4 {
   840    db eval {
   841      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   842       WHERE t2.a=6
   843       ORDER BY t1.rowid DESC
   844    }
   845  } {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}
   846  do_test boundary3-2.4.le.5 {
   847    db eval {
   848      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
   849       WHERE t2.a=6
   850       ORDER BY x
   851    }
   852  } {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}
   853  do_test boundary3-2.4.le.10 {
   854    db eval {
   855      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
   856       WHERE t2.a=6
   857       ORDER BY t1.rowid
   858    }
   859  } {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}
   860  do_test boundary3-2.4.le.11 {
   861    db eval {
   862      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
   863       WHERE t2.a=6
   864       ORDER BY t1.rowid DESC
   865    }
   866  } {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}
   867  do_test boundary3-2.5.1 {
   868    db eval {
   869      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-32769 AND t2.a=t1.a
   870    }
   871  } {29 ffffffffffff7fff}
   872  do_test boundary3-2.5.2 {
   873    db eval {
   874      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffff7fff'
   875    }
   876  } {-32769 29}
   877  do_test boundary3-2.5.3 {
   878    db eval {
   879      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=29
   880    }
   881  } {-32769 ffffffffffff7fff}
   882  do_test boundary3-2.5.gt.1 {
   883    db eval {
   884      SELECT t2.a FROM t1 JOIN t2 USING(a)
   885       WHERE t1.rowid > -32769 ORDER BY t2.a
   886    }
   887  } {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}
   888  do_test boundary3-2.5.gt.2 {
   889    db eval {
   890      SELECT t2.a FROM t2 NATURAL JOIN t1
   891       WHERE t1.rowid > -32769 ORDER BY t1.a DESC
   892    }
   893  } {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}
   894  do_test boundary3-2.5.gt.3 {
   895    db eval {
   896      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   897       WHERE t2.a=29
   898       ORDER BY t1.rowid
   899    }
   900  } {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}
   901  do_test boundary3-2.5.gt.4 {
   902    db eval {
   903      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   904       WHERE t2.a=29
   905       ORDER BY t1.rowid DESC
   906    }
   907  } {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}
   908  do_test boundary3-2.5.gt.5 {
   909    db eval {
   910      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
   911       WHERE t2.a=29
   912       ORDER BY x
   913    }
   914  } {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}
   915  do_test boundary3-2.5.gt.10 {
   916    db eval {
   917      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
   918       WHERE t2.a=29
   919       ORDER BY t1.rowid
   920    }
   921  } {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}
   922  do_test boundary3-2.5.gt.11 {
   923    db eval {
   924      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
   925       WHERE t2.a=29
   926       ORDER BY t1.rowid DESC
   927    }
   928  } {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}
   929  do_test boundary3-2.5.ge.1 {
   930    db eval {
   931      SELECT t2.a FROM t1 JOIN t2 USING(a)
   932       WHERE t1.rowid >= -32769 ORDER BY t2.a
   933    }
   934  } {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}
   935  do_test boundary3-2.5.ge.2 {
   936    db eval {
   937      SELECT t2.a FROM t2 NATURAL JOIN t1
   938       WHERE t1.rowid >= -32769 ORDER BY t1.a DESC
   939    }
   940  } {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}
   941  do_test boundary3-2.5.ge.3 {
   942    db eval {
   943      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   944       WHERE t2.a=29
   945       ORDER BY t1.rowid
   946    }
   947  } {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}
   948  do_test boundary3-2.5.ge.4 {
   949    db eval {
   950      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   951       WHERE t2.a=29
   952       ORDER BY t1.rowid DESC
   953    }
   954  } {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}
   955  do_test boundary3-2.5.ge.5 {
   956    db eval {
   957      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
   958       WHERE t2.a=29
   959       ORDER BY x
   960    }
   961  } {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}
   962  do_test boundary3-2.5.ge.10 {
   963    db eval {
   964      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
   965       WHERE t2.a=29
   966       ORDER BY t1.rowid
   967    }
   968  } {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}
   969  do_test boundary3-2.5.ge.11 {
   970    db eval {
   971      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
   972       WHERE t2.a=29
   973       ORDER BY t1.rowid DESC
   974    }
   975  } {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}
   976  do_test boundary3-2.5.lt.1 {
   977    db eval {
   978      SELECT t2.a FROM t1 JOIN t2 USING(a)
   979       WHERE t1.rowid < -32769 ORDER BY t2.a
   980    }
   981  } {1 2 11 21 37 44 47 55 58 63 64}
   982  do_test boundary3-2.5.lt.2 {
   983    db eval {
   984      SELECT t2.a FROM t2 NATURAL JOIN t1
   985       WHERE t1.rowid < -32769 ORDER BY t1.a DESC
   986    }
   987  } {64 63 58 55 47 44 37 21 11 2 1}
   988  do_test boundary3-2.5.lt.3 {
   989    db eval {
   990      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   991       WHERE t2.a=29
   992       ORDER BY t1.rowid
   993    }
   994  } {55 2 64 21 44 58 63 47 11 1 37}
   995  do_test boundary3-2.5.lt.4 {
   996    db eval {
   997      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
   998       WHERE t2.a=29
   999       ORDER BY t1.rowid DESC
  1000    }
  1001  } {37 1 11 47 63 58 44 21 64 2 55}
  1002  do_test boundary3-2.5.lt.5 {
  1003    db eval {
  1004      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1005       WHERE t2.a=29
  1006       ORDER BY x
  1007    }
  1008  } {55 2 64 21 44 58 63 47 11 1 37}
  1009  do_test boundary3-2.5.lt.10 {
  1010    db eval {
  1011      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  1012       WHERE t2.a=29
  1013       ORDER BY t1.rowid
  1014    }
  1015  } {55 2 64 21 44 58 63 47 11 1 37}
  1016  do_test boundary3-2.5.lt.11 {
  1017    db eval {
  1018      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  1019       WHERE t2.a=29
  1020       ORDER BY t1.rowid DESC
  1021    }
  1022  } {37 1 11 47 63 58 44 21 64 2 55}
  1023  do_test boundary3-2.5.le.1 {
  1024    db eval {
  1025      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1026       WHERE t1.rowid <= -32769 ORDER BY t2.a
  1027    }
  1028  } {1 2 11 21 29 37 44 47 55 58 63 64}
  1029  do_test boundary3-2.5.le.2 {
  1030    db eval {
  1031      SELECT t2.a FROM t2 NATURAL JOIN t1
  1032       WHERE t1.rowid <= -32769 ORDER BY t1.a DESC
  1033    }
  1034  } {64 63 58 55 47 44 37 29 21 11 2 1}
  1035  do_test boundary3-2.5.le.3 {
  1036    db eval {
  1037      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1038       WHERE t2.a=29
  1039       ORDER BY t1.rowid
  1040    }
  1041  } {55 2 64 21 44 58 63 47 11 1 37 29}
  1042  do_test boundary3-2.5.le.4 {
  1043    db eval {
  1044      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1045       WHERE t2.a=29
  1046       ORDER BY t1.rowid DESC
  1047    }
  1048  } {29 37 1 11 47 63 58 44 21 64 2 55}
  1049  do_test boundary3-2.5.le.5 {
  1050    db eval {
  1051      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1052       WHERE t2.a=29
  1053       ORDER BY x
  1054    }
  1055  } {55 2 64 21 44 58 63 47 11 1 37 29}
  1056  do_test boundary3-2.5.le.10 {
  1057    db eval {
  1058      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  1059       WHERE t2.a=29
  1060       ORDER BY t1.rowid
  1061    }
  1062  } {55 2 64 21 44 58 63 47 11 1 37 29}
  1063  do_test boundary3-2.5.le.11 {
  1064    db eval {
  1065      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  1066       WHERE t2.a=29
  1067       ORDER BY t1.rowid DESC
  1068    }
  1069  } {29 37 1 11 47 63 58 44 21 64 2 55}
  1070  do_test boundary3-2.6.1 {
  1071    db eval {
  1072      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-140737488355329 AND t2.a=t1.a
  1073    }
  1074  } {21 ffff7fffffffffff}
  1075  do_test boundary3-2.6.2 {
  1076    db eval {
  1077      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffff7fffffffffff'
  1078    }
  1079  } {-140737488355329 21}
  1080  do_test boundary3-2.6.3 {
  1081    db eval {
  1082      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=21
  1083    }
  1084  } {-140737488355329 ffff7fffffffffff}
  1085  do_test boundary3-2.6.gt.1 {
  1086    db eval {
  1087      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1088       WHERE t1.rowid > -140737488355329 ORDER BY t2.a
  1089    }
  1090  } {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}
  1091  do_test boundary3-2.6.gt.2 {
  1092    db eval {
  1093      SELECT t2.a FROM t2 NATURAL JOIN t1
  1094       WHERE t1.rowid > -140737488355329 ORDER BY t1.a DESC
  1095    }
  1096  } {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}
  1097  do_test boundary3-2.6.gt.3 {
  1098    db eval {
  1099      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1100       WHERE t2.a=21
  1101       ORDER BY t1.rowid
  1102    }
  1103  } {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}
  1104  do_test boundary3-2.6.gt.4 {
  1105    db eval {
  1106      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1107       WHERE t2.a=21
  1108       ORDER BY t1.rowid DESC
  1109    }
  1110  } {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}
  1111  do_test boundary3-2.6.gt.5 {
  1112    db eval {
  1113      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1114       WHERE t2.a=21
  1115       ORDER BY x
  1116    }
  1117  } {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}
  1118  do_test boundary3-2.6.ge.1 {
  1119    db eval {
  1120      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1121       WHERE t1.rowid >= -140737488355329 ORDER BY t2.a
  1122    }
  1123  } {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}
  1124  do_test boundary3-2.6.ge.2 {
  1125    db eval {
  1126      SELECT t2.a FROM t2 NATURAL JOIN t1
  1127       WHERE t1.rowid >= -140737488355329 ORDER BY t1.a DESC
  1128    }
  1129  } {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}
  1130  do_test boundary3-2.6.ge.3 {
  1131    db eval {
  1132      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1133       WHERE t2.a=21
  1134       ORDER BY t1.rowid
  1135    }
  1136  } {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}
  1137  do_test boundary3-2.6.ge.4 {
  1138    db eval {
  1139      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1140       WHERE t2.a=21
  1141       ORDER BY t1.rowid DESC
  1142    }
  1143  } {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}
  1144  do_test boundary3-2.6.ge.5 {
  1145    db eval {
  1146      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1147       WHERE t2.a=21
  1148       ORDER BY x
  1149    }
  1150  } {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}
  1151  do_test boundary3-2.6.lt.1 {
  1152    db eval {
  1153      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1154       WHERE t1.rowid < -140737488355329 ORDER BY t2.a
  1155    }
  1156  } {2 55 64}
  1157  do_test boundary3-2.6.lt.2 {
  1158    db eval {
  1159      SELECT t2.a FROM t2 NATURAL JOIN t1
  1160       WHERE t1.rowid < -140737488355329 ORDER BY t1.a DESC
  1161    }
  1162  } {64 55 2}
  1163  do_test boundary3-2.6.lt.3 {
  1164    db eval {
  1165      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1166       WHERE t2.a=21
  1167       ORDER BY t1.rowid
  1168    }
  1169  } {55 2 64}
  1170  do_test boundary3-2.6.lt.4 {
  1171    db eval {
  1172      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1173       WHERE t2.a=21
  1174       ORDER BY t1.rowid DESC
  1175    }
  1176  } {64 2 55}
  1177  do_test boundary3-2.6.lt.5 {
  1178    db eval {
  1179      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1180       WHERE t2.a=21
  1181       ORDER BY x
  1182    }
  1183  } {55 2 64}
  1184  do_test boundary3-2.6.le.1 {
  1185    db eval {
  1186      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1187       WHERE t1.rowid <= -140737488355329 ORDER BY t2.a
  1188    }
  1189  } {2 21 55 64}
  1190  do_test boundary3-2.6.le.2 {
  1191    db eval {
  1192      SELECT t2.a FROM t2 NATURAL JOIN t1
  1193       WHERE t1.rowid <= -140737488355329 ORDER BY t1.a DESC
  1194    }
  1195  } {64 55 21 2}
  1196  do_test boundary3-2.6.le.3 {
  1197    db eval {
  1198      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1199       WHERE t2.a=21
  1200       ORDER BY t1.rowid
  1201    }
  1202  } {55 2 64 21}
  1203  do_test boundary3-2.6.le.4 {
  1204    db eval {
  1205      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1206       WHERE t2.a=21
  1207       ORDER BY t1.rowid DESC
  1208    }
  1209  } {21 64 2 55}
  1210  do_test boundary3-2.6.le.5 {
  1211    db eval {
  1212      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1213       WHERE t2.a=21
  1214       ORDER BY x
  1215    }
  1216  } {55 2 64 21}
  1217  do_test boundary3-2.7.1 {
  1218    db eval {
  1219      SELECT t1.* FROM t1, t2 WHERE t1.rowid=2 AND t2.a=t1.a
  1220    }
  1221  } {41 0000000000000002}
  1222  do_test boundary3-2.7.2 {
  1223    db eval {
  1224      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000002'
  1225    }
  1226  } {2 41}
  1227  do_test boundary3-2.7.3 {
  1228    db eval {
  1229      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=41
  1230    }
  1231  } {2 0000000000000002}
  1232  do_test boundary3-2.7.gt.1 {
  1233    db eval {
  1234      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1235       WHERE t1.rowid > 2 ORDER BY t2.a
  1236    }
  1237  } {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}
  1238  do_test boundary3-2.7.gt.2 {
  1239    db eval {
  1240      SELECT t2.a FROM t2 NATURAL JOIN t1
  1241       WHERE t1.rowid > 2 ORDER BY t1.a DESC
  1242    }
  1243  } {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}
  1244  do_test boundary3-2.7.gt.3 {
  1245    db eval {
  1246      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1247       WHERE t2.a=41
  1248       ORDER BY t1.rowid
  1249    }
  1250  } {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}
  1251  do_test boundary3-2.7.gt.4 {
  1252    db eval {
  1253      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1254       WHERE t2.a=41
  1255       ORDER BY t1.rowid DESC
  1256    }
  1257  } {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}
  1258  do_test boundary3-2.7.gt.5 {
  1259    db eval {
  1260      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1261       WHERE t2.a=41
  1262       ORDER BY x
  1263    }
  1264  } {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}
  1265  do_test boundary3-2.7.gt.10 {
  1266    db eval {
  1267      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  1268       WHERE t2.a=41
  1269       ORDER BY t1.rowid
  1270    }
  1271  } {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}
  1272  do_test boundary3-2.7.gt.11 {
  1273    db eval {
  1274      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  1275       WHERE t2.a=41
  1276       ORDER BY t1.rowid DESC
  1277    }
  1278  } {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}
  1279  do_test boundary3-2.7.ge.1 {
  1280    db eval {
  1281      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1282       WHERE t1.rowid >= 2 ORDER BY t2.a
  1283    }
  1284  } {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}
  1285  do_test boundary3-2.7.ge.2 {
  1286    db eval {
  1287      SELECT t2.a FROM t2 NATURAL JOIN t1
  1288       WHERE t1.rowid >= 2 ORDER BY t1.a DESC
  1289    }
  1290  } {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}
  1291  do_test boundary3-2.7.ge.3 {
  1292    db eval {
  1293      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1294       WHERE t2.a=41
  1295       ORDER BY t1.rowid
  1296    }
  1297  } {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}
  1298  do_test boundary3-2.7.ge.4 {
  1299    db eval {
  1300      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1301       WHERE t2.a=41
  1302       ORDER BY t1.rowid DESC
  1303    }
  1304  } {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}
  1305  do_test boundary3-2.7.ge.5 {
  1306    db eval {
  1307      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1308       WHERE t2.a=41
  1309       ORDER BY x
  1310    }
  1311  } {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}
  1312  do_test boundary3-2.7.ge.10 {
  1313    db eval {
  1314      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  1315       WHERE t2.a=41
  1316       ORDER BY t1.rowid
  1317    }
  1318  } {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}
  1319  do_test boundary3-2.7.ge.11 {
  1320    db eval {
  1321      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  1322       WHERE t2.a=41
  1323       ORDER BY t1.rowid DESC
  1324    }
  1325  } {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}
  1326  do_test boundary3-2.7.lt.1 {
  1327    db eval {
  1328      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1329       WHERE t1.rowid < 2 ORDER BY t2.a
  1330    }
  1331  } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 60 63 64}
  1332  do_test boundary3-2.7.lt.2 {
  1333    db eval {
  1334      SELECT t2.a FROM t2 NATURAL JOIN t1
  1335       WHERE t1.rowid < 2 ORDER BY t1.a DESC
  1336    }
  1337  } {64 63 60 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
  1338  do_test boundary3-2.7.lt.3 {
  1339    db eval {
  1340      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1341       WHERE t2.a=41
  1342       ORDER BY t1.rowid
  1343    }
  1344  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60}
  1345  do_test boundary3-2.7.lt.4 {
  1346    db eval {
  1347      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1348       WHERE t2.a=41
  1349       ORDER BY t1.rowid DESC
  1350    }
  1351  } {60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  1352  do_test boundary3-2.7.lt.5 {
  1353    db eval {
  1354      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1355       WHERE t2.a=41
  1356       ORDER BY x
  1357    }
  1358  } {59 60 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  1359  do_test boundary3-2.7.lt.10 {
  1360    db eval {
  1361      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  1362       WHERE t2.a=41
  1363       ORDER BY t1.rowid
  1364    }
  1365  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60}
  1366  do_test boundary3-2.7.lt.11 {
  1367    db eval {
  1368      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  1369       WHERE t2.a=41
  1370       ORDER BY t1.rowid DESC
  1371    }
  1372  } {60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  1373  do_test boundary3-2.7.le.1 {
  1374    db eval {
  1375      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1376       WHERE t1.rowid <= 2 ORDER BY t2.a
  1377    }
  1378  } {1 2 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
  1379  do_test boundary3-2.7.le.2 {
  1380    db eval {
  1381      SELECT t2.a FROM t2 NATURAL JOIN t1
  1382       WHERE t1.rowid <= 2 ORDER BY t1.a DESC
  1383    }
  1384  } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 2 1}
  1385  do_test boundary3-2.7.le.3 {
  1386    db eval {
  1387      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1388       WHERE t2.a=41
  1389       ORDER BY t1.rowid
  1390    }
  1391  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41}
  1392  do_test boundary3-2.7.le.4 {
  1393    db eval {
  1394      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1395       WHERE t2.a=41
  1396       ORDER BY t1.rowid DESC
  1397    }
  1398  } {41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  1399  do_test boundary3-2.7.le.5 {
  1400    db eval {
  1401      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1402       WHERE t2.a=41
  1403       ORDER BY x
  1404    }
  1405  } {59 60 41 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  1406  do_test boundary3-2.7.le.10 {
  1407    db eval {
  1408      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  1409       WHERE t2.a=41
  1410       ORDER BY t1.rowid
  1411    }
  1412  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41}
  1413  do_test boundary3-2.7.le.11 {
  1414    db eval {
  1415      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  1416       WHERE t2.a=41
  1417       ORDER BY t1.rowid DESC
  1418    }
  1419  } {41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  1420  do_test boundary3-2.8.1 {
  1421    db eval {
  1422      SELECT t1.* FROM t1, t2 WHERE t1.rowid=4 AND t2.a=t1.a
  1423    }
  1424  } {31 0000000000000004}
  1425  do_test boundary3-2.8.2 {
  1426    db eval {
  1427      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000004'
  1428    }
  1429  } {4 31}
  1430  do_test boundary3-2.8.3 {
  1431    db eval {
  1432      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=31
  1433    }
  1434  } {4 0000000000000004}
  1435  do_test boundary3-2.8.gt.1 {
  1436    db eval {
  1437      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1438       WHERE t1.rowid > 4 ORDER BY t2.a
  1439    }
  1440  } {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}
  1441  do_test boundary3-2.8.gt.2 {
  1442    db eval {
  1443      SELECT t2.a FROM t2 NATURAL JOIN t1
  1444       WHERE t1.rowid > 4 ORDER BY t1.a DESC
  1445    }
  1446  } {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}
  1447  do_test boundary3-2.8.gt.3 {
  1448    db eval {
  1449      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1450       WHERE t2.a=31
  1451       ORDER BY t1.rowid
  1452    }
  1453  } {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}
  1454  do_test boundary3-2.8.gt.4 {
  1455    db eval {
  1456      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1457       WHERE t2.a=31
  1458       ORDER BY t1.rowid DESC
  1459    }
  1460  } {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}
  1461  do_test boundary3-2.8.gt.5 {
  1462    db eval {
  1463      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1464       WHERE t2.a=31
  1465       ORDER BY x
  1466    }
  1467  } {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}
  1468  do_test boundary3-2.8.gt.10 {
  1469    db eval {
  1470      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  1471       WHERE t2.a=31
  1472       ORDER BY t1.rowid
  1473    }
  1474  } {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}
  1475  do_test boundary3-2.8.gt.11 {
  1476    db eval {
  1477      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  1478       WHERE t2.a=31
  1479       ORDER BY t1.rowid DESC
  1480    }
  1481  } {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}
  1482  do_test boundary3-2.8.ge.1 {
  1483    db eval {
  1484      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1485       WHERE t1.rowid >= 4 ORDER BY t2.a
  1486    }
  1487  } {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}
  1488  do_test boundary3-2.8.ge.2 {
  1489    db eval {
  1490      SELECT t2.a FROM t2 NATURAL JOIN t1
  1491       WHERE t1.rowid >= 4 ORDER BY t1.a DESC
  1492    }
  1493  } {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}
  1494  do_test boundary3-2.8.ge.3 {
  1495    db eval {
  1496      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1497       WHERE t2.a=31
  1498       ORDER BY t1.rowid
  1499    }
  1500  } {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}
  1501  do_test boundary3-2.8.ge.4 {
  1502    db eval {
  1503      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1504       WHERE t2.a=31
  1505       ORDER BY t1.rowid DESC
  1506    }
  1507  } {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}
  1508  do_test boundary3-2.8.ge.5 {
  1509    db eval {
  1510      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1511       WHERE t2.a=31
  1512       ORDER BY x
  1513    }
  1514  } {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}
  1515  do_test boundary3-2.8.ge.10 {
  1516    db eval {
  1517      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  1518       WHERE t2.a=31
  1519       ORDER BY t1.rowid
  1520    }
  1521  } {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}
  1522  do_test boundary3-2.8.ge.11 {
  1523    db eval {
  1524      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  1525       WHERE t2.a=31
  1526       ORDER BY t1.rowid DESC
  1527    }
  1528  } {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}
  1529  do_test boundary3-2.8.lt.1 {
  1530    db eval {
  1531      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1532       WHERE t1.rowid < 4 ORDER BY t2.a
  1533    }
  1534  } {1 2 5 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
  1535  do_test boundary3-2.8.lt.2 {
  1536    db eval {
  1537      SELECT t2.a FROM t2 NATURAL JOIN t1
  1538       WHERE t1.rowid < 4 ORDER BY t1.a DESC
  1539    }
  1540  } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 5 2 1}
  1541  do_test boundary3-2.8.lt.3 {
  1542    db eval {
  1543      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1544       WHERE t2.a=31
  1545       ORDER BY t1.rowid
  1546    }
  1547  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5}
  1548  do_test boundary3-2.8.lt.4 {
  1549    db eval {
  1550      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1551       WHERE t2.a=31
  1552       ORDER BY t1.rowid DESC
  1553    }
  1554  } {5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  1555  do_test boundary3-2.8.lt.5 {
  1556    db eval {
  1557      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1558       WHERE t2.a=31
  1559       ORDER BY x
  1560    }
  1561  } {59 60 41 5 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  1562  do_test boundary3-2.8.lt.10 {
  1563    db eval {
  1564      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  1565       WHERE t2.a=31
  1566       ORDER BY t1.rowid
  1567    }
  1568  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5}
  1569  do_test boundary3-2.8.lt.11 {
  1570    db eval {
  1571      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  1572       WHERE t2.a=31
  1573       ORDER BY t1.rowid DESC
  1574    }
  1575  } {5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  1576  do_test boundary3-2.8.le.1 {
  1577    db eval {
  1578      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1579       WHERE t1.rowid <= 4 ORDER BY t2.a
  1580    }
  1581  } {1 2 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
  1582  do_test boundary3-2.8.le.2 {
  1583    db eval {
  1584      SELECT t2.a FROM t2 NATURAL JOIN t1
  1585       WHERE t1.rowid <= 4 ORDER BY t1.a DESC
  1586    }
  1587  } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 2 1}
  1588  do_test boundary3-2.8.le.3 {
  1589    db eval {
  1590      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1591       WHERE t2.a=31
  1592       ORDER BY t1.rowid
  1593    }
  1594  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31}
  1595  do_test boundary3-2.8.le.4 {
  1596    db eval {
  1597      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1598       WHERE t2.a=31
  1599       ORDER BY t1.rowid DESC
  1600    }
  1601  } {31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  1602  do_test boundary3-2.8.le.5 {
  1603    db eval {
  1604      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1605       WHERE t2.a=31
  1606       ORDER BY x
  1607    }
  1608  } {59 60 41 5 31 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  1609  do_test boundary3-2.8.le.10 {
  1610    db eval {
  1611      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  1612       WHERE t2.a=31
  1613       ORDER BY t1.rowid
  1614    }
  1615  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31}
  1616  do_test boundary3-2.8.le.11 {
  1617    db eval {
  1618      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  1619       WHERE t2.a=31
  1620       ORDER BY t1.rowid DESC
  1621    }
  1622  } {31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  1623  do_test boundary3-2.9.1 {
  1624    db eval {
  1625      SELECT t1.* FROM t1, t2 WHERE t1.rowid=562949953421311 AND t2.a=t1.a
  1626    }
  1627  } {13 0001ffffffffffff}
  1628  do_test boundary3-2.9.2 {
  1629    db eval {
  1630      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0001ffffffffffff'
  1631    }
  1632  } {562949953421311 13}
  1633  do_test boundary3-2.9.3 {
  1634    db eval {
  1635      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=13
  1636    }
  1637  } {562949953421311 0001ffffffffffff}
  1638  do_test boundary3-2.9.gt.1 {
  1639    db eval {
  1640      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1641       WHERE t1.rowid > 562949953421311 ORDER BY t2.a
  1642    }
  1643  } {3 17 27 28 43 45}
  1644  do_test boundary3-2.9.gt.2 {
  1645    db eval {
  1646      SELECT t2.a FROM t2 NATURAL JOIN t1
  1647       WHERE t1.rowid > 562949953421311 ORDER BY t1.a DESC
  1648    }
  1649  } {45 43 28 27 17 3}
  1650  do_test boundary3-2.9.gt.3 {
  1651    db eval {
  1652      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1653       WHERE t2.a=13
  1654       ORDER BY t1.rowid
  1655    }
  1656  } {43 27 45 17 28 3}
  1657  do_test boundary3-2.9.gt.4 {
  1658    db eval {
  1659      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1660       WHERE t2.a=13
  1661       ORDER BY t1.rowid DESC
  1662    }
  1663  } {3 28 17 45 27 43}
  1664  do_test boundary3-2.9.gt.5 {
  1665    db eval {
  1666      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1667       WHERE t2.a=13
  1668       ORDER BY x
  1669    }
  1670  } {43 27 45 17 28 3}
  1671  do_test boundary3-2.9.ge.1 {
  1672    db eval {
  1673      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1674       WHERE t1.rowid >= 562949953421311 ORDER BY t2.a
  1675    }
  1676  } {3 13 17 27 28 43 45}
  1677  do_test boundary3-2.9.ge.2 {
  1678    db eval {
  1679      SELECT t2.a FROM t2 NATURAL JOIN t1
  1680       WHERE t1.rowid >= 562949953421311 ORDER BY t1.a DESC
  1681    }
  1682  } {45 43 28 27 17 13 3}
  1683  do_test boundary3-2.9.ge.3 {
  1684    db eval {
  1685      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1686       WHERE t2.a=13
  1687       ORDER BY t1.rowid
  1688    }
  1689  } {13 43 27 45 17 28 3}
  1690  do_test boundary3-2.9.ge.4 {
  1691    db eval {
  1692      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1693       WHERE t2.a=13
  1694       ORDER BY t1.rowid DESC
  1695    }
  1696  } {3 28 17 45 27 43 13}
  1697  do_test boundary3-2.9.ge.5 {
  1698    db eval {
  1699      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1700       WHERE t2.a=13
  1701       ORDER BY x
  1702    }
  1703  } {13 43 27 45 17 28 3}
  1704  do_test boundary3-2.9.lt.1 {
  1705    db eval {
  1706      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1707       WHERE t1.rowid < 562949953421311 ORDER BY t2.a
  1708    }
  1709  } {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}
  1710  do_test boundary3-2.9.lt.2 {
  1711    db eval {
  1712      SELECT t2.a FROM t2 NATURAL JOIN t1
  1713       WHERE t1.rowid < 562949953421311 ORDER BY t1.a DESC
  1714    }
  1715  } {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}
  1716  do_test boundary3-2.9.lt.3 {
  1717    db eval {
  1718      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1719       WHERE t2.a=13
  1720       ORDER BY t1.rowid
  1721    }
  1722  } {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}
  1723  do_test boundary3-2.9.lt.4 {
  1724    db eval {
  1725      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1726       WHERE t2.a=13
  1727       ORDER BY t1.rowid DESC
  1728    }
  1729  } {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}
  1730  do_test boundary3-2.9.lt.5 {
  1731    db eval {
  1732      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1733       WHERE t2.a=13
  1734       ORDER BY x
  1735    }
  1736  } {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}
  1737  do_test boundary3-2.9.le.1 {
  1738    db eval {
  1739      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1740       WHERE t1.rowid <= 562949953421311 ORDER BY t2.a
  1741    }
  1742  } {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}
  1743  do_test boundary3-2.9.le.2 {
  1744    db eval {
  1745      SELECT t2.a FROM t2 NATURAL JOIN t1
  1746       WHERE t1.rowid <= 562949953421311 ORDER BY t1.a DESC
  1747    }
  1748  } {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}
  1749  do_test boundary3-2.9.le.3 {
  1750    db eval {
  1751      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1752       WHERE t2.a=13
  1753       ORDER BY t1.rowid
  1754    }
  1755  } {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}
  1756  do_test boundary3-2.9.le.4 {
  1757    db eval {
  1758      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1759       WHERE t2.a=13
  1760       ORDER BY t1.rowid DESC
  1761    }
  1762  } {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}
  1763  do_test boundary3-2.9.le.5 {
  1764    db eval {
  1765      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1766       WHERE t2.a=13
  1767       ORDER BY x
  1768    }
  1769  } {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}
  1770  do_test boundary3-2.10.1 {
  1771    db eval {
  1772      SELECT t1.* FROM t1, t2 WHERE t1.rowid=256 AND t2.a=t1.a
  1773    }
  1774  } {61 0000000000000100}
  1775  do_test boundary3-2.10.2 {
  1776    db eval {
  1777      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000100'
  1778    }
  1779  } {256 61}
  1780  do_test boundary3-2.10.3 {
  1781    db eval {
  1782      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=61
  1783    }
  1784  } {256 0000000000000100}
  1785  do_test boundary3-2.10.gt.1 {
  1786    db eval {
  1787      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1788       WHERE t1.rowid > 256 ORDER BY t2.a
  1789    }
  1790  } {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}
  1791  do_test boundary3-2.10.gt.2 {
  1792    db eval {
  1793      SELECT t2.a FROM t2 NATURAL JOIN t1
  1794       WHERE t1.rowid > 256 ORDER BY t1.a DESC
  1795    }
  1796  } {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}
  1797  do_test boundary3-2.10.gt.3 {
  1798    db eval {
  1799      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1800       WHERE t2.a=61
  1801       ORDER BY t1.rowid
  1802    }
  1803  } {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}
  1804  do_test boundary3-2.10.gt.4 {
  1805    db eval {
  1806      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1807       WHERE t2.a=61
  1808       ORDER BY t1.rowid DESC
  1809    }
  1810  } {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}
  1811  do_test boundary3-2.10.gt.5 {
  1812    db eval {
  1813      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  1814       WHERE t2.a=61
  1815       ORDER BY x
  1816    }
  1817  } {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}
  1818  do_test boundary3-2.10.gt.10 {
  1819    db eval {
  1820      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  1821       WHERE t2.a=61
  1822       ORDER BY t1.rowid
  1823    }
  1824  } {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}
  1825  do_test boundary3-2.10.gt.11 {
  1826    db eval {
  1827      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  1828       WHERE t2.a=61
  1829       ORDER BY t1.rowid DESC
  1830    }
  1831  } {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}
  1832  do_test boundary3-2.10.ge.1 {
  1833    db eval {
  1834      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1835       WHERE t1.rowid >= 256 ORDER BY t2.a
  1836    }
  1837  } {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}
  1838  do_test boundary3-2.10.ge.2 {
  1839    db eval {
  1840      SELECT t2.a FROM t2 NATURAL JOIN t1
  1841       WHERE t1.rowid >= 256 ORDER BY t1.a DESC
  1842    }
  1843  } {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}
  1844  do_test boundary3-2.10.ge.3 {
  1845    db eval {
  1846      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1847       WHERE t2.a=61
  1848       ORDER BY t1.rowid
  1849    }
  1850  } {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}
  1851  do_test boundary3-2.10.ge.4 {
  1852    db eval {
  1853      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1854       WHERE t2.a=61
  1855       ORDER BY t1.rowid DESC
  1856    }
  1857  } {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}
  1858  do_test boundary3-2.10.ge.5 {
  1859    db eval {
  1860      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  1861       WHERE t2.a=61
  1862       ORDER BY x
  1863    }
  1864  } {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}
  1865  do_test boundary3-2.10.ge.10 {
  1866    db eval {
  1867      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  1868       WHERE t2.a=61
  1869       ORDER BY t1.rowid
  1870    }
  1871  } {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}
  1872  do_test boundary3-2.10.ge.11 {
  1873    db eval {
  1874      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  1875       WHERE t2.a=61
  1876       ORDER BY t1.rowid DESC
  1877    }
  1878  } {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}
  1879  do_test boundary3-2.10.lt.1 {
  1880    db eval {
  1881      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1882       WHERE t1.rowid < 256 ORDER BY t2.a
  1883    }
  1884  } {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}
  1885  do_test boundary3-2.10.lt.2 {
  1886    db eval {
  1887      SELECT t2.a FROM t2 NATURAL JOIN t1
  1888       WHERE t1.rowid < 256 ORDER BY t1.a DESC
  1889    }
  1890  } {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}
  1891  do_test boundary3-2.10.lt.3 {
  1892    db eval {
  1893      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1894       WHERE t2.a=61
  1895       ORDER BY t1.rowid
  1896    }
  1897  } {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}
  1898  do_test boundary3-2.10.lt.4 {
  1899    db eval {
  1900      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1901       WHERE t2.a=61
  1902       ORDER BY t1.rowid DESC
  1903    }
  1904  } {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}
  1905  do_test boundary3-2.10.lt.5 {
  1906    db eval {
  1907      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  1908       WHERE t2.a=61
  1909       ORDER BY x
  1910    }
  1911  } {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}
  1912  do_test boundary3-2.10.lt.10 {
  1913    db eval {
  1914      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  1915       WHERE t2.a=61
  1916       ORDER BY t1.rowid
  1917    }
  1918  } {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}
  1919  do_test boundary3-2.10.lt.11 {
  1920    db eval {
  1921      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  1922       WHERE t2.a=61
  1923       ORDER BY t1.rowid DESC
  1924    }
  1925  } {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}
  1926  do_test boundary3-2.10.le.1 {
  1927    db eval {
  1928      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1929       WHERE t1.rowid <= 256 ORDER BY t2.a
  1930    }
  1931  } {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}
  1932  do_test boundary3-2.10.le.2 {
  1933    db eval {
  1934      SELECT t2.a FROM t2 NATURAL JOIN t1
  1935       WHERE t1.rowid <= 256 ORDER BY t1.a DESC
  1936    }
  1937  } {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}
  1938  do_test boundary3-2.10.le.3 {
  1939    db eval {
  1940      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1941       WHERE t2.a=61
  1942       ORDER BY t1.rowid
  1943    }
  1944  } {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}
  1945  do_test boundary3-2.10.le.4 {
  1946    db eval {
  1947      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1948       WHERE t2.a=61
  1949       ORDER BY t1.rowid DESC
  1950    }
  1951  } {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}
  1952  do_test boundary3-2.10.le.5 {
  1953    db eval {
  1954      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  1955       WHERE t2.a=61
  1956       ORDER BY x
  1957    }
  1958  } {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}
  1959  do_test boundary3-2.10.le.10 {
  1960    db eval {
  1961      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  1962       WHERE t2.a=61
  1963       ORDER BY t1.rowid
  1964    }
  1965  } {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}
  1966  do_test boundary3-2.10.le.11 {
  1967    db eval {
  1968      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  1969       WHERE t2.a=61
  1970       ORDER BY t1.rowid DESC
  1971    }
  1972  } {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}
  1973  do_test boundary3-2.11.1 {
  1974    db eval {
  1975      SELECT t1.* FROM t1, t2 WHERE t1.rowid=34359738368 AND t2.a=t1.a
  1976    }
  1977  } {22 0000000800000000}
  1978  do_test boundary3-2.11.2 {
  1979    db eval {
  1980      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000800000000'
  1981    }
  1982  } {34359738368 22}
  1983  do_test boundary3-2.11.3 {
  1984    db eval {
  1985      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=22
  1986    }
  1987  } {34359738368 0000000800000000}
  1988  do_test boundary3-2.11.gt.1 {
  1989    db eval {
  1990      SELECT t2.a FROM t1 JOIN t2 USING(a)
  1991       WHERE t1.rowid > 34359738368 ORDER BY t2.a
  1992    }
  1993  } {3 7 10 13 17 19 25 26 27 28 34 35 43 45 46 56 57}
  1994  do_test boundary3-2.11.gt.2 {
  1995    db eval {
  1996      SELECT t2.a FROM t2 NATURAL JOIN t1
  1997       WHERE t1.rowid > 34359738368 ORDER BY t1.a DESC
  1998    }
  1999  } {57 56 46 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
  2000  do_test boundary3-2.11.gt.3 {
  2001    db eval {
  2002      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2003       WHERE t2.a=22
  2004       ORDER BY t1.rowid
  2005    }
  2006  } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2007  do_test boundary3-2.11.gt.4 {
  2008    db eval {
  2009      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2010       WHERE t2.a=22
  2011       ORDER BY t1.rowid DESC
  2012    }
  2013  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46}
  2014  do_test boundary3-2.11.gt.5 {
  2015    db eval {
  2016      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2017       WHERE t2.a=22
  2018       ORDER BY x
  2019    }
  2020  } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2021  do_test boundary3-2.11.gt.10 {
  2022    db eval {
  2023      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  2024       WHERE t2.a=22
  2025       ORDER BY t1.rowid
  2026    }
  2027  } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2028  do_test boundary3-2.11.gt.11 {
  2029    db eval {
  2030      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  2031       WHERE t2.a=22
  2032       ORDER BY t1.rowid DESC
  2033    }
  2034  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46}
  2035  do_test boundary3-2.11.ge.1 {
  2036    db eval {
  2037      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2038       WHERE t1.rowid >= 34359738368 ORDER BY t2.a
  2039    }
  2040  } {3 7 10 13 17 19 22 25 26 27 28 34 35 43 45 46 56 57}
  2041  do_test boundary3-2.11.ge.2 {
  2042    db eval {
  2043      SELECT t2.a FROM t2 NATURAL JOIN t1
  2044       WHERE t1.rowid >= 34359738368 ORDER BY t1.a DESC
  2045    }
  2046  } {57 56 46 45 43 35 34 28 27 26 25 22 19 17 13 10 7 3}
  2047  do_test boundary3-2.11.ge.3 {
  2048    db eval {
  2049      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2050       WHERE t2.a=22
  2051       ORDER BY t1.rowid
  2052    }
  2053  } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2054  do_test boundary3-2.11.ge.4 {
  2055    db eval {
  2056      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2057       WHERE t2.a=22
  2058       ORDER BY t1.rowid DESC
  2059    }
  2060  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22}
  2061  do_test boundary3-2.11.ge.5 {
  2062    db eval {
  2063      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2064       WHERE t2.a=22
  2065       ORDER BY x
  2066    }
  2067  } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2068  do_test boundary3-2.11.ge.10 {
  2069    db eval {
  2070      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  2071       WHERE t2.a=22
  2072       ORDER BY t1.rowid
  2073    }
  2074  } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2075  do_test boundary3-2.11.ge.11 {
  2076    db eval {
  2077      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  2078       WHERE t2.a=22
  2079       ORDER BY t1.rowid DESC
  2080    }
  2081  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22}
  2082  do_test boundary3-2.11.lt.1 {
  2083    db eval {
  2084      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2085       WHERE t1.rowid < 34359738368 ORDER BY t2.a
  2086    }
  2087  } {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}
  2088  do_test boundary3-2.11.lt.2 {
  2089    db eval {
  2090      SELECT t2.a FROM t2 NATURAL JOIN t1
  2091       WHERE t1.rowid < 34359738368 ORDER BY t1.a DESC
  2092    }
  2093  } {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}
  2094  do_test boundary3-2.11.lt.3 {
  2095    db eval {
  2096      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2097       WHERE t2.a=22
  2098       ORDER BY t1.rowid
  2099    }
  2100  } {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}
  2101  do_test boundary3-2.11.lt.4 {
  2102    db eval {
  2103      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2104       WHERE t2.a=22
  2105       ORDER BY t1.rowid DESC
  2106    }
  2107  } {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}
  2108  do_test boundary3-2.11.lt.5 {
  2109    db eval {
  2110      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2111       WHERE t2.a=22
  2112       ORDER BY x
  2113    }
  2114  } {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}
  2115  do_test boundary3-2.11.lt.10 {
  2116    db eval {
  2117      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  2118       WHERE t2.a=22
  2119       ORDER BY t1.rowid
  2120    }
  2121  } {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}
  2122  do_test boundary3-2.11.lt.11 {
  2123    db eval {
  2124      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  2125       WHERE t2.a=22
  2126       ORDER BY t1.rowid DESC
  2127    }
  2128  } {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}
  2129  do_test boundary3-2.11.le.1 {
  2130    db eval {
  2131      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2132       WHERE t1.rowid <= 34359738368 ORDER BY t2.a
  2133    }
  2134  } {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}
  2135  do_test boundary3-2.11.le.2 {
  2136    db eval {
  2137      SELECT t2.a FROM t2 NATURAL JOIN t1
  2138       WHERE t1.rowid <= 34359738368 ORDER BY t1.a DESC
  2139    }
  2140  } {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}
  2141  do_test boundary3-2.11.le.3 {
  2142    db eval {
  2143      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2144       WHERE t2.a=22
  2145       ORDER BY t1.rowid
  2146    }
  2147  } {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}
  2148  do_test boundary3-2.11.le.4 {
  2149    db eval {
  2150      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2151       WHERE t2.a=22
  2152       ORDER BY t1.rowid DESC
  2153    }
  2154  } {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}
  2155  do_test boundary3-2.11.le.5 {
  2156    db eval {
  2157      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2158       WHERE t2.a=22
  2159       ORDER BY x
  2160    }
  2161  } {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}
  2162  do_test boundary3-2.11.le.10 {
  2163    db eval {
  2164      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  2165       WHERE t2.a=22
  2166       ORDER BY t1.rowid
  2167    }
  2168  } {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}
  2169  do_test boundary3-2.11.le.11 {
  2170    db eval {
  2171      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  2172       WHERE t2.a=22
  2173       ORDER BY t1.rowid DESC
  2174    }
  2175  } {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}
  2176  do_test boundary3-2.12.1 {
  2177    db eval {
  2178      SELECT t1.* FROM t1, t2 WHERE t1.rowid=65536 AND t2.a=t1.a
  2179    }
  2180  } {62 0000000000010000}
  2181  do_test boundary3-2.12.2 {
  2182    db eval {
  2183      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000010000'
  2184    }
  2185  } {65536 62}
  2186  do_test boundary3-2.12.3 {
  2187    db eval {
  2188      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=62
  2189    }
  2190  } {65536 0000000000010000}
  2191  do_test boundary3-2.12.gt.1 {
  2192    db eval {
  2193      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2194       WHERE t1.rowid > 65536 ORDER BY t2.a
  2195    }
  2196  } {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}
  2197  do_test boundary3-2.12.gt.2 {
  2198    db eval {
  2199      SELECT t2.a FROM t2 NATURAL JOIN t1
  2200       WHERE t1.rowid > 65536 ORDER BY t1.a DESC
  2201    }
  2202  } {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}
  2203  do_test boundary3-2.12.gt.3 {
  2204    db eval {
  2205      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2206       WHERE t2.a=62
  2207       ORDER BY t1.rowid
  2208    }
  2209  } {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}
  2210  do_test boundary3-2.12.gt.4 {
  2211    db eval {
  2212      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2213       WHERE t2.a=62
  2214       ORDER BY t1.rowid DESC
  2215    }
  2216  } {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}
  2217  do_test boundary3-2.12.gt.5 {
  2218    db eval {
  2219      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2220       WHERE t2.a=62
  2221       ORDER BY x
  2222    }
  2223  } {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}
  2224  do_test boundary3-2.12.gt.10 {
  2225    db eval {
  2226      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  2227       WHERE t2.a=62
  2228       ORDER BY t1.rowid
  2229    }
  2230  } {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}
  2231  do_test boundary3-2.12.gt.11 {
  2232    db eval {
  2233      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  2234       WHERE t2.a=62
  2235       ORDER BY t1.rowid DESC
  2236    }
  2237  } {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}
  2238  do_test boundary3-2.12.ge.1 {
  2239    db eval {
  2240      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2241       WHERE t1.rowid >= 65536 ORDER BY t2.a
  2242    }
  2243  } {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}
  2244  do_test boundary3-2.12.ge.2 {
  2245    db eval {
  2246      SELECT t2.a FROM t2 NATURAL JOIN t1
  2247       WHERE t1.rowid >= 65536 ORDER BY t1.a DESC
  2248    }
  2249  } {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}
  2250  do_test boundary3-2.12.ge.3 {
  2251    db eval {
  2252      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2253       WHERE t2.a=62
  2254       ORDER BY t1.rowid
  2255    }
  2256  } {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}
  2257  do_test boundary3-2.12.ge.4 {
  2258    db eval {
  2259      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2260       WHERE t2.a=62
  2261       ORDER BY t1.rowid DESC
  2262    }
  2263  } {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}
  2264  do_test boundary3-2.12.ge.5 {
  2265    db eval {
  2266      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2267       WHERE t2.a=62
  2268       ORDER BY x
  2269    }
  2270  } {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}
  2271  do_test boundary3-2.12.ge.10 {
  2272    db eval {
  2273      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  2274       WHERE t2.a=62
  2275       ORDER BY t1.rowid
  2276    }
  2277  } {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}
  2278  do_test boundary3-2.12.ge.11 {
  2279    db eval {
  2280      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  2281       WHERE t2.a=62
  2282       ORDER BY t1.rowid DESC
  2283    }
  2284  } {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}
  2285  do_test boundary3-2.12.lt.1 {
  2286    db eval {
  2287      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2288       WHERE t1.rowid < 65536 ORDER BY t2.a
  2289    }
  2290  } {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}
  2291  do_test boundary3-2.12.lt.2 {
  2292    db eval {
  2293      SELECT t2.a FROM t2 NATURAL JOIN t1
  2294       WHERE t1.rowid < 65536 ORDER BY t1.a DESC
  2295    }
  2296  } {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}
  2297  do_test boundary3-2.12.lt.3 {
  2298    db eval {
  2299      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2300       WHERE t2.a=62
  2301       ORDER BY t1.rowid
  2302    }
  2303  } {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}
  2304  do_test boundary3-2.12.lt.4 {
  2305    db eval {
  2306      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2307       WHERE t2.a=62
  2308       ORDER BY t1.rowid DESC
  2309    }
  2310  } {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}
  2311  do_test boundary3-2.12.lt.5 {
  2312    db eval {
  2313      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2314       WHERE t2.a=62
  2315       ORDER BY x
  2316    }
  2317  } {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}
  2318  do_test boundary3-2.12.lt.10 {
  2319    db eval {
  2320      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  2321       WHERE t2.a=62
  2322       ORDER BY t1.rowid
  2323    }
  2324  } {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}
  2325  do_test boundary3-2.12.lt.11 {
  2326    db eval {
  2327      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  2328       WHERE t2.a=62
  2329       ORDER BY t1.rowid DESC
  2330    }
  2331  } {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}
  2332  do_test boundary3-2.12.le.1 {
  2333    db eval {
  2334      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2335       WHERE t1.rowid <= 65536 ORDER BY t2.a
  2336    }
  2337  } {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}
  2338  do_test boundary3-2.12.le.2 {
  2339    db eval {
  2340      SELECT t2.a FROM t2 NATURAL JOIN t1
  2341       WHERE t1.rowid <= 65536 ORDER BY t1.a DESC
  2342    }
  2343  } {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}
  2344  do_test boundary3-2.12.le.3 {
  2345    db eval {
  2346      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2347       WHERE t2.a=62
  2348       ORDER BY t1.rowid
  2349    }
  2350  } {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}
  2351  do_test boundary3-2.12.le.4 {
  2352    db eval {
  2353      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2354       WHERE t2.a=62
  2355       ORDER BY t1.rowid DESC
  2356    }
  2357  } {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}
  2358  do_test boundary3-2.12.le.5 {
  2359    db eval {
  2360      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2361       WHERE t2.a=62
  2362       ORDER BY x
  2363    }
  2364  } {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}
  2365  do_test boundary3-2.12.le.10 {
  2366    db eval {
  2367      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  2368       WHERE t2.a=62
  2369       ORDER BY t1.rowid
  2370    }
  2371  } {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}
  2372  do_test boundary3-2.12.le.11 {
  2373    db eval {
  2374      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  2375       WHERE t2.a=62
  2376       ORDER BY t1.rowid DESC
  2377    }
  2378  } {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}
  2379  do_test boundary3-2.13.1 {
  2380    db eval {
  2381      SELECT t1.* FROM t1, t2 WHERE t1.rowid=268435456 AND t2.a=t1.a
  2382    }
  2383  } {40 0000000010000000}
  2384  do_test boundary3-2.13.2 {
  2385    db eval {
  2386      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000010000000'
  2387    }
  2388  } {268435456 40}
  2389  do_test boundary3-2.13.3 {
  2390    db eval {
  2391      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=40
  2392    }
  2393  } {268435456 0000000010000000}
  2394  do_test boundary3-2.13.gt.1 {
  2395    db eval {
  2396      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2397       WHERE t1.rowid > 268435456 ORDER BY t2.a
  2398    }
  2399  } {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
  2400  do_test boundary3-2.13.gt.2 {
  2401    db eval {
  2402      SELECT t2.a FROM t2 NATURAL JOIN t1
  2403       WHERE t1.rowid > 268435456 ORDER BY t1.a DESC
  2404    }
  2405  } {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
  2406  do_test boundary3-2.13.gt.3 {
  2407    db eval {
  2408      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2409       WHERE t2.a=40
  2410       ORDER BY t1.rowid
  2411    }
  2412  } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2413  do_test boundary3-2.13.gt.4 {
  2414    db eval {
  2415      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2416       WHERE t2.a=40
  2417       ORDER BY t1.rowid DESC
  2418    }
  2419  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20}
  2420  do_test boundary3-2.13.gt.5 {
  2421    db eval {
  2422      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2423       WHERE t2.a=40
  2424       ORDER BY x
  2425    }
  2426  } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2427  do_test boundary3-2.13.gt.10 {
  2428    db eval {
  2429      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  2430       WHERE t2.a=40
  2431       ORDER BY t1.rowid
  2432    }
  2433  } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2434  do_test boundary3-2.13.gt.11 {
  2435    db eval {
  2436      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  2437       WHERE t2.a=40
  2438       ORDER BY t1.rowid DESC
  2439    }
  2440  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20}
  2441  do_test boundary3-2.13.ge.1 {
  2442    db eval {
  2443      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2444       WHERE t1.rowid >= 268435456 ORDER BY t2.a
  2445    }
  2446  } {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
  2447  do_test boundary3-2.13.ge.2 {
  2448    db eval {
  2449      SELECT t2.a FROM t2 NATURAL JOIN t1
  2450       WHERE t1.rowid >= 268435456 ORDER BY t1.a DESC
  2451    }
  2452  } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
  2453  do_test boundary3-2.13.ge.3 {
  2454    db eval {
  2455      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2456       WHERE t2.a=40
  2457       ORDER BY t1.rowid
  2458    }
  2459  } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2460  do_test boundary3-2.13.ge.4 {
  2461    db eval {
  2462      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2463       WHERE t2.a=40
  2464       ORDER BY t1.rowid DESC
  2465    }
  2466  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40}
  2467  do_test boundary3-2.13.ge.5 {
  2468    db eval {
  2469      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2470       WHERE t2.a=40
  2471       ORDER BY x
  2472    }
  2473  } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2474  do_test boundary3-2.13.ge.10 {
  2475    db eval {
  2476      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  2477       WHERE t2.a=40
  2478       ORDER BY t1.rowid
  2479    }
  2480  } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2481  do_test boundary3-2.13.ge.11 {
  2482    db eval {
  2483      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  2484       WHERE t2.a=40
  2485       ORDER BY t1.rowid DESC
  2486    }
  2487  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40}
  2488  do_test boundary3-2.13.lt.1 {
  2489    db eval {
  2490      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2491       WHERE t1.rowid < 268435456 ORDER BY t2.a
  2492    }
  2493  } {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}
  2494  do_test boundary3-2.13.lt.2 {
  2495    db eval {
  2496      SELECT t2.a FROM t2 NATURAL JOIN t1
  2497       WHERE t1.rowid < 268435456 ORDER BY t1.a DESC
  2498    }
  2499  } {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}
  2500  do_test boundary3-2.13.lt.3 {
  2501    db eval {
  2502      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2503       WHERE t2.a=40
  2504       ORDER BY t1.rowid
  2505    }
  2506  } {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}
  2507  do_test boundary3-2.13.lt.4 {
  2508    db eval {
  2509      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2510       WHERE t2.a=40
  2511       ORDER BY t1.rowid DESC
  2512    }
  2513  } {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}
  2514  do_test boundary3-2.13.lt.5 {
  2515    db eval {
  2516      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2517       WHERE t2.a=40
  2518       ORDER BY x
  2519    }
  2520  } {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}
  2521  do_test boundary3-2.13.lt.10 {
  2522    db eval {
  2523      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  2524       WHERE t2.a=40
  2525       ORDER BY t1.rowid
  2526    }
  2527  } {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}
  2528  do_test boundary3-2.13.lt.11 {
  2529    db eval {
  2530      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  2531       WHERE t2.a=40
  2532       ORDER BY t1.rowid DESC
  2533    }
  2534  } {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}
  2535  do_test boundary3-2.13.le.1 {
  2536    db eval {
  2537      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2538       WHERE t1.rowid <= 268435456 ORDER BY t2.a
  2539    }
  2540  } {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}
  2541  do_test boundary3-2.13.le.2 {
  2542    db eval {
  2543      SELECT t2.a FROM t2 NATURAL JOIN t1
  2544       WHERE t1.rowid <= 268435456 ORDER BY t1.a DESC
  2545    }
  2546  } {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}
  2547  do_test boundary3-2.13.le.3 {
  2548    db eval {
  2549      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2550       WHERE t2.a=40
  2551       ORDER BY t1.rowid
  2552    }
  2553  } {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}
  2554  do_test boundary3-2.13.le.4 {
  2555    db eval {
  2556      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2557       WHERE t2.a=40
  2558       ORDER BY t1.rowid DESC
  2559    }
  2560  } {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}
  2561  do_test boundary3-2.13.le.5 {
  2562    db eval {
  2563      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2564       WHERE t2.a=40
  2565       ORDER BY x
  2566    }
  2567  } {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}
  2568  do_test boundary3-2.13.le.10 {
  2569    db eval {
  2570      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  2571       WHERE t2.a=40
  2572       ORDER BY t1.rowid
  2573    }
  2574  } {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}
  2575  do_test boundary3-2.13.le.11 {
  2576    db eval {
  2577      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  2578       WHERE t2.a=40
  2579       ORDER BY t1.rowid DESC
  2580    }
  2581  } {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}
  2582  do_test boundary3-2.14.1 {
  2583    db eval {
  2584      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-140737488355328 AND t2.a=t1.a
  2585    }
  2586  } {44 ffff800000000000}
  2587  do_test boundary3-2.14.2 {
  2588    db eval {
  2589      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffff800000000000'
  2590    }
  2591  } {-140737488355328 44}
  2592  do_test boundary3-2.14.3 {
  2593    db eval {
  2594      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=44
  2595    }
  2596  } {-140737488355328 ffff800000000000}
  2597  do_test boundary3-2.14.gt.1 {
  2598    db eval {
  2599      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2600       WHERE t1.rowid > -140737488355328 ORDER BY t2.a
  2601    }
  2602  } {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}
  2603  do_test boundary3-2.14.gt.2 {
  2604    db eval {
  2605      SELECT t2.a FROM t2 NATURAL JOIN t1
  2606       WHERE t1.rowid > -140737488355328 ORDER BY t1.a DESC
  2607    }
  2608  } {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}
  2609  do_test boundary3-2.14.gt.3 {
  2610    db eval {
  2611      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2612       WHERE t2.a=44
  2613       ORDER BY t1.rowid
  2614    }
  2615  } {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}
  2616  do_test boundary3-2.14.gt.4 {
  2617    db eval {
  2618      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2619       WHERE t2.a=44
  2620       ORDER BY t1.rowid DESC
  2621    }
  2622  } {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}
  2623  do_test boundary3-2.14.gt.5 {
  2624    db eval {
  2625      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2626       WHERE t2.a=44
  2627       ORDER BY x
  2628    }
  2629  } {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}
  2630  do_test boundary3-2.14.ge.1 {
  2631    db eval {
  2632      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2633       WHERE t1.rowid >= -140737488355328 ORDER BY t2.a
  2634    }
  2635  } {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}
  2636  do_test boundary3-2.14.ge.2 {
  2637    db eval {
  2638      SELECT t2.a FROM t2 NATURAL JOIN t1
  2639       WHERE t1.rowid >= -140737488355328 ORDER BY t1.a DESC
  2640    }
  2641  } {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}
  2642  do_test boundary3-2.14.ge.3 {
  2643    db eval {
  2644      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2645       WHERE t2.a=44
  2646       ORDER BY t1.rowid
  2647    }
  2648  } {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}
  2649  do_test boundary3-2.14.ge.4 {
  2650    db eval {
  2651      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2652       WHERE t2.a=44
  2653       ORDER BY t1.rowid DESC
  2654    }
  2655  } {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}
  2656  do_test boundary3-2.14.ge.5 {
  2657    db eval {
  2658      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2659       WHERE t2.a=44
  2660       ORDER BY x
  2661    }
  2662  } {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}
  2663  do_test boundary3-2.14.lt.1 {
  2664    db eval {
  2665      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2666       WHERE t1.rowid < -140737488355328 ORDER BY t2.a
  2667    }
  2668  } {2 21 55 64}
  2669  do_test boundary3-2.14.lt.2 {
  2670    db eval {
  2671      SELECT t2.a FROM t2 NATURAL JOIN t1
  2672       WHERE t1.rowid < -140737488355328 ORDER BY t1.a DESC
  2673    }
  2674  } {64 55 21 2}
  2675  do_test boundary3-2.14.lt.3 {
  2676    db eval {
  2677      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2678       WHERE t2.a=44
  2679       ORDER BY t1.rowid
  2680    }
  2681  } {55 2 64 21}
  2682  do_test boundary3-2.14.lt.4 {
  2683    db eval {
  2684      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2685       WHERE t2.a=44
  2686       ORDER BY t1.rowid DESC
  2687    }
  2688  } {21 64 2 55}
  2689  do_test boundary3-2.14.lt.5 {
  2690    db eval {
  2691      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2692       WHERE t2.a=44
  2693       ORDER BY x
  2694    }
  2695  } {55 2 64 21}
  2696  do_test boundary3-2.14.le.1 {
  2697    db eval {
  2698      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2699       WHERE t1.rowid <= -140737488355328 ORDER BY t2.a
  2700    }
  2701  } {2 21 44 55 64}
  2702  do_test boundary3-2.14.le.2 {
  2703    db eval {
  2704      SELECT t2.a FROM t2 NATURAL JOIN t1
  2705       WHERE t1.rowid <= -140737488355328 ORDER BY t1.a DESC
  2706    }
  2707  } {64 55 44 21 2}
  2708  do_test boundary3-2.14.le.3 {
  2709    db eval {
  2710      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2711       WHERE t2.a=44
  2712       ORDER BY t1.rowid
  2713    }
  2714  } {55 2 64 21 44}
  2715  do_test boundary3-2.14.le.4 {
  2716    db eval {
  2717      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2718       WHERE t2.a=44
  2719       ORDER BY t1.rowid DESC
  2720    }
  2721  } {44 21 64 2 55}
  2722  do_test boundary3-2.14.le.5 {
  2723    db eval {
  2724      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2725       WHERE t2.a=44
  2726       ORDER BY x
  2727    }
  2728  } {55 2 64 21 44}
  2729  do_test boundary3-2.15.1 {
  2730    db eval {
  2731      SELECT t1.* FROM t1, t2 WHERE t1.rowid=1099511627776 AND t2.a=t1.a
  2732    }
  2733  } {19 0000010000000000}
  2734  do_test boundary3-2.15.2 {
  2735    db eval {
  2736      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000010000000000'
  2737    }
  2738  } {1099511627776 19}
  2739  do_test boundary3-2.15.3 {
  2740    db eval {
  2741      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=19
  2742    }
  2743  } {1099511627776 0000010000000000}
  2744  do_test boundary3-2.15.gt.1 {
  2745    db eval {
  2746      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2747       WHERE t1.rowid > 1099511627776 ORDER BY t2.a
  2748    }
  2749  } {3 7 10 13 17 25 26 27 28 34 43 45 56}
  2750  do_test boundary3-2.15.gt.2 {
  2751    db eval {
  2752      SELECT t2.a FROM t2 NATURAL JOIN t1
  2753       WHERE t1.rowid > 1099511627776 ORDER BY t1.a DESC
  2754    }
  2755  } {56 45 43 34 28 27 26 25 17 13 10 7 3}
  2756  do_test boundary3-2.15.gt.3 {
  2757    db eval {
  2758      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2759       WHERE t2.a=19
  2760       ORDER BY t1.rowid
  2761    }
  2762  } {7 56 25 34 10 26 13 43 27 45 17 28 3}
  2763  do_test boundary3-2.15.gt.4 {
  2764    db eval {
  2765      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2766       WHERE t2.a=19
  2767       ORDER BY t1.rowid DESC
  2768    }
  2769  } {3 28 17 45 27 43 13 26 10 34 25 56 7}
  2770  do_test boundary3-2.15.gt.5 {
  2771    db eval {
  2772      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2773       WHERE t2.a=19
  2774       ORDER BY x
  2775    }
  2776  } {7 56 25 34 10 26 13 43 27 45 17 28 3}
  2777  do_test boundary3-2.15.gt.10 {
  2778    db eval {
  2779      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  2780       WHERE t2.a=19
  2781       ORDER BY t1.rowid
  2782    }
  2783  } {7 56 25 34 10 26 13 43 27 45 17 28 3}
  2784  do_test boundary3-2.15.gt.11 {
  2785    db eval {
  2786      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  2787       WHERE t2.a=19
  2788       ORDER BY t1.rowid DESC
  2789    }
  2790  } {3 28 17 45 27 43 13 26 10 34 25 56 7}
  2791  do_test boundary3-2.15.ge.1 {
  2792    db eval {
  2793      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2794       WHERE t1.rowid >= 1099511627776 ORDER BY t2.a
  2795    }
  2796  } {3 7 10 13 17 19 25 26 27 28 34 43 45 56}
  2797  do_test boundary3-2.15.ge.2 {
  2798    db eval {
  2799      SELECT t2.a FROM t2 NATURAL JOIN t1
  2800       WHERE t1.rowid >= 1099511627776 ORDER BY t1.a DESC
  2801    }
  2802  } {56 45 43 34 28 27 26 25 19 17 13 10 7 3}
  2803  do_test boundary3-2.15.ge.3 {
  2804    db eval {
  2805      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2806       WHERE t2.a=19
  2807       ORDER BY t1.rowid
  2808    }
  2809  } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2810  do_test boundary3-2.15.ge.4 {
  2811    db eval {
  2812      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2813       WHERE t2.a=19
  2814       ORDER BY t1.rowid DESC
  2815    }
  2816  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19}
  2817  do_test boundary3-2.15.ge.5 {
  2818    db eval {
  2819      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2820       WHERE t2.a=19
  2821       ORDER BY x
  2822    }
  2823  } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2824  do_test boundary3-2.15.ge.10 {
  2825    db eval {
  2826      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  2827       WHERE t2.a=19
  2828       ORDER BY t1.rowid
  2829    }
  2830  } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  2831  do_test boundary3-2.15.ge.11 {
  2832    db eval {
  2833      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  2834       WHERE t2.a=19
  2835       ORDER BY t1.rowid DESC
  2836    }
  2837  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19}
  2838  do_test boundary3-2.15.lt.1 {
  2839    db eval {
  2840      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2841       WHERE t1.rowid < 1099511627776 ORDER BY t2.a
  2842    }
  2843  } {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}
  2844  do_test boundary3-2.15.lt.2 {
  2845    db eval {
  2846      SELECT t2.a FROM t2 NATURAL JOIN t1
  2847       WHERE t1.rowid < 1099511627776 ORDER BY t1.a DESC
  2848    }
  2849  } {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}
  2850  do_test boundary3-2.15.lt.3 {
  2851    db eval {
  2852      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2853       WHERE t2.a=19
  2854       ORDER BY t1.rowid
  2855    }
  2856  } {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}
  2857  do_test boundary3-2.15.lt.4 {
  2858    db eval {
  2859      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2860       WHERE t2.a=19
  2861       ORDER BY t1.rowid DESC
  2862    }
  2863  } {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}
  2864  do_test boundary3-2.15.lt.5 {
  2865    db eval {
  2866      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  2867       WHERE t2.a=19
  2868       ORDER BY x
  2869    }
  2870  } {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}
  2871  do_test boundary3-2.15.lt.10 {
  2872    db eval {
  2873      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  2874       WHERE t2.a=19
  2875       ORDER BY t1.rowid
  2876    }
  2877  } {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}
  2878  do_test boundary3-2.15.lt.11 {
  2879    db eval {
  2880      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  2881       WHERE t2.a=19
  2882       ORDER BY t1.rowid DESC
  2883    }
  2884  } {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}
  2885  do_test boundary3-2.15.le.1 {
  2886    db eval {
  2887      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2888       WHERE t1.rowid <= 1099511627776 ORDER BY t2.a
  2889    }
  2890  } {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}
  2891  do_test boundary3-2.15.le.2 {
  2892    db eval {
  2893      SELECT t2.a FROM t2 NATURAL JOIN t1
  2894       WHERE t1.rowid <= 1099511627776 ORDER BY t1.a DESC
  2895    }
  2896  } {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}
  2897  do_test boundary3-2.15.le.3 {
  2898    db eval {
  2899      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2900       WHERE t2.a=19
  2901       ORDER BY t1.rowid
  2902    }
  2903  } {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}
  2904  do_test boundary3-2.15.le.4 {
  2905    db eval {
  2906      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2907       WHERE t2.a=19
  2908       ORDER BY t1.rowid DESC
  2909    }
  2910  } {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}
  2911  do_test boundary3-2.15.le.5 {
  2912    db eval {
  2913      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  2914       WHERE t2.a=19
  2915       ORDER BY x
  2916    }
  2917  } {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}
  2918  do_test boundary3-2.15.le.10 {
  2919    db eval {
  2920      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  2921       WHERE t2.a=19
  2922       ORDER BY t1.rowid
  2923    }
  2924  } {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}
  2925  do_test boundary3-2.15.le.11 {
  2926    db eval {
  2927      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  2928       WHERE t2.a=19
  2929       ORDER BY t1.rowid DESC
  2930    }
  2931  } {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}
  2932  do_test boundary3-2.16.gt.1 {
  2933    db eval {
  2934      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2935       WHERE t1.rowid > 9223372036854775807 ORDER BY t2.a
  2936    }
  2937  } {}
  2938  do_test boundary3-2.16.gt.2 {
  2939    db eval {
  2940      SELECT t2.a FROM t2 NATURAL JOIN t1
  2941       WHERE t1.rowid > 9223372036854775807 ORDER BY t1.a DESC
  2942    }
  2943  } {}
  2944  do_test boundary3-2.16.gt.3 {
  2945    db eval {
  2946      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2947       WHERE t2.a=3
  2948       ORDER BY t1.rowid
  2949    }
  2950  } {}
  2951  do_test boundary3-2.16.gt.4 {
  2952    db eval {
  2953      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2954       WHERE t2.a=3
  2955       ORDER BY t1.rowid DESC
  2956    }
  2957  } {}
  2958  do_test boundary3-2.16.gt.5 {
  2959    db eval {
  2960      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  2961       WHERE t2.a=3
  2962       ORDER BY x
  2963    }
  2964  } {}
  2965  do_test boundary3-2.16.ge.1 {
  2966    db eval {
  2967      SELECT t2.a FROM t1 JOIN t2 USING(a)
  2968       WHERE t1.rowid >= 9223372036854775807 ORDER BY t2.a
  2969    }
  2970  } {3}
  2971  do_test boundary3-2.16.ge.2 {
  2972    db eval {
  2973      SELECT t2.a FROM t2 NATURAL JOIN t1
  2974       WHERE t1.rowid >= 9223372036854775807 ORDER BY t1.a DESC
  2975    }
  2976  } {3}
  2977  do_test boundary3-2.16.ge.3 {
  2978    db eval {
  2979      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2980       WHERE t2.a=3
  2981       ORDER BY t1.rowid
  2982    }
  2983  } {3}
  2984  do_test boundary3-2.16.ge.4 {
  2985    db eval {
  2986      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2987       WHERE t2.a=3
  2988       ORDER BY t1.rowid DESC
  2989    }
  2990  } {3}
  2991  do_test boundary3-2.16.ge.5 {
  2992    db eval {
  2993      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  2994       WHERE t2.a=3
  2995       ORDER BY x
  2996    }
  2997  } {3}
  2998  do_test boundary3-2.16.lt.1 {
  2999    db eval {
  3000      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3001       WHERE t1.rowid < 9223372036854775807 ORDER BY t2.a
  3002    }
  3003  } {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}
  3004  do_test boundary3-2.16.lt.2 {
  3005    db eval {
  3006      SELECT t2.a FROM t2 NATURAL JOIN t1
  3007       WHERE t1.rowid < 9223372036854775807 ORDER BY t1.a DESC
  3008    }
  3009  } {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}
  3010  do_test boundary3-2.16.lt.3 {
  3011    db eval {
  3012      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3013       WHERE t2.a=3
  3014       ORDER BY t1.rowid
  3015    }
  3016  } {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}
  3017  do_test boundary3-2.16.lt.4 {
  3018    db eval {
  3019      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3020       WHERE t2.a=3
  3021       ORDER BY t1.rowid DESC
  3022    }
  3023  } {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}
  3024  do_test boundary3-2.16.lt.5 {
  3025    db eval {
  3026      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3027       WHERE t2.a=3
  3028       ORDER BY x
  3029    }
  3030  } {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}
  3031  do_test boundary3-2.16.le.1 {
  3032    db eval {
  3033      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3034       WHERE t1.rowid <= 9223372036854775807 ORDER BY t2.a
  3035    }
  3036  } {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}
  3037  do_test boundary3-2.16.le.2 {
  3038    db eval {
  3039      SELECT t2.a FROM t2 NATURAL JOIN t1
  3040       WHERE t1.rowid <= 9223372036854775807 ORDER BY t1.a DESC
  3041    }
  3042  } {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}
  3043  do_test boundary3-2.16.le.3 {
  3044    db eval {
  3045      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3046       WHERE t2.a=3
  3047       ORDER BY t1.rowid
  3048    }
  3049  } {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}
  3050  do_test boundary3-2.16.le.4 {
  3051    db eval {
  3052      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3053       WHERE t2.a=3
  3054       ORDER BY t1.rowid DESC
  3055    }
  3056  } {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}
  3057  do_test boundary3-2.16.le.5 {
  3058    db eval {
  3059      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3060       WHERE t2.a=3
  3061       ORDER BY x
  3062    }
  3063  } {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}
  3064  do_test boundary3-2.17.1 {
  3065    db eval {
  3066      SELECT t1.* FROM t1, t2 WHERE t1.rowid=32768 AND t2.a=t1.a
  3067    }
  3068  } {50 0000000000008000}
  3069  do_test boundary3-2.17.2 {
  3070    db eval {
  3071      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000008000'
  3072    }
  3073  } {32768 50}
  3074  do_test boundary3-2.17.3 {
  3075    db eval {
  3076      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=50
  3077    }
  3078  } {32768 0000000000008000}
  3079  do_test boundary3-2.17.gt.1 {
  3080    db eval {
  3081      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3082       WHERE t1.rowid > 32768 ORDER BY t2.a
  3083    }
  3084  } {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}
  3085  do_test boundary3-2.17.gt.2 {
  3086    db eval {
  3087      SELECT t2.a FROM t2 NATURAL JOIN t1
  3088       WHERE t1.rowid > 32768 ORDER BY t1.a DESC
  3089    }
  3090  } {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}
  3091  do_test boundary3-2.17.gt.3 {
  3092    db eval {
  3093      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3094       WHERE t2.a=50
  3095       ORDER BY t1.rowid
  3096    }
  3097  } {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}
  3098  do_test boundary3-2.17.gt.4 {
  3099    db eval {
  3100      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3101       WHERE t2.a=50
  3102       ORDER BY t1.rowid DESC
  3103    }
  3104  } {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}
  3105  do_test boundary3-2.17.gt.5 {
  3106    db eval {
  3107      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3108       WHERE t2.a=50
  3109       ORDER BY x
  3110    }
  3111  } {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}
  3112  do_test boundary3-2.17.gt.10 {
  3113    db eval {
  3114      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  3115       WHERE t2.a=50
  3116       ORDER BY t1.rowid
  3117    }
  3118  } {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}
  3119  do_test boundary3-2.17.gt.11 {
  3120    db eval {
  3121      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  3122       WHERE t2.a=50
  3123       ORDER BY t1.rowid DESC
  3124    }
  3125  } {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}
  3126  do_test boundary3-2.17.ge.1 {
  3127    db eval {
  3128      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3129       WHERE t1.rowid >= 32768 ORDER BY t2.a
  3130    }
  3131  } {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}
  3132  do_test boundary3-2.17.ge.2 {
  3133    db eval {
  3134      SELECT t2.a FROM t2 NATURAL JOIN t1
  3135       WHERE t1.rowid >= 32768 ORDER BY t1.a DESC
  3136    }
  3137  } {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}
  3138  do_test boundary3-2.17.ge.3 {
  3139    db eval {
  3140      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3141       WHERE t2.a=50
  3142       ORDER BY t1.rowid
  3143    }
  3144  } {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}
  3145  do_test boundary3-2.17.ge.4 {
  3146    db eval {
  3147      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3148       WHERE t2.a=50
  3149       ORDER BY t1.rowid DESC
  3150    }
  3151  } {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}
  3152  do_test boundary3-2.17.ge.5 {
  3153    db eval {
  3154      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3155       WHERE t2.a=50
  3156       ORDER BY x
  3157    }
  3158  } {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}
  3159  do_test boundary3-2.17.ge.10 {
  3160    db eval {
  3161      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  3162       WHERE t2.a=50
  3163       ORDER BY t1.rowid
  3164    }
  3165  } {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}
  3166  do_test boundary3-2.17.ge.11 {
  3167    db eval {
  3168      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  3169       WHERE t2.a=50
  3170       ORDER BY t1.rowid DESC
  3171    }
  3172  } {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}
  3173  do_test boundary3-2.17.lt.1 {
  3174    db eval {
  3175      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3176       WHERE t1.rowid < 32768 ORDER BY t2.a
  3177    }
  3178  } {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}
  3179  do_test boundary3-2.17.lt.2 {
  3180    db eval {
  3181      SELECT t2.a FROM t2 NATURAL JOIN t1
  3182       WHERE t1.rowid < 32768 ORDER BY t1.a DESC
  3183    }
  3184  } {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}
  3185  do_test boundary3-2.17.lt.3 {
  3186    db eval {
  3187      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3188       WHERE t2.a=50
  3189       ORDER BY t1.rowid
  3190    }
  3191  } {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}
  3192  do_test boundary3-2.17.lt.4 {
  3193    db eval {
  3194      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3195       WHERE t2.a=50
  3196       ORDER BY t1.rowid DESC
  3197    }
  3198  } {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}
  3199  do_test boundary3-2.17.lt.5 {
  3200    db eval {
  3201      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3202       WHERE t2.a=50
  3203       ORDER BY x
  3204    }
  3205  } {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}
  3206  do_test boundary3-2.17.lt.10 {
  3207    db eval {
  3208      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  3209       WHERE t2.a=50
  3210       ORDER BY t1.rowid
  3211    }
  3212  } {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}
  3213  do_test boundary3-2.17.lt.11 {
  3214    db eval {
  3215      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  3216       WHERE t2.a=50
  3217       ORDER BY t1.rowid DESC
  3218    }
  3219  } {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}
  3220  do_test boundary3-2.17.le.1 {
  3221    db eval {
  3222      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3223       WHERE t1.rowid <= 32768 ORDER BY t2.a
  3224    }
  3225  } {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}
  3226  do_test boundary3-2.17.le.2 {
  3227    db eval {
  3228      SELECT t2.a FROM t2 NATURAL JOIN t1
  3229       WHERE t1.rowid <= 32768 ORDER BY t1.a DESC
  3230    }
  3231  } {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}
  3232  do_test boundary3-2.17.le.3 {
  3233    db eval {
  3234      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3235       WHERE t2.a=50
  3236       ORDER BY t1.rowid
  3237    }
  3238  } {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}
  3239  do_test boundary3-2.17.le.4 {
  3240    db eval {
  3241      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3242       WHERE t2.a=50
  3243       ORDER BY t1.rowid DESC
  3244    }
  3245  } {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}
  3246  do_test boundary3-2.17.le.5 {
  3247    db eval {
  3248      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3249       WHERE t2.a=50
  3250       ORDER BY x
  3251    }
  3252  } {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}
  3253  do_test boundary3-2.17.le.10 {
  3254    db eval {
  3255      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  3256       WHERE t2.a=50
  3257       ORDER BY t1.rowid
  3258    }
  3259  } {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}
  3260  do_test boundary3-2.17.le.11 {
  3261    db eval {
  3262      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  3263       WHERE t2.a=50
  3264       ORDER BY t1.rowid DESC
  3265    }
  3266  } {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}
  3267  do_test boundary3-2.18.1 {
  3268    db eval {
  3269      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-36028797018963968 AND t2.a=t1.a
  3270    }
  3271  } {64 ff80000000000000}
  3272  do_test boundary3-2.18.2 {
  3273    db eval {
  3274      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ff80000000000000'
  3275    }
  3276  } {-36028797018963968 64}
  3277  do_test boundary3-2.18.3 {
  3278    db eval {
  3279      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=64
  3280    }
  3281  } {-36028797018963968 ff80000000000000}
  3282  do_test boundary3-2.18.gt.1 {
  3283    db eval {
  3284      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3285       WHERE t1.rowid > -36028797018963968 ORDER BY t2.a
  3286    }
  3287  } {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}
  3288  do_test boundary3-2.18.gt.2 {
  3289    db eval {
  3290      SELECT t2.a FROM t2 NATURAL JOIN t1
  3291       WHERE t1.rowid > -36028797018963968 ORDER BY t1.a DESC
  3292    }
  3293  } {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}
  3294  do_test boundary3-2.18.gt.3 {
  3295    db eval {
  3296      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3297       WHERE t2.a=64
  3298       ORDER BY t1.rowid
  3299    }
  3300  } {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}
  3301  do_test boundary3-2.18.gt.4 {
  3302    db eval {
  3303      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3304       WHERE t2.a=64
  3305       ORDER BY t1.rowid DESC
  3306    }
  3307  } {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}
  3308  do_test boundary3-2.18.gt.5 {
  3309    db eval {
  3310      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3311       WHERE t2.a=64
  3312       ORDER BY x
  3313    }
  3314  } {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}
  3315  do_test boundary3-2.18.ge.1 {
  3316    db eval {
  3317      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3318       WHERE t1.rowid >= -36028797018963968 ORDER BY t2.a
  3319    }
  3320  } {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}
  3321  do_test boundary3-2.18.ge.2 {
  3322    db eval {
  3323      SELECT t2.a FROM t2 NATURAL JOIN t1
  3324       WHERE t1.rowid >= -36028797018963968 ORDER BY t1.a DESC
  3325    }
  3326  } {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}
  3327  do_test boundary3-2.18.ge.3 {
  3328    db eval {
  3329      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3330       WHERE t2.a=64
  3331       ORDER BY t1.rowid
  3332    }
  3333  } {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}
  3334  do_test boundary3-2.18.ge.4 {
  3335    db eval {
  3336      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3337       WHERE t2.a=64
  3338       ORDER BY t1.rowid DESC
  3339    }
  3340  } {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}
  3341  do_test boundary3-2.18.ge.5 {
  3342    db eval {
  3343      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3344       WHERE t2.a=64
  3345       ORDER BY x
  3346    }
  3347  } {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}
  3348  do_test boundary3-2.18.lt.1 {
  3349    db eval {
  3350      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3351       WHERE t1.rowid < -36028797018963968 ORDER BY t2.a
  3352    }
  3353  } {2 55}
  3354  do_test boundary3-2.18.lt.2 {
  3355    db eval {
  3356      SELECT t2.a FROM t2 NATURAL JOIN t1
  3357       WHERE t1.rowid < -36028797018963968 ORDER BY t1.a DESC
  3358    }
  3359  } {55 2}
  3360  do_test boundary3-2.18.lt.3 {
  3361    db eval {
  3362      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3363       WHERE t2.a=64
  3364       ORDER BY t1.rowid
  3365    }
  3366  } {55 2}
  3367  do_test boundary3-2.18.lt.4 {
  3368    db eval {
  3369      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3370       WHERE t2.a=64
  3371       ORDER BY t1.rowid DESC
  3372    }
  3373  } {2 55}
  3374  do_test boundary3-2.18.lt.5 {
  3375    db eval {
  3376      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3377       WHERE t2.a=64
  3378       ORDER BY x
  3379    }
  3380  } {55 2}
  3381  do_test boundary3-2.18.le.1 {
  3382    db eval {
  3383      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3384       WHERE t1.rowid <= -36028797018963968 ORDER BY t2.a
  3385    }
  3386  } {2 55 64}
  3387  do_test boundary3-2.18.le.2 {
  3388    db eval {
  3389      SELECT t2.a FROM t2 NATURAL JOIN t1
  3390       WHERE t1.rowid <= -36028797018963968 ORDER BY t1.a DESC
  3391    }
  3392  } {64 55 2}
  3393  do_test boundary3-2.18.le.3 {
  3394    db eval {
  3395      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3396       WHERE t2.a=64
  3397       ORDER BY t1.rowid
  3398    }
  3399  } {55 2 64}
  3400  do_test boundary3-2.18.le.4 {
  3401    db eval {
  3402      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3403       WHERE t2.a=64
  3404       ORDER BY t1.rowid DESC
  3405    }
  3406  } {64 2 55}
  3407  do_test boundary3-2.18.le.5 {
  3408    db eval {
  3409      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3410       WHERE t2.a=64
  3411       ORDER BY x
  3412    }
  3413  } {55 2 64}
  3414  do_test boundary3-2.19.1 {
  3415    db eval {
  3416      SELECT t1.* FROM t1, t2 WHERE t1.rowid=65535 AND t2.a=t1.a
  3417    }
  3418  } {48 000000000000ffff}
  3419  do_test boundary3-2.19.2 {
  3420    db eval {
  3421      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000000000ffff'
  3422    }
  3423  } {65535 48}
  3424  do_test boundary3-2.19.3 {
  3425    db eval {
  3426      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=48
  3427    }
  3428  } {65535 000000000000ffff}
  3429  do_test boundary3-2.19.gt.1 {
  3430    db eval {
  3431      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3432       WHERE t1.rowid > 65535 ORDER BY t2.a
  3433    }
  3434  } {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}
  3435  do_test boundary3-2.19.gt.2 {
  3436    db eval {
  3437      SELECT t2.a FROM t2 NATURAL JOIN t1
  3438       WHERE t1.rowid > 65535 ORDER BY t1.a DESC
  3439    }
  3440  } {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}
  3441  do_test boundary3-2.19.gt.3 {
  3442    db eval {
  3443      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3444       WHERE t2.a=48
  3445       ORDER BY t1.rowid
  3446    }
  3447  } {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}
  3448  do_test boundary3-2.19.gt.4 {
  3449    db eval {
  3450      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3451       WHERE t2.a=48
  3452       ORDER BY t1.rowid DESC
  3453    }
  3454  } {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}
  3455  do_test boundary3-2.19.gt.5 {
  3456    db eval {
  3457      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3458       WHERE t2.a=48
  3459       ORDER BY x
  3460    }
  3461  } {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}
  3462  do_test boundary3-2.19.gt.10 {
  3463    db eval {
  3464      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  3465       WHERE t2.a=48
  3466       ORDER BY t1.rowid
  3467    }
  3468  } {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}
  3469  do_test boundary3-2.19.gt.11 {
  3470    db eval {
  3471      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  3472       WHERE t2.a=48
  3473       ORDER BY t1.rowid DESC
  3474    }
  3475  } {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}
  3476  do_test boundary3-2.19.ge.1 {
  3477    db eval {
  3478      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3479       WHERE t1.rowid >= 65535 ORDER BY t2.a
  3480    }
  3481  } {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}
  3482  do_test boundary3-2.19.ge.2 {
  3483    db eval {
  3484      SELECT t2.a FROM t2 NATURAL JOIN t1
  3485       WHERE t1.rowid >= 65535 ORDER BY t1.a DESC
  3486    }
  3487  } {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}
  3488  do_test boundary3-2.19.ge.3 {
  3489    db eval {
  3490      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3491       WHERE t2.a=48
  3492       ORDER BY t1.rowid
  3493    }
  3494  } {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}
  3495  do_test boundary3-2.19.ge.4 {
  3496    db eval {
  3497      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3498       WHERE t2.a=48
  3499       ORDER BY t1.rowid DESC
  3500    }
  3501  } {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}
  3502  do_test boundary3-2.19.ge.5 {
  3503    db eval {
  3504      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3505       WHERE t2.a=48
  3506       ORDER BY x
  3507    }
  3508  } {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}
  3509  do_test boundary3-2.19.ge.10 {
  3510    db eval {
  3511      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  3512       WHERE t2.a=48
  3513       ORDER BY t1.rowid
  3514    }
  3515  } {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}
  3516  do_test boundary3-2.19.ge.11 {
  3517    db eval {
  3518      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  3519       WHERE t2.a=48
  3520       ORDER BY t1.rowid DESC
  3521    }
  3522  } {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}
  3523  do_test boundary3-2.19.lt.1 {
  3524    db eval {
  3525      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3526       WHERE t1.rowid < 65535 ORDER BY t2.a
  3527    }
  3528  } {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}
  3529  do_test boundary3-2.19.lt.2 {
  3530    db eval {
  3531      SELECT t2.a FROM t2 NATURAL JOIN t1
  3532       WHERE t1.rowid < 65535 ORDER BY t1.a DESC
  3533    }
  3534  } {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}
  3535  do_test boundary3-2.19.lt.3 {
  3536    db eval {
  3537      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3538       WHERE t2.a=48
  3539       ORDER BY t1.rowid
  3540    }
  3541  } {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}
  3542  do_test boundary3-2.19.lt.4 {
  3543    db eval {
  3544      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3545       WHERE t2.a=48
  3546       ORDER BY t1.rowid DESC
  3547    }
  3548  } {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}
  3549  do_test boundary3-2.19.lt.5 {
  3550    db eval {
  3551      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3552       WHERE t2.a=48
  3553       ORDER BY x
  3554    }
  3555  } {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}
  3556  do_test boundary3-2.19.lt.10 {
  3557    db eval {
  3558      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  3559       WHERE t2.a=48
  3560       ORDER BY t1.rowid
  3561    }
  3562  } {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}
  3563  do_test boundary3-2.19.lt.11 {
  3564    db eval {
  3565      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  3566       WHERE t2.a=48
  3567       ORDER BY t1.rowid DESC
  3568    }
  3569  } {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}
  3570  do_test boundary3-2.19.le.1 {
  3571    db eval {
  3572      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3573       WHERE t1.rowid <= 65535 ORDER BY t2.a
  3574    }
  3575  } {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}
  3576  do_test boundary3-2.19.le.2 {
  3577    db eval {
  3578      SELECT t2.a FROM t2 NATURAL JOIN t1
  3579       WHERE t1.rowid <= 65535 ORDER BY t1.a DESC
  3580    }
  3581  } {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}
  3582  do_test boundary3-2.19.le.3 {
  3583    db eval {
  3584      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3585       WHERE t2.a=48
  3586       ORDER BY t1.rowid
  3587    }
  3588  } {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}
  3589  do_test boundary3-2.19.le.4 {
  3590    db eval {
  3591      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3592       WHERE t2.a=48
  3593       ORDER BY t1.rowid DESC
  3594    }
  3595  } {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}
  3596  do_test boundary3-2.19.le.5 {
  3597    db eval {
  3598      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3599       WHERE t2.a=48
  3600       ORDER BY x
  3601    }
  3602  } {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}
  3603  do_test boundary3-2.19.le.10 {
  3604    db eval {
  3605      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  3606       WHERE t2.a=48
  3607       ORDER BY t1.rowid
  3608    }
  3609  } {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}
  3610  do_test boundary3-2.19.le.11 {
  3611    db eval {
  3612      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  3613       WHERE t2.a=48
  3614       ORDER BY t1.rowid DESC
  3615    }
  3616  } {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}
  3617  do_test boundary3-2.20.1 {
  3618    db eval {
  3619      SELECT t1.* FROM t1, t2 WHERE t1.rowid=4294967295 AND t2.a=t1.a
  3620    }
  3621  } {14 00000000ffffffff}
  3622  do_test boundary3-2.20.2 {
  3623    db eval {
  3624      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000ffffffff'
  3625    }
  3626  } {4294967295 14}
  3627  do_test boundary3-2.20.3 {
  3628    db eval {
  3629      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=14
  3630    }
  3631  } {4294967295 00000000ffffffff}
  3632  do_test boundary3-2.20.gt.1 {
  3633    db eval {
  3634      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3635       WHERE t1.rowid > 4294967295 ORDER BY t2.a
  3636    }
  3637  } {3 7 10 13 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
  3638  do_test boundary3-2.20.gt.2 {
  3639    db eval {
  3640      SELECT t2.a FROM t2 NATURAL JOIN t1
  3641       WHERE t1.rowid > 4294967295 ORDER BY t1.a DESC
  3642    }
  3643  } {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 13 10 7 3}
  3644  do_test boundary3-2.20.gt.3 {
  3645    db eval {
  3646      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3647       WHERE t2.a=14
  3648       ORDER BY t1.rowid
  3649    }
  3650  } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3651  do_test boundary3-2.20.gt.4 {
  3652    db eval {
  3653      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3654       WHERE t2.a=14
  3655       ORDER BY t1.rowid DESC
  3656    }
  3657  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}
  3658  do_test boundary3-2.20.gt.5 {
  3659    db eval {
  3660      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3661       WHERE t2.a=14
  3662       ORDER BY x
  3663    }
  3664  } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3665  do_test boundary3-2.20.gt.10 {
  3666    db eval {
  3667      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  3668       WHERE t2.a=14
  3669       ORDER BY t1.rowid
  3670    }
  3671  } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3672  do_test boundary3-2.20.gt.11 {
  3673    db eval {
  3674      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  3675       WHERE t2.a=14
  3676       ORDER BY t1.rowid DESC
  3677    }
  3678  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}
  3679  do_test boundary3-2.20.ge.1 {
  3680    db eval {
  3681      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3682       WHERE t1.rowid >= 4294967295 ORDER BY t2.a
  3683    }
  3684  } {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
  3685  do_test boundary3-2.20.ge.2 {
  3686    db eval {
  3687      SELECT t2.a FROM t2 NATURAL JOIN t1
  3688       WHERE t1.rowid >= 4294967295 ORDER BY t1.a DESC
  3689    }
  3690  } {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
  3691  do_test boundary3-2.20.ge.3 {
  3692    db eval {
  3693      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3694       WHERE t2.a=14
  3695       ORDER BY t1.rowid
  3696    }
  3697  } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3698  do_test boundary3-2.20.ge.4 {
  3699    db eval {
  3700      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3701       WHERE t2.a=14
  3702       ORDER BY t1.rowid DESC
  3703    }
  3704  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14}
  3705  do_test boundary3-2.20.ge.5 {
  3706    db eval {
  3707      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3708       WHERE t2.a=14
  3709       ORDER BY x
  3710    }
  3711  } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3712  do_test boundary3-2.20.ge.10 {
  3713    db eval {
  3714      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  3715       WHERE t2.a=14
  3716       ORDER BY t1.rowid
  3717    }
  3718  } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3719  do_test boundary3-2.20.ge.11 {
  3720    db eval {
  3721      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  3722       WHERE t2.a=14
  3723       ORDER BY t1.rowid DESC
  3724    }
  3725  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14}
  3726  do_test boundary3-2.20.lt.1 {
  3727    db eval {
  3728      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3729       WHERE t1.rowid < 4294967295 ORDER BY t2.a
  3730    }
  3731  } {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}
  3732  do_test boundary3-2.20.lt.2 {
  3733    db eval {
  3734      SELECT t2.a FROM t2 NATURAL JOIN t1
  3735       WHERE t1.rowid < 4294967295 ORDER BY t1.a DESC
  3736    }
  3737  } {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}
  3738  do_test boundary3-2.20.lt.3 {
  3739    db eval {
  3740      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3741       WHERE t2.a=14
  3742       ORDER BY t1.rowid
  3743    }
  3744  } {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}
  3745  do_test boundary3-2.20.lt.4 {
  3746    db eval {
  3747      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3748       WHERE t2.a=14
  3749       ORDER BY t1.rowid DESC
  3750    }
  3751  } {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}
  3752  do_test boundary3-2.20.lt.5 {
  3753    db eval {
  3754      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3755       WHERE t2.a=14
  3756       ORDER BY x
  3757    }
  3758  } {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}
  3759  do_test boundary3-2.20.lt.10 {
  3760    db eval {
  3761      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  3762       WHERE t2.a=14
  3763       ORDER BY t1.rowid
  3764    }
  3765  } {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}
  3766  do_test boundary3-2.20.lt.11 {
  3767    db eval {
  3768      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  3769       WHERE t2.a=14
  3770       ORDER BY t1.rowid DESC
  3771    }
  3772  } {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}
  3773  do_test boundary3-2.20.le.1 {
  3774    db eval {
  3775      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3776       WHERE t1.rowid <= 4294967295 ORDER BY t2.a
  3777    }
  3778  } {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}
  3779  do_test boundary3-2.20.le.2 {
  3780    db eval {
  3781      SELECT t2.a FROM t2 NATURAL JOIN t1
  3782       WHERE t1.rowid <= 4294967295 ORDER BY t1.a DESC
  3783    }
  3784  } {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}
  3785  do_test boundary3-2.20.le.3 {
  3786    db eval {
  3787      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3788       WHERE t2.a=14
  3789       ORDER BY t1.rowid
  3790    }
  3791  } {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}
  3792  do_test boundary3-2.20.le.4 {
  3793    db eval {
  3794      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3795       WHERE t2.a=14
  3796       ORDER BY t1.rowid DESC
  3797    }
  3798  } {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}
  3799  do_test boundary3-2.20.le.5 {
  3800    db eval {
  3801      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3802       WHERE t2.a=14
  3803       ORDER BY x
  3804    }
  3805  } {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}
  3806  do_test boundary3-2.20.le.10 {
  3807    db eval {
  3808      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  3809       WHERE t2.a=14
  3810       ORDER BY t1.rowid
  3811    }
  3812  } {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}
  3813  do_test boundary3-2.20.le.11 {
  3814    db eval {
  3815      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  3816       WHERE t2.a=14
  3817       ORDER BY t1.rowid DESC
  3818    }
  3819  } {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}
  3820  do_test boundary3-2.21.1 {
  3821    db eval {
  3822      SELECT t1.* FROM t1, t2 WHERE t1.rowid=1099511627775 AND t2.a=t1.a
  3823    }
  3824  } {57 000000ffffffffff}
  3825  do_test boundary3-2.21.2 {
  3826    db eval {
  3827      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000ffffffffff'
  3828    }
  3829  } {1099511627775 57}
  3830  do_test boundary3-2.21.3 {
  3831    db eval {
  3832      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=57
  3833    }
  3834  } {1099511627775 000000ffffffffff}
  3835  do_test boundary3-2.21.gt.1 {
  3836    db eval {
  3837      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3838       WHERE t1.rowid > 1099511627775 ORDER BY t2.a
  3839    }
  3840  } {3 7 10 13 17 19 25 26 27 28 34 43 45 56}
  3841  do_test boundary3-2.21.gt.2 {
  3842    db eval {
  3843      SELECT t2.a FROM t2 NATURAL JOIN t1
  3844       WHERE t1.rowid > 1099511627775 ORDER BY t1.a DESC
  3845    }
  3846  } {56 45 43 34 28 27 26 25 19 17 13 10 7 3}
  3847  do_test boundary3-2.21.gt.3 {
  3848    db eval {
  3849      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3850       WHERE t2.a=57
  3851       ORDER BY t1.rowid
  3852    }
  3853  } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3854  do_test boundary3-2.21.gt.4 {
  3855    db eval {
  3856      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3857       WHERE t2.a=57
  3858       ORDER BY t1.rowid DESC
  3859    }
  3860  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19}
  3861  do_test boundary3-2.21.gt.5 {
  3862    db eval {
  3863      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  3864       WHERE t2.a=57
  3865       ORDER BY x
  3866    }
  3867  } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3868  do_test boundary3-2.21.gt.10 {
  3869    db eval {
  3870      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  3871       WHERE t2.a=57
  3872       ORDER BY t1.rowid
  3873    }
  3874  } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3875  do_test boundary3-2.21.gt.11 {
  3876    db eval {
  3877      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  3878       WHERE t2.a=57
  3879       ORDER BY t1.rowid DESC
  3880    }
  3881  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19}
  3882  do_test boundary3-2.21.ge.1 {
  3883    db eval {
  3884      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3885       WHERE t1.rowid >= 1099511627775 ORDER BY t2.a
  3886    }
  3887  } {3 7 10 13 17 19 25 26 27 28 34 43 45 56 57}
  3888  do_test boundary3-2.21.ge.2 {
  3889    db eval {
  3890      SELECT t2.a FROM t2 NATURAL JOIN t1
  3891       WHERE t1.rowid >= 1099511627775 ORDER BY t1.a DESC
  3892    }
  3893  } {57 56 45 43 34 28 27 26 25 19 17 13 10 7 3}
  3894  do_test boundary3-2.21.ge.3 {
  3895    db eval {
  3896      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3897       WHERE t2.a=57
  3898       ORDER BY t1.rowid
  3899    }
  3900  } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3901  do_test boundary3-2.21.ge.4 {
  3902    db eval {
  3903      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3904       WHERE t2.a=57
  3905       ORDER BY t1.rowid DESC
  3906    }
  3907  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57}
  3908  do_test boundary3-2.21.ge.5 {
  3909    db eval {
  3910      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  3911       WHERE t2.a=57
  3912       ORDER BY x
  3913    }
  3914  } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3915  do_test boundary3-2.21.ge.10 {
  3916    db eval {
  3917      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  3918       WHERE t2.a=57
  3919       ORDER BY t1.rowid
  3920    }
  3921  } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  3922  do_test boundary3-2.21.ge.11 {
  3923    db eval {
  3924      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  3925       WHERE t2.a=57
  3926       ORDER BY t1.rowid DESC
  3927    }
  3928  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57}
  3929  do_test boundary3-2.21.lt.1 {
  3930    db eval {
  3931      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3932       WHERE t1.rowid < 1099511627775 ORDER BY t2.a
  3933    }
  3934  } {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}
  3935  do_test boundary3-2.21.lt.2 {
  3936    db eval {
  3937      SELECT t2.a FROM t2 NATURAL JOIN t1
  3938       WHERE t1.rowid < 1099511627775 ORDER BY t1.a DESC
  3939    }
  3940  } {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}
  3941  do_test boundary3-2.21.lt.3 {
  3942    db eval {
  3943      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3944       WHERE t2.a=57
  3945       ORDER BY t1.rowid
  3946    }
  3947  } {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}
  3948  do_test boundary3-2.21.lt.4 {
  3949    db eval {
  3950      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3951       WHERE t2.a=57
  3952       ORDER BY t1.rowid DESC
  3953    }
  3954  } {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}
  3955  do_test boundary3-2.21.lt.5 {
  3956    db eval {
  3957      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  3958       WHERE t2.a=57
  3959       ORDER BY x
  3960    }
  3961  } {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}
  3962  do_test boundary3-2.21.lt.10 {
  3963    db eval {
  3964      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  3965       WHERE t2.a=57
  3966       ORDER BY t1.rowid
  3967    }
  3968  } {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}
  3969  do_test boundary3-2.21.lt.11 {
  3970    db eval {
  3971      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  3972       WHERE t2.a=57
  3973       ORDER BY t1.rowid DESC
  3974    }
  3975  } {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}
  3976  do_test boundary3-2.21.le.1 {
  3977    db eval {
  3978      SELECT t2.a FROM t1 JOIN t2 USING(a)
  3979       WHERE t1.rowid <= 1099511627775 ORDER BY t2.a
  3980    }
  3981  } {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}
  3982  do_test boundary3-2.21.le.2 {
  3983    db eval {
  3984      SELECT t2.a FROM t2 NATURAL JOIN t1
  3985       WHERE t1.rowid <= 1099511627775 ORDER BY t1.a DESC
  3986    }
  3987  } {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}
  3988  do_test boundary3-2.21.le.3 {
  3989    db eval {
  3990      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3991       WHERE t2.a=57
  3992       ORDER BY t1.rowid
  3993    }
  3994  } {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}
  3995  do_test boundary3-2.21.le.4 {
  3996    db eval {
  3997      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  3998       WHERE t2.a=57
  3999       ORDER BY t1.rowid DESC
  4000    }
  4001  } {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}
  4002  do_test boundary3-2.21.le.5 {
  4003    db eval {
  4004      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4005       WHERE t2.a=57
  4006       ORDER BY x
  4007    }
  4008  } {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}
  4009  do_test boundary3-2.21.le.10 {
  4010    db eval {
  4011      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  4012       WHERE t2.a=57
  4013       ORDER BY t1.rowid
  4014    }
  4015  } {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}
  4016  do_test boundary3-2.21.le.11 {
  4017    db eval {
  4018      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  4019       WHERE t2.a=57
  4020       ORDER BY t1.rowid DESC
  4021    }
  4022  } {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}
  4023  do_test boundary3-2.22.1 {
  4024    db eval {
  4025      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-8388608 AND t2.a=t1.a
  4026    }
  4027  } {37 ffffffffff800000}
  4028  do_test boundary3-2.22.2 {
  4029    db eval {
  4030      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffff800000'
  4031    }
  4032  } {-8388608 37}
  4033  do_test boundary3-2.22.3 {
  4034    db eval {
  4035      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=37
  4036    }
  4037  } {-8388608 ffffffffff800000}
  4038  do_test boundary3-2.22.gt.1 {
  4039    db eval {
  4040      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4041       WHERE t1.rowid > -8388608 ORDER BY t2.a
  4042    }
  4043  } {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}
  4044  do_test boundary3-2.22.gt.2 {
  4045    db eval {
  4046      SELECT t2.a FROM t2 NATURAL JOIN t1
  4047       WHERE t1.rowid > -8388608 ORDER BY t1.a DESC
  4048    }
  4049  } {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}
  4050  do_test boundary3-2.22.gt.3 {
  4051    db eval {
  4052      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4053       WHERE t2.a=37
  4054       ORDER BY t1.rowid
  4055    }
  4056  } {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}
  4057  do_test boundary3-2.22.gt.4 {
  4058    db eval {
  4059      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4060       WHERE t2.a=37
  4061       ORDER BY t1.rowid DESC
  4062    }
  4063  } {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}
  4064  do_test boundary3-2.22.gt.5 {
  4065    db eval {
  4066      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4067       WHERE t2.a=37
  4068       ORDER BY x
  4069    }
  4070  } {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}
  4071  do_test boundary3-2.22.gt.10 {
  4072    db eval {
  4073      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  4074       WHERE t2.a=37
  4075       ORDER BY t1.rowid
  4076    }
  4077  } {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}
  4078  do_test boundary3-2.22.gt.11 {
  4079    db eval {
  4080      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  4081       WHERE t2.a=37
  4082       ORDER BY t1.rowid DESC
  4083    }
  4084  } {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}
  4085  do_test boundary3-2.22.ge.1 {
  4086    db eval {
  4087      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4088       WHERE t1.rowid >= -8388608 ORDER BY t2.a
  4089    }
  4090  } {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}
  4091  do_test boundary3-2.22.ge.2 {
  4092    db eval {
  4093      SELECT t2.a FROM t2 NATURAL JOIN t1
  4094       WHERE t1.rowid >= -8388608 ORDER BY t1.a DESC
  4095    }
  4096  } {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}
  4097  do_test boundary3-2.22.ge.3 {
  4098    db eval {
  4099      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4100       WHERE t2.a=37
  4101       ORDER BY t1.rowid
  4102    }
  4103  } {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}
  4104  do_test boundary3-2.22.ge.4 {
  4105    db eval {
  4106      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4107       WHERE t2.a=37
  4108       ORDER BY t1.rowid DESC
  4109    }
  4110  } {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}
  4111  do_test boundary3-2.22.ge.5 {
  4112    db eval {
  4113      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4114       WHERE t2.a=37
  4115       ORDER BY x
  4116    }
  4117  } {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}
  4118  do_test boundary3-2.22.ge.10 {
  4119    db eval {
  4120      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  4121       WHERE t2.a=37
  4122       ORDER BY t1.rowid
  4123    }
  4124  } {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}
  4125  do_test boundary3-2.22.ge.11 {
  4126    db eval {
  4127      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  4128       WHERE t2.a=37
  4129       ORDER BY t1.rowid DESC
  4130    }
  4131  } {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}
  4132  do_test boundary3-2.22.lt.1 {
  4133    db eval {
  4134      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4135       WHERE t1.rowid < -8388608 ORDER BY t2.a
  4136    }
  4137  } {1 2 11 21 44 47 55 58 63 64}
  4138  do_test boundary3-2.22.lt.2 {
  4139    db eval {
  4140      SELECT t2.a FROM t2 NATURAL JOIN t1
  4141       WHERE t1.rowid < -8388608 ORDER BY t1.a DESC
  4142    }
  4143  } {64 63 58 55 47 44 21 11 2 1}
  4144  do_test boundary3-2.22.lt.3 {
  4145    db eval {
  4146      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4147       WHERE t2.a=37
  4148       ORDER BY t1.rowid
  4149    }
  4150  } {55 2 64 21 44 58 63 47 11 1}
  4151  do_test boundary3-2.22.lt.4 {
  4152    db eval {
  4153      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4154       WHERE t2.a=37
  4155       ORDER BY t1.rowid DESC
  4156    }
  4157  } {1 11 47 63 58 44 21 64 2 55}
  4158  do_test boundary3-2.22.lt.5 {
  4159    db eval {
  4160      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4161       WHERE t2.a=37
  4162       ORDER BY x
  4163    }
  4164  } {55 2 64 21 44 58 63 47 11 1}
  4165  do_test boundary3-2.22.lt.10 {
  4166    db eval {
  4167      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  4168       WHERE t2.a=37
  4169       ORDER BY t1.rowid
  4170    }
  4171  } {55 2 64 21 44 58 63 47 11 1}
  4172  do_test boundary3-2.22.lt.11 {
  4173    db eval {
  4174      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  4175       WHERE t2.a=37
  4176       ORDER BY t1.rowid DESC
  4177    }
  4178  } {1 11 47 63 58 44 21 64 2 55}
  4179  do_test boundary3-2.22.le.1 {
  4180    db eval {
  4181      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4182       WHERE t1.rowid <= -8388608 ORDER BY t2.a
  4183    }
  4184  } {1 2 11 21 37 44 47 55 58 63 64}
  4185  do_test boundary3-2.22.le.2 {
  4186    db eval {
  4187      SELECT t2.a FROM t2 NATURAL JOIN t1
  4188       WHERE t1.rowid <= -8388608 ORDER BY t1.a DESC
  4189    }
  4190  } {64 63 58 55 47 44 37 21 11 2 1}
  4191  do_test boundary3-2.22.le.3 {
  4192    db eval {
  4193      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4194       WHERE t2.a=37
  4195       ORDER BY t1.rowid
  4196    }
  4197  } {55 2 64 21 44 58 63 47 11 1 37}
  4198  do_test boundary3-2.22.le.4 {
  4199    db eval {
  4200      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4201       WHERE t2.a=37
  4202       ORDER BY t1.rowid DESC
  4203    }
  4204  } {37 1 11 47 63 58 44 21 64 2 55}
  4205  do_test boundary3-2.22.le.5 {
  4206    db eval {
  4207      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4208       WHERE t2.a=37
  4209       ORDER BY x
  4210    }
  4211  } {55 2 64 21 44 58 63 47 11 1 37}
  4212  do_test boundary3-2.22.le.10 {
  4213    db eval {
  4214      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  4215       WHERE t2.a=37
  4216       ORDER BY t1.rowid
  4217    }
  4218  } {55 2 64 21 44 58 63 47 11 1 37}
  4219  do_test boundary3-2.22.le.11 {
  4220    db eval {
  4221      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  4222       WHERE t2.a=37
  4223       ORDER BY t1.rowid DESC
  4224    }
  4225  } {37 1 11 47 63 58 44 21 64 2 55}
  4226  do_test boundary3-2.23.1 {
  4227    db eval {
  4228      SELECT t1.* FROM t1, t2 WHERE t1.rowid=549755813888 AND t2.a=t1.a
  4229    }
  4230  } {35 0000008000000000}
  4231  do_test boundary3-2.23.2 {
  4232    db eval {
  4233      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000008000000000'
  4234    }
  4235  } {549755813888 35}
  4236  do_test boundary3-2.23.3 {
  4237    db eval {
  4238      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=35
  4239    }
  4240  } {549755813888 0000008000000000}
  4241  do_test boundary3-2.23.gt.1 {
  4242    db eval {
  4243      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4244       WHERE t1.rowid > 549755813888 ORDER BY t2.a
  4245    }
  4246  } {3 7 10 13 17 19 25 26 27 28 34 43 45 56 57}
  4247  do_test boundary3-2.23.gt.2 {
  4248    db eval {
  4249      SELECT t2.a FROM t2 NATURAL JOIN t1
  4250       WHERE t1.rowid > 549755813888 ORDER BY t1.a DESC
  4251    }
  4252  } {57 56 45 43 34 28 27 26 25 19 17 13 10 7 3}
  4253  do_test boundary3-2.23.gt.3 {
  4254    db eval {
  4255      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4256       WHERE t2.a=35
  4257       ORDER BY t1.rowid
  4258    }
  4259  } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  4260  do_test boundary3-2.23.gt.4 {
  4261    db eval {
  4262      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4263       WHERE t2.a=35
  4264       ORDER BY t1.rowid DESC
  4265    }
  4266  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57}
  4267  do_test boundary3-2.23.gt.5 {
  4268    db eval {
  4269      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4270       WHERE t2.a=35
  4271       ORDER BY x
  4272    }
  4273  } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  4274  do_test boundary3-2.23.gt.10 {
  4275    db eval {
  4276      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  4277       WHERE t2.a=35
  4278       ORDER BY t1.rowid
  4279    }
  4280  } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  4281  do_test boundary3-2.23.gt.11 {
  4282    db eval {
  4283      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  4284       WHERE t2.a=35
  4285       ORDER BY t1.rowid DESC
  4286    }
  4287  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57}
  4288  do_test boundary3-2.23.ge.1 {
  4289    db eval {
  4290      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4291       WHERE t1.rowid >= 549755813888 ORDER BY t2.a
  4292    }
  4293  } {3 7 10 13 17 19 25 26 27 28 34 35 43 45 56 57}
  4294  do_test boundary3-2.23.ge.2 {
  4295    db eval {
  4296      SELECT t2.a FROM t2 NATURAL JOIN t1
  4297       WHERE t1.rowid >= 549755813888 ORDER BY t1.a DESC
  4298    }
  4299  } {57 56 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
  4300  do_test boundary3-2.23.ge.3 {
  4301    db eval {
  4302      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4303       WHERE t2.a=35
  4304       ORDER BY t1.rowid
  4305    }
  4306  } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  4307  do_test boundary3-2.23.ge.4 {
  4308    db eval {
  4309      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4310       WHERE t2.a=35
  4311       ORDER BY t1.rowid DESC
  4312    }
  4313  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35}
  4314  do_test boundary3-2.23.ge.5 {
  4315    db eval {
  4316      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4317       WHERE t2.a=35
  4318       ORDER BY x
  4319    }
  4320  } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  4321  do_test boundary3-2.23.ge.10 {
  4322    db eval {
  4323      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  4324       WHERE t2.a=35
  4325       ORDER BY t1.rowid
  4326    }
  4327  } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  4328  do_test boundary3-2.23.ge.11 {
  4329    db eval {
  4330      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  4331       WHERE t2.a=35
  4332       ORDER BY t1.rowid DESC
  4333    }
  4334  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35}
  4335  do_test boundary3-2.23.lt.1 {
  4336    db eval {
  4337      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4338       WHERE t1.rowid < 549755813888 ORDER BY t2.a
  4339    }
  4340  } {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}
  4341  do_test boundary3-2.23.lt.2 {
  4342    db eval {
  4343      SELECT t2.a FROM t2 NATURAL JOIN t1
  4344       WHERE t1.rowid < 549755813888 ORDER BY t1.a DESC
  4345    }
  4346  } {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}
  4347  do_test boundary3-2.23.lt.3 {
  4348    db eval {
  4349      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4350       WHERE t2.a=35
  4351       ORDER BY t1.rowid
  4352    }
  4353  } {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}
  4354  do_test boundary3-2.23.lt.4 {
  4355    db eval {
  4356      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4357       WHERE t2.a=35
  4358       ORDER BY t1.rowid DESC
  4359    }
  4360  } {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}
  4361  do_test boundary3-2.23.lt.5 {
  4362    db eval {
  4363      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4364       WHERE t2.a=35
  4365       ORDER BY x
  4366    }
  4367  } {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}
  4368  do_test boundary3-2.23.lt.10 {
  4369    db eval {
  4370      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  4371       WHERE t2.a=35
  4372       ORDER BY t1.rowid
  4373    }
  4374  } {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}
  4375  do_test boundary3-2.23.lt.11 {
  4376    db eval {
  4377      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  4378       WHERE t2.a=35
  4379       ORDER BY t1.rowid DESC
  4380    }
  4381  } {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}
  4382  do_test boundary3-2.23.le.1 {
  4383    db eval {
  4384      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4385       WHERE t1.rowid <= 549755813888 ORDER BY t2.a
  4386    }
  4387  } {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}
  4388  do_test boundary3-2.23.le.2 {
  4389    db eval {
  4390      SELECT t2.a FROM t2 NATURAL JOIN t1
  4391       WHERE t1.rowid <= 549755813888 ORDER BY t1.a DESC
  4392    }
  4393  } {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}
  4394  do_test boundary3-2.23.le.3 {
  4395    db eval {
  4396      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4397       WHERE t2.a=35
  4398       ORDER BY t1.rowid
  4399    }
  4400  } {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}
  4401  do_test boundary3-2.23.le.4 {
  4402    db eval {
  4403      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4404       WHERE t2.a=35
  4405       ORDER BY t1.rowid DESC
  4406    }
  4407  } {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}
  4408  do_test boundary3-2.23.le.5 {
  4409    db eval {
  4410      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4411       WHERE t2.a=35
  4412       ORDER BY x
  4413    }
  4414  } {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}
  4415  do_test boundary3-2.23.le.10 {
  4416    db eval {
  4417      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  4418       WHERE t2.a=35
  4419       ORDER BY t1.rowid
  4420    }
  4421  } {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}
  4422  do_test boundary3-2.23.le.11 {
  4423    db eval {
  4424      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  4425       WHERE t2.a=35
  4426       ORDER BY t1.rowid DESC
  4427    }
  4428  } {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}
  4429  do_test boundary3-2.24.1 {
  4430    db eval {
  4431      SELECT t1.* FROM t1, t2 WHERE t1.rowid=8388607 AND t2.a=t1.a
  4432    }
  4433  } {18 00000000007fffff}
  4434  do_test boundary3-2.24.2 {
  4435    db eval {
  4436      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000007fffff'
  4437    }
  4438  } {8388607 18}
  4439  do_test boundary3-2.24.3 {
  4440    db eval {
  4441      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=18
  4442    }
  4443  } {8388607 00000000007fffff}
  4444  do_test boundary3-2.24.gt.1 {
  4445    db eval {
  4446      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4447       WHERE t1.rowid > 8388607 ORDER BY t2.a
  4448    }
  4449  } {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}
  4450  do_test boundary3-2.24.gt.2 {
  4451    db eval {
  4452      SELECT t2.a FROM t2 NATURAL JOIN t1
  4453       WHERE t1.rowid > 8388607 ORDER BY t1.a DESC
  4454    }
  4455  } {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}
  4456  do_test boundary3-2.24.gt.3 {
  4457    db eval {
  4458      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4459       WHERE t2.a=18
  4460       ORDER BY t1.rowid
  4461    }
  4462  } {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}
  4463  do_test boundary3-2.24.gt.4 {
  4464    db eval {
  4465      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4466       WHERE t2.a=18
  4467       ORDER BY t1.rowid DESC
  4468    }
  4469  } {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}
  4470  do_test boundary3-2.24.gt.5 {
  4471    db eval {
  4472      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4473       WHERE t2.a=18
  4474       ORDER BY x
  4475    }
  4476  } {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}
  4477  do_test boundary3-2.24.gt.10 {
  4478    db eval {
  4479      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  4480       WHERE t2.a=18
  4481       ORDER BY t1.rowid
  4482    }
  4483  } {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}
  4484  do_test boundary3-2.24.gt.11 {
  4485    db eval {
  4486      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  4487       WHERE t2.a=18
  4488       ORDER BY t1.rowid DESC
  4489    }
  4490  } {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}
  4491  do_test boundary3-2.24.ge.1 {
  4492    db eval {
  4493      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4494       WHERE t1.rowid >= 8388607 ORDER BY t2.a
  4495    }
  4496  } {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}
  4497  do_test boundary3-2.24.ge.2 {
  4498    db eval {
  4499      SELECT t2.a FROM t2 NATURAL JOIN t1
  4500       WHERE t1.rowid >= 8388607 ORDER BY t1.a DESC
  4501    }
  4502  } {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}
  4503  do_test boundary3-2.24.ge.3 {
  4504    db eval {
  4505      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4506       WHERE t2.a=18
  4507       ORDER BY t1.rowid
  4508    }
  4509  } {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}
  4510  do_test boundary3-2.24.ge.4 {
  4511    db eval {
  4512      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4513       WHERE t2.a=18
  4514       ORDER BY t1.rowid DESC
  4515    }
  4516  } {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}
  4517  do_test boundary3-2.24.ge.5 {
  4518    db eval {
  4519      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4520       WHERE t2.a=18
  4521       ORDER BY x
  4522    }
  4523  } {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}
  4524  do_test boundary3-2.24.ge.10 {
  4525    db eval {
  4526      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  4527       WHERE t2.a=18
  4528       ORDER BY t1.rowid
  4529    }
  4530  } {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}
  4531  do_test boundary3-2.24.ge.11 {
  4532    db eval {
  4533      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  4534       WHERE t2.a=18
  4535       ORDER BY t1.rowid DESC
  4536    }
  4537  } {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}
  4538  do_test boundary3-2.24.lt.1 {
  4539    db eval {
  4540      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4541       WHERE t1.rowid < 8388607 ORDER BY t2.a
  4542    }
  4543  } {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}
  4544  do_test boundary3-2.24.lt.2 {
  4545    db eval {
  4546      SELECT t2.a FROM t2 NATURAL JOIN t1
  4547       WHERE t1.rowid < 8388607 ORDER BY t1.a DESC
  4548    }
  4549  } {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}
  4550  do_test boundary3-2.24.lt.3 {
  4551    db eval {
  4552      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4553       WHERE t2.a=18
  4554       ORDER BY t1.rowid
  4555    }
  4556  } {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}
  4557  do_test boundary3-2.24.lt.4 {
  4558    db eval {
  4559      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4560       WHERE t2.a=18
  4561       ORDER BY t1.rowid DESC
  4562    }
  4563  } {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}
  4564  do_test boundary3-2.24.lt.5 {
  4565    db eval {
  4566      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4567       WHERE t2.a=18
  4568       ORDER BY x
  4569    }
  4570  } {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}
  4571  do_test boundary3-2.24.lt.10 {
  4572    db eval {
  4573      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  4574       WHERE t2.a=18
  4575       ORDER BY t1.rowid
  4576    }
  4577  } {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}
  4578  do_test boundary3-2.24.lt.11 {
  4579    db eval {
  4580      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  4581       WHERE t2.a=18
  4582       ORDER BY t1.rowid DESC
  4583    }
  4584  } {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}
  4585  do_test boundary3-2.24.le.1 {
  4586    db eval {
  4587      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4588       WHERE t1.rowid <= 8388607 ORDER BY t2.a
  4589    }
  4590  } {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}
  4591  do_test boundary3-2.24.le.2 {
  4592    db eval {
  4593      SELECT t2.a FROM t2 NATURAL JOIN t1
  4594       WHERE t1.rowid <= 8388607 ORDER BY t1.a DESC
  4595    }
  4596  } {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}
  4597  do_test boundary3-2.24.le.3 {
  4598    db eval {
  4599      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4600       WHERE t2.a=18
  4601       ORDER BY t1.rowid
  4602    }
  4603  } {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}
  4604  do_test boundary3-2.24.le.4 {
  4605    db eval {
  4606      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4607       WHERE t2.a=18
  4608       ORDER BY t1.rowid DESC
  4609    }
  4610  } {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}
  4611  do_test boundary3-2.24.le.5 {
  4612    db eval {
  4613      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4614       WHERE t2.a=18
  4615       ORDER BY x
  4616    }
  4617  } {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}
  4618  do_test boundary3-2.24.le.10 {
  4619    db eval {
  4620      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  4621       WHERE t2.a=18
  4622       ORDER BY t1.rowid
  4623    }
  4624  } {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}
  4625  do_test boundary3-2.24.le.11 {
  4626    db eval {
  4627      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  4628       WHERE t2.a=18
  4629       ORDER BY t1.rowid DESC
  4630    }
  4631  } {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}
  4632  do_test boundary3-2.25.1 {
  4633    db eval {
  4634      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-3 AND t2.a=t1.a
  4635    }
  4636  } {52 fffffffffffffffd}
  4637  do_test boundary3-2.25.2 {
  4638    db eval {
  4639      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='fffffffffffffffd'
  4640    }
  4641  } {-3 52}
  4642  do_test boundary3-2.25.3 {
  4643    db eval {
  4644      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=52
  4645    }
  4646  } {-3 fffffffffffffffd}
  4647  do_test boundary3-2.25.gt.1 {
  4648    db eval {
  4649      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4650       WHERE t1.rowid > -3 ORDER BY t2.a
  4651    }
  4652  } {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}
  4653  do_test boundary3-2.25.gt.2 {
  4654    db eval {
  4655      SELECT t2.a FROM t2 NATURAL JOIN t1
  4656       WHERE t1.rowid > -3 ORDER BY t1.a DESC
  4657    }
  4658  } {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}
  4659  do_test boundary3-2.25.gt.3 {
  4660    db eval {
  4661      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4662       WHERE t2.a=52
  4663       ORDER BY t1.rowid
  4664    }
  4665  } {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}
  4666  do_test boundary3-2.25.gt.4 {
  4667    db eval {
  4668      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4669       WHERE t2.a=52
  4670       ORDER BY t1.rowid DESC
  4671    }
  4672  } {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}
  4673  do_test boundary3-2.25.gt.5 {
  4674    db eval {
  4675      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4676       WHERE t2.a=52
  4677       ORDER BY x
  4678    }
  4679  } {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}
  4680  do_test boundary3-2.25.gt.10 {
  4681    db eval {
  4682      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  4683       WHERE t2.a=52
  4684       ORDER BY t1.rowid
  4685    }
  4686  } {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}
  4687  do_test boundary3-2.25.gt.11 {
  4688    db eval {
  4689      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  4690       WHERE t2.a=52
  4691       ORDER BY t1.rowid DESC
  4692    }
  4693  } {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}
  4694  do_test boundary3-2.25.ge.1 {
  4695    db eval {
  4696      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4697       WHERE t1.rowid >= -3 ORDER BY t2.a
  4698    }
  4699  } {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}
  4700  do_test boundary3-2.25.ge.2 {
  4701    db eval {
  4702      SELECT t2.a FROM t2 NATURAL JOIN t1
  4703       WHERE t1.rowid >= -3 ORDER BY t1.a DESC
  4704    }
  4705  } {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}
  4706  do_test boundary3-2.25.ge.3 {
  4707    db eval {
  4708      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4709       WHERE t2.a=52
  4710       ORDER BY t1.rowid
  4711    }
  4712  } {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}
  4713  do_test boundary3-2.25.ge.4 {
  4714    db eval {
  4715      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4716       WHERE t2.a=52
  4717       ORDER BY t1.rowid DESC
  4718    }
  4719  } {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}
  4720  do_test boundary3-2.25.ge.5 {
  4721    db eval {
  4722      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4723       WHERE t2.a=52
  4724       ORDER BY x
  4725    }
  4726  } {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}
  4727  do_test boundary3-2.25.ge.10 {
  4728    db eval {
  4729      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  4730       WHERE t2.a=52
  4731       ORDER BY t1.rowid
  4732    }
  4733  } {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}
  4734  do_test boundary3-2.25.ge.11 {
  4735    db eval {
  4736      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  4737       WHERE t2.a=52
  4738       ORDER BY t1.rowid DESC
  4739    }
  4740  } {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}
  4741  do_test boundary3-2.25.lt.1 {
  4742    db eval {
  4743      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4744       WHERE t1.rowid < -3 ORDER BY t2.a
  4745    }
  4746  } {1 2 11 21 29 32 37 44 47 53 54 55 58 63 64}
  4747  do_test boundary3-2.25.lt.2 {
  4748    db eval {
  4749      SELECT t2.a FROM t2 NATURAL JOIN t1
  4750       WHERE t1.rowid < -3 ORDER BY t1.a DESC
  4751    }
  4752  } {64 63 58 55 54 53 47 44 37 32 29 21 11 2 1}
  4753  do_test boundary3-2.25.lt.3 {
  4754    db eval {
  4755      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4756       WHERE t2.a=52
  4757       ORDER BY t1.rowid
  4758    }
  4759  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
  4760  do_test boundary3-2.25.lt.4 {
  4761    db eval {
  4762      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4763       WHERE t2.a=52
  4764       ORDER BY t1.rowid DESC
  4765    }
  4766  } {53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  4767  do_test boundary3-2.25.lt.5 {
  4768    db eval {
  4769      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4770       WHERE t2.a=52
  4771       ORDER BY x
  4772    }
  4773  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
  4774  do_test boundary3-2.25.lt.10 {
  4775    db eval {
  4776      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  4777       WHERE t2.a=52
  4778       ORDER BY t1.rowid
  4779    }
  4780  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
  4781  do_test boundary3-2.25.lt.11 {
  4782    db eval {
  4783      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  4784       WHERE t2.a=52
  4785       ORDER BY t1.rowid DESC
  4786    }
  4787  } {53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  4788  do_test boundary3-2.25.le.1 {
  4789    db eval {
  4790      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4791       WHERE t1.rowid <= -3 ORDER BY t2.a
  4792    }
  4793  } {1 2 11 21 29 32 37 44 47 52 53 54 55 58 63 64}
  4794  do_test boundary3-2.25.le.2 {
  4795    db eval {
  4796      SELECT t2.a FROM t2 NATURAL JOIN t1
  4797       WHERE t1.rowid <= -3 ORDER BY t1.a DESC
  4798    }
  4799  } {64 63 58 55 54 53 52 47 44 37 32 29 21 11 2 1}
  4800  do_test boundary3-2.25.le.3 {
  4801    db eval {
  4802      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4803       WHERE t2.a=52
  4804       ORDER BY t1.rowid
  4805    }
  4806  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
  4807  do_test boundary3-2.25.le.4 {
  4808    db eval {
  4809      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4810       WHERE t2.a=52
  4811       ORDER BY t1.rowid DESC
  4812    }
  4813  } {52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  4814  do_test boundary3-2.25.le.5 {
  4815    db eval {
  4816      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  4817       WHERE t2.a=52
  4818       ORDER BY x
  4819    }
  4820  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
  4821  do_test boundary3-2.25.le.10 {
  4822    db eval {
  4823      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  4824       WHERE t2.a=52
  4825       ORDER BY t1.rowid
  4826    }
  4827  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
  4828  do_test boundary3-2.25.le.11 {
  4829    db eval {
  4830      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  4831       WHERE t2.a=52
  4832       ORDER BY t1.rowid DESC
  4833    }
  4834  } {52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  4835  do_test boundary3-2.26.1 {
  4836    db eval {
  4837      SELECT t1.* FROM t1, t2 WHERE t1.rowid=0 AND t2.a=t1.a
  4838    }
  4839  } {59 0000000000000000}
  4840  do_test boundary3-2.26.2 {
  4841    db eval {
  4842      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000000'
  4843    }
  4844  } {0 59}
  4845  do_test boundary3-2.26.3 {
  4846    db eval {
  4847      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=59
  4848    }
  4849  } {0 0000000000000000}
  4850  do_test boundary3-2.26.gt.1 {
  4851    db eval {
  4852      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4853       WHERE t1.rowid > 0 ORDER BY t2.a
  4854    }
  4855  } {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}
  4856  do_test boundary3-2.26.gt.2 {
  4857    db eval {
  4858      SELECT t2.a FROM t2 NATURAL JOIN t1
  4859       WHERE t1.rowid > 0 ORDER BY t1.a DESC
  4860    }
  4861  } {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}
  4862  do_test boundary3-2.26.gt.3 {
  4863    db eval {
  4864      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4865       WHERE t2.a=59
  4866       ORDER BY t1.rowid
  4867    }
  4868  } {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}
  4869  do_test boundary3-2.26.gt.4 {
  4870    db eval {
  4871      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4872       WHERE t2.a=59
  4873       ORDER BY t1.rowid DESC
  4874    }
  4875  } {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}
  4876  do_test boundary3-2.26.gt.5 {
  4877    db eval {
  4878      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  4879       WHERE t2.a=59
  4880       ORDER BY x
  4881    }
  4882  } {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}
  4883  do_test boundary3-2.26.gt.10 {
  4884    db eval {
  4885      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  4886       WHERE t2.a=59
  4887       ORDER BY t1.rowid
  4888    }
  4889  } {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}
  4890  do_test boundary3-2.26.gt.11 {
  4891    db eval {
  4892      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  4893       WHERE t2.a=59
  4894       ORDER BY t1.rowid DESC
  4895    }
  4896  } {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}
  4897  do_test boundary3-2.26.ge.1 {
  4898    db eval {
  4899      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4900       WHERE t1.rowid >= 0 ORDER BY t2.a
  4901    }
  4902  } {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}
  4903  do_test boundary3-2.26.ge.2 {
  4904    db eval {
  4905      SELECT t2.a FROM t2 NATURAL JOIN t1
  4906       WHERE t1.rowid >= 0 ORDER BY t1.a DESC
  4907    }
  4908  } {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}
  4909  do_test boundary3-2.26.ge.3 {
  4910    db eval {
  4911      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4912       WHERE t2.a=59
  4913       ORDER BY t1.rowid
  4914    }
  4915  } {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}
  4916  do_test boundary3-2.26.ge.4 {
  4917    db eval {
  4918      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4919       WHERE t2.a=59
  4920       ORDER BY t1.rowid DESC
  4921    }
  4922  } {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}
  4923  do_test boundary3-2.26.ge.5 {
  4924    db eval {
  4925      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  4926       WHERE t2.a=59
  4927       ORDER BY x
  4928    }
  4929  } {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}
  4930  do_test boundary3-2.26.ge.10 {
  4931    db eval {
  4932      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  4933       WHERE t2.a=59
  4934       ORDER BY t1.rowid
  4935    }
  4936  } {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}
  4937  do_test boundary3-2.26.ge.11 {
  4938    db eval {
  4939      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  4940       WHERE t2.a=59
  4941       ORDER BY t1.rowid DESC
  4942    }
  4943  } {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}
  4944  do_test boundary3-2.26.lt.1 {
  4945    db eval {
  4946      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4947       WHERE t1.rowid < 0 ORDER BY t2.a
  4948    }
  4949  } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 63 64}
  4950  do_test boundary3-2.26.lt.2 {
  4951    db eval {
  4952      SELECT t2.a FROM t2 NATURAL JOIN t1
  4953       WHERE t1.rowid < 0 ORDER BY t1.a DESC
  4954    }
  4955  } {64 63 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
  4956  do_test boundary3-2.26.lt.3 {
  4957    db eval {
  4958      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4959       WHERE t2.a=59
  4960       ORDER BY t1.rowid
  4961    }
  4962  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  4963  do_test boundary3-2.26.lt.4 {
  4964    db eval {
  4965      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4966       WHERE t2.a=59
  4967       ORDER BY t1.rowid DESC
  4968    }
  4969  } {38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  4970  do_test boundary3-2.26.lt.5 {
  4971    db eval {
  4972      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  4973       WHERE t2.a=59
  4974       ORDER BY x
  4975    }
  4976  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  4977  do_test boundary3-2.26.lt.10 {
  4978    db eval {
  4979      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  4980       WHERE t2.a=59
  4981       ORDER BY t1.rowid
  4982    }
  4983  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  4984  do_test boundary3-2.26.lt.11 {
  4985    db eval {
  4986      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  4987       WHERE t2.a=59
  4988       ORDER BY t1.rowid DESC
  4989    }
  4990  } {38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  4991  do_test boundary3-2.26.le.1 {
  4992    db eval {
  4993      SELECT t2.a FROM t1 JOIN t2 USING(a)
  4994       WHERE t1.rowid <= 0 ORDER BY t2.a
  4995    }
  4996  } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 63 64}
  4997  do_test boundary3-2.26.le.2 {
  4998    db eval {
  4999      SELECT t2.a FROM t2 NATURAL JOIN t1
  5000       WHERE t1.rowid <= 0 ORDER BY t1.a DESC
  5001    }
  5002  } {64 63 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
  5003  do_test boundary3-2.26.le.3 {
  5004    db eval {
  5005      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5006       WHERE t2.a=59
  5007       ORDER BY t1.rowid
  5008    }
  5009  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59}
  5010  do_test boundary3-2.26.le.4 {
  5011    db eval {
  5012      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5013       WHERE t2.a=59
  5014       ORDER BY t1.rowid DESC
  5015    }
  5016  } {59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5017  do_test boundary3-2.26.le.5 {
  5018    db eval {
  5019      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5020       WHERE t2.a=59
  5021       ORDER BY x
  5022    }
  5023  } {59 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  5024  do_test boundary3-2.26.le.10 {
  5025    db eval {
  5026      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  5027       WHERE t2.a=59
  5028       ORDER BY t1.rowid
  5029    }
  5030  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59}
  5031  do_test boundary3-2.26.le.11 {
  5032    db eval {
  5033      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  5034       WHERE t2.a=59
  5035       ORDER BY t1.rowid DESC
  5036    }
  5037  } {59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5038  do_test boundary3-2.27.1 {
  5039    db eval {
  5040      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-1 AND t2.a=t1.a
  5041    }
  5042  } {38 ffffffffffffffff}
  5043  do_test boundary3-2.27.2 {
  5044    db eval {
  5045      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffffffff'
  5046    }
  5047  } {-1 38}
  5048  do_test boundary3-2.27.3 {
  5049    db eval {
  5050      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=38
  5051    }
  5052  } {-1 ffffffffffffffff}
  5053  do_test boundary3-2.27.gt.1 {
  5054    db eval {
  5055      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5056       WHERE t1.rowid > -1 ORDER BY t2.a
  5057    }
  5058  } {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}
  5059  do_test boundary3-2.27.gt.2 {
  5060    db eval {
  5061      SELECT t2.a FROM t2 NATURAL JOIN t1
  5062       WHERE t1.rowid > -1 ORDER BY t1.a DESC
  5063    }
  5064  } {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}
  5065  do_test boundary3-2.27.gt.3 {
  5066    db eval {
  5067      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5068       WHERE t2.a=38
  5069       ORDER BY t1.rowid
  5070    }
  5071  } {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}
  5072  do_test boundary3-2.27.gt.4 {
  5073    db eval {
  5074      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5075       WHERE t2.a=38
  5076       ORDER BY t1.rowid DESC
  5077    }
  5078  } {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}
  5079  do_test boundary3-2.27.gt.5 {
  5080    db eval {
  5081      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5082       WHERE t2.a=38
  5083       ORDER BY x
  5084    }
  5085  } {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}
  5086  do_test boundary3-2.27.gt.10 {
  5087    db eval {
  5088      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  5089       WHERE t2.a=38
  5090       ORDER BY t1.rowid
  5091    }
  5092  } {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}
  5093  do_test boundary3-2.27.gt.11 {
  5094    db eval {
  5095      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  5096       WHERE t2.a=38
  5097       ORDER BY t1.rowid DESC
  5098    }
  5099  } {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}
  5100  do_test boundary3-2.27.ge.1 {
  5101    db eval {
  5102      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5103       WHERE t1.rowid >= -1 ORDER BY t2.a
  5104    }
  5105  } {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}
  5106  do_test boundary3-2.27.ge.2 {
  5107    db eval {
  5108      SELECT t2.a FROM t2 NATURAL JOIN t1
  5109       WHERE t1.rowid >= -1 ORDER BY t1.a DESC
  5110    }
  5111  } {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}
  5112  do_test boundary3-2.27.ge.3 {
  5113    db eval {
  5114      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5115       WHERE t2.a=38
  5116       ORDER BY t1.rowid
  5117    }
  5118  } {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}
  5119  do_test boundary3-2.27.ge.4 {
  5120    db eval {
  5121      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5122       WHERE t2.a=38
  5123       ORDER BY t1.rowid DESC
  5124    }
  5125  } {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}
  5126  do_test boundary3-2.27.ge.5 {
  5127    db eval {
  5128      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5129       WHERE t2.a=38
  5130       ORDER BY x
  5131    }
  5132  } {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}
  5133  do_test boundary3-2.27.ge.10 {
  5134    db eval {
  5135      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  5136       WHERE t2.a=38
  5137       ORDER BY t1.rowid
  5138    }
  5139  } {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}
  5140  do_test boundary3-2.27.ge.11 {
  5141    db eval {
  5142      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  5143       WHERE t2.a=38
  5144       ORDER BY t1.rowid DESC
  5145    }
  5146  } {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}
  5147  do_test boundary3-2.27.lt.1 {
  5148    db eval {
  5149      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5150       WHERE t1.rowid < -1 ORDER BY t2.a
  5151    }
  5152  } {1 2 11 21 29 32 33 37 44 47 52 53 54 55 58 63 64}
  5153  do_test boundary3-2.27.lt.2 {
  5154    db eval {
  5155      SELECT t2.a FROM t2 NATURAL JOIN t1
  5156       WHERE t1.rowid < -1 ORDER BY t1.a DESC
  5157    }
  5158  } {64 63 58 55 54 53 52 47 44 37 33 32 29 21 11 2 1}
  5159  do_test boundary3-2.27.lt.3 {
  5160    db eval {
  5161      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5162       WHERE t2.a=38
  5163       ORDER BY t1.rowid
  5164    }
  5165  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
  5166  do_test boundary3-2.27.lt.4 {
  5167    db eval {
  5168      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5169       WHERE t2.a=38
  5170       ORDER BY t1.rowid DESC
  5171    }
  5172  } {33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5173  do_test boundary3-2.27.lt.5 {
  5174    db eval {
  5175      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5176       WHERE t2.a=38
  5177       ORDER BY x
  5178    }
  5179  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
  5180  do_test boundary3-2.27.lt.10 {
  5181    db eval {
  5182      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  5183       WHERE t2.a=38
  5184       ORDER BY t1.rowid
  5185    }
  5186  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
  5187  do_test boundary3-2.27.lt.11 {
  5188    db eval {
  5189      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  5190       WHERE t2.a=38
  5191       ORDER BY t1.rowid DESC
  5192    }
  5193  } {33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5194  do_test boundary3-2.27.le.1 {
  5195    db eval {
  5196      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5197       WHERE t1.rowid <= -1 ORDER BY t2.a
  5198    }
  5199  } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 63 64}
  5200  do_test boundary3-2.27.le.2 {
  5201    db eval {
  5202      SELECT t2.a FROM t2 NATURAL JOIN t1
  5203       WHERE t1.rowid <= -1 ORDER BY t1.a DESC
  5204    }
  5205  } {64 63 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
  5206  do_test boundary3-2.27.le.3 {
  5207    db eval {
  5208      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5209       WHERE t2.a=38
  5210       ORDER BY t1.rowid
  5211    }
  5212  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  5213  do_test boundary3-2.27.le.4 {
  5214    db eval {
  5215      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5216       WHERE t2.a=38
  5217       ORDER BY t1.rowid DESC
  5218    }
  5219  } {38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5220  do_test boundary3-2.27.le.5 {
  5221    db eval {
  5222      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5223       WHERE t2.a=38
  5224       ORDER BY x
  5225    }
  5226  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  5227  do_test boundary3-2.27.le.10 {
  5228    db eval {
  5229      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  5230       WHERE t2.a=38
  5231       ORDER BY t1.rowid
  5232    }
  5233  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  5234  do_test boundary3-2.27.le.11 {
  5235    db eval {
  5236      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  5237       WHERE t2.a=38
  5238       ORDER BY t1.rowid DESC
  5239    }
  5240  } {38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5241  do_test boundary3-2.28.1 {
  5242    db eval {
  5243      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-2 AND t2.a=t1.a
  5244    }
  5245  } {33 fffffffffffffffe}
  5246  do_test boundary3-2.28.2 {
  5247    db eval {
  5248      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='fffffffffffffffe'
  5249    }
  5250  } {-2 33}
  5251  do_test boundary3-2.28.3 {
  5252    db eval {
  5253      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=33
  5254    }
  5255  } {-2 fffffffffffffffe}
  5256  do_test boundary3-2.28.gt.1 {
  5257    db eval {
  5258      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5259       WHERE t1.rowid > -2 ORDER BY t2.a
  5260    }
  5261  } {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}
  5262  do_test boundary3-2.28.gt.2 {
  5263    db eval {
  5264      SELECT t2.a FROM t2 NATURAL JOIN t1
  5265       WHERE t1.rowid > -2 ORDER BY t1.a DESC
  5266    }
  5267  } {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}
  5268  do_test boundary3-2.28.gt.3 {
  5269    db eval {
  5270      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5271       WHERE t2.a=33
  5272       ORDER BY t1.rowid
  5273    }
  5274  } {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}
  5275  do_test boundary3-2.28.gt.4 {
  5276    db eval {
  5277      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5278       WHERE t2.a=33
  5279       ORDER BY t1.rowid DESC
  5280    }
  5281  } {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}
  5282  do_test boundary3-2.28.gt.5 {
  5283    db eval {
  5284      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5285       WHERE t2.a=33
  5286       ORDER BY x
  5287    }
  5288  } {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}
  5289  do_test boundary3-2.28.gt.10 {
  5290    db eval {
  5291      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  5292       WHERE t2.a=33
  5293       ORDER BY t1.rowid
  5294    }
  5295  } {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}
  5296  do_test boundary3-2.28.gt.11 {
  5297    db eval {
  5298      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  5299       WHERE t2.a=33
  5300       ORDER BY t1.rowid DESC
  5301    }
  5302  } {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}
  5303  do_test boundary3-2.28.ge.1 {
  5304    db eval {
  5305      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5306       WHERE t1.rowid >= -2 ORDER BY t2.a
  5307    }
  5308  } {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}
  5309  do_test boundary3-2.28.ge.2 {
  5310    db eval {
  5311      SELECT t2.a FROM t2 NATURAL JOIN t1
  5312       WHERE t1.rowid >= -2 ORDER BY t1.a DESC
  5313    }
  5314  } {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}
  5315  do_test boundary3-2.28.ge.3 {
  5316    db eval {
  5317      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5318       WHERE t2.a=33
  5319       ORDER BY t1.rowid
  5320    }
  5321  } {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}
  5322  do_test boundary3-2.28.ge.4 {
  5323    db eval {
  5324      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5325       WHERE t2.a=33
  5326       ORDER BY t1.rowid DESC
  5327    }
  5328  } {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}
  5329  do_test boundary3-2.28.ge.5 {
  5330    db eval {
  5331      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5332       WHERE t2.a=33
  5333       ORDER BY x
  5334    }
  5335  } {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}
  5336  do_test boundary3-2.28.ge.10 {
  5337    db eval {
  5338      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  5339       WHERE t2.a=33
  5340       ORDER BY t1.rowid
  5341    }
  5342  } {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}
  5343  do_test boundary3-2.28.ge.11 {
  5344    db eval {
  5345      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  5346       WHERE t2.a=33
  5347       ORDER BY t1.rowid DESC
  5348    }
  5349  } {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}
  5350  do_test boundary3-2.28.lt.1 {
  5351    db eval {
  5352      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5353       WHERE t1.rowid < -2 ORDER BY t2.a
  5354    }
  5355  } {1 2 11 21 29 32 37 44 47 52 53 54 55 58 63 64}
  5356  do_test boundary3-2.28.lt.2 {
  5357    db eval {
  5358      SELECT t2.a FROM t2 NATURAL JOIN t1
  5359       WHERE t1.rowid < -2 ORDER BY t1.a DESC
  5360    }
  5361  } {64 63 58 55 54 53 52 47 44 37 32 29 21 11 2 1}
  5362  do_test boundary3-2.28.lt.3 {
  5363    db eval {
  5364      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5365       WHERE t2.a=33
  5366       ORDER BY t1.rowid
  5367    }
  5368  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
  5369  do_test boundary3-2.28.lt.4 {
  5370    db eval {
  5371      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5372       WHERE t2.a=33
  5373       ORDER BY t1.rowid DESC
  5374    }
  5375  } {52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5376  do_test boundary3-2.28.lt.5 {
  5377    db eval {
  5378      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5379       WHERE t2.a=33
  5380       ORDER BY x
  5381    }
  5382  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
  5383  do_test boundary3-2.28.lt.10 {
  5384    db eval {
  5385      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  5386       WHERE t2.a=33
  5387       ORDER BY t1.rowid
  5388    }
  5389  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
  5390  do_test boundary3-2.28.lt.11 {
  5391    db eval {
  5392      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  5393       WHERE t2.a=33
  5394       ORDER BY t1.rowid DESC
  5395    }
  5396  } {52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5397  do_test boundary3-2.28.le.1 {
  5398    db eval {
  5399      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5400       WHERE t1.rowid <= -2 ORDER BY t2.a
  5401    }
  5402  } {1 2 11 21 29 32 33 37 44 47 52 53 54 55 58 63 64}
  5403  do_test boundary3-2.28.le.2 {
  5404    db eval {
  5405      SELECT t2.a FROM t2 NATURAL JOIN t1
  5406       WHERE t1.rowid <= -2 ORDER BY t1.a DESC
  5407    }
  5408  } {64 63 58 55 54 53 52 47 44 37 33 32 29 21 11 2 1}
  5409  do_test boundary3-2.28.le.3 {
  5410    db eval {
  5411      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5412       WHERE t2.a=33
  5413       ORDER BY t1.rowid
  5414    }
  5415  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
  5416  do_test boundary3-2.28.le.4 {
  5417    db eval {
  5418      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5419       WHERE t2.a=33
  5420       ORDER BY t1.rowid DESC
  5421    }
  5422  } {33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5423  do_test boundary3-2.28.le.5 {
  5424    db eval {
  5425      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5426       WHERE t2.a=33
  5427       ORDER BY x
  5428    }
  5429  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
  5430  do_test boundary3-2.28.le.10 {
  5431    db eval {
  5432      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  5433       WHERE t2.a=33
  5434       ORDER BY t1.rowid
  5435    }
  5436  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
  5437  do_test boundary3-2.28.le.11 {
  5438    db eval {
  5439      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  5440       WHERE t2.a=33
  5441       ORDER BY t1.rowid DESC
  5442    }
  5443  } {33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5444  do_test boundary3-2.29.1 {
  5445    db eval {
  5446      SELECT t1.* FROM t1, t2 WHERE t1.rowid=2097152 AND t2.a=t1.a
  5447    }
  5448  } {42 0000000000200000}
  5449  do_test boundary3-2.29.2 {
  5450    db eval {
  5451      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000200000'
  5452    }
  5453  } {2097152 42}
  5454  do_test boundary3-2.29.3 {
  5455    db eval {
  5456      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=42
  5457    }
  5458  } {2097152 0000000000200000}
  5459  do_test boundary3-2.29.gt.1 {
  5460    db eval {
  5461      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5462       WHERE t1.rowid > 2097152 ORDER BY t2.a
  5463    }
  5464  } {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}
  5465  do_test boundary3-2.29.gt.2 {
  5466    db eval {
  5467      SELECT t2.a FROM t2 NATURAL JOIN t1
  5468       WHERE t1.rowid > 2097152 ORDER BY t1.a DESC
  5469    }
  5470  } {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}
  5471  do_test boundary3-2.29.gt.3 {
  5472    db eval {
  5473      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5474       WHERE t2.a=42
  5475       ORDER BY t1.rowid
  5476    }
  5477  } {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}
  5478  do_test boundary3-2.29.gt.4 {
  5479    db eval {
  5480      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5481       WHERE t2.a=42
  5482       ORDER BY t1.rowid DESC
  5483    }
  5484  } {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}
  5485  do_test boundary3-2.29.gt.5 {
  5486    db eval {
  5487      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5488       WHERE t2.a=42
  5489       ORDER BY x
  5490    }
  5491  } {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}
  5492  do_test boundary3-2.29.gt.10 {
  5493    db eval {
  5494      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  5495       WHERE t2.a=42
  5496       ORDER BY t1.rowid
  5497    }
  5498  } {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}
  5499  do_test boundary3-2.29.gt.11 {
  5500    db eval {
  5501      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  5502       WHERE t2.a=42
  5503       ORDER BY t1.rowid DESC
  5504    }
  5505  } {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}
  5506  do_test boundary3-2.29.ge.1 {
  5507    db eval {
  5508      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5509       WHERE t1.rowid >= 2097152 ORDER BY t2.a
  5510    }
  5511  } {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}
  5512  do_test boundary3-2.29.ge.2 {
  5513    db eval {
  5514      SELECT t2.a FROM t2 NATURAL JOIN t1
  5515       WHERE t1.rowid >= 2097152 ORDER BY t1.a DESC
  5516    }
  5517  } {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}
  5518  do_test boundary3-2.29.ge.3 {
  5519    db eval {
  5520      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5521       WHERE t2.a=42
  5522       ORDER BY t1.rowid
  5523    }
  5524  } {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}
  5525  do_test boundary3-2.29.ge.4 {
  5526    db eval {
  5527      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5528       WHERE t2.a=42
  5529       ORDER BY t1.rowid DESC
  5530    }
  5531  } {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}
  5532  do_test boundary3-2.29.ge.5 {
  5533    db eval {
  5534      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5535       WHERE t2.a=42
  5536       ORDER BY x
  5537    }
  5538  } {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}
  5539  do_test boundary3-2.29.ge.10 {
  5540    db eval {
  5541      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  5542       WHERE t2.a=42
  5543       ORDER BY t1.rowid
  5544    }
  5545  } {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}
  5546  do_test boundary3-2.29.ge.11 {
  5547    db eval {
  5548      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  5549       WHERE t2.a=42
  5550       ORDER BY t1.rowid DESC
  5551    }
  5552  } {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}
  5553  do_test boundary3-2.29.lt.1 {
  5554    db eval {
  5555      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5556       WHERE t1.rowid < 2097152 ORDER BY t2.a
  5557    }
  5558  } {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}
  5559  do_test boundary3-2.29.lt.2 {
  5560    db eval {
  5561      SELECT t2.a FROM t2 NATURAL JOIN t1
  5562       WHERE t1.rowid < 2097152 ORDER BY t1.a DESC
  5563    }
  5564  } {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}
  5565  do_test boundary3-2.29.lt.3 {
  5566    db eval {
  5567      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5568       WHERE t2.a=42
  5569       ORDER BY t1.rowid
  5570    }
  5571  } {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}
  5572  do_test boundary3-2.29.lt.4 {
  5573    db eval {
  5574      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5575       WHERE t2.a=42
  5576       ORDER BY t1.rowid DESC
  5577    }
  5578  } {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}
  5579  do_test boundary3-2.29.lt.5 {
  5580    db eval {
  5581      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5582       WHERE t2.a=42
  5583       ORDER BY x
  5584    }
  5585  } {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}
  5586  do_test boundary3-2.29.lt.10 {
  5587    db eval {
  5588      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  5589       WHERE t2.a=42
  5590       ORDER BY t1.rowid
  5591    }
  5592  } {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}
  5593  do_test boundary3-2.29.lt.11 {
  5594    db eval {
  5595      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  5596       WHERE t2.a=42
  5597       ORDER BY t1.rowid DESC
  5598    }
  5599  } {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}
  5600  do_test boundary3-2.29.le.1 {
  5601    db eval {
  5602      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5603       WHERE t1.rowid <= 2097152 ORDER BY t2.a
  5604    }
  5605  } {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}
  5606  do_test boundary3-2.29.le.2 {
  5607    db eval {
  5608      SELECT t2.a FROM t2 NATURAL JOIN t1
  5609       WHERE t1.rowid <= 2097152 ORDER BY t1.a DESC
  5610    }
  5611  } {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}
  5612  do_test boundary3-2.29.le.3 {
  5613    db eval {
  5614      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5615       WHERE t2.a=42
  5616       ORDER BY t1.rowid
  5617    }
  5618  } {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}
  5619  do_test boundary3-2.29.le.4 {
  5620    db eval {
  5621      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5622       WHERE t2.a=42
  5623       ORDER BY t1.rowid DESC
  5624    }
  5625  } {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}
  5626  do_test boundary3-2.29.le.5 {
  5627    db eval {
  5628      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5629       WHERE t2.a=42
  5630       ORDER BY x
  5631    }
  5632  } {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}
  5633  do_test boundary3-2.29.le.10 {
  5634    db eval {
  5635      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  5636       WHERE t2.a=42
  5637       ORDER BY t1.rowid
  5638    }
  5639  } {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}
  5640  do_test boundary3-2.29.le.11 {
  5641    db eval {
  5642      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  5643       WHERE t2.a=42
  5644       ORDER BY t1.rowid DESC
  5645    }
  5646  } {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}
  5647  do_test boundary3-2.30.1 {
  5648    db eval {
  5649      SELECT t1.* FROM t1, t2 WHERE t1.rowid=128 AND t2.a=t1.a
  5650    }
  5651  } {49 0000000000000080}
  5652  do_test boundary3-2.30.2 {
  5653    db eval {
  5654      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000080'
  5655    }
  5656  } {128 49}
  5657  do_test boundary3-2.30.3 {
  5658    db eval {
  5659      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=49
  5660    }
  5661  } {128 0000000000000080}
  5662  do_test boundary3-2.30.gt.1 {
  5663    db eval {
  5664      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5665       WHERE t1.rowid > 128 ORDER BY t2.a
  5666    }
  5667  } {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}
  5668  do_test boundary3-2.30.gt.2 {
  5669    db eval {
  5670      SELECT t2.a FROM t2 NATURAL JOIN t1
  5671       WHERE t1.rowid > 128 ORDER BY t1.a DESC
  5672    }
  5673  } {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}
  5674  do_test boundary3-2.30.gt.3 {
  5675    db eval {
  5676      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5677       WHERE t2.a=49
  5678       ORDER BY t1.rowid
  5679    }
  5680  } {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}
  5681  do_test boundary3-2.30.gt.4 {
  5682    db eval {
  5683      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5684       WHERE t2.a=49
  5685       ORDER BY t1.rowid DESC
  5686    }
  5687  } {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}
  5688  do_test boundary3-2.30.gt.5 {
  5689    db eval {
  5690      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5691       WHERE t2.a=49
  5692       ORDER BY x
  5693    }
  5694  } {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}
  5695  do_test boundary3-2.30.gt.10 {
  5696    db eval {
  5697      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  5698       WHERE t2.a=49
  5699       ORDER BY t1.rowid
  5700    }
  5701  } {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}
  5702  do_test boundary3-2.30.gt.11 {
  5703    db eval {
  5704      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  5705       WHERE t2.a=49
  5706       ORDER BY t1.rowid DESC
  5707    }
  5708  } {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}
  5709  do_test boundary3-2.30.ge.1 {
  5710    db eval {
  5711      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5712       WHERE t1.rowid >= 128 ORDER BY t2.a
  5713    }
  5714  } {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}
  5715  do_test boundary3-2.30.ge.2 {
  5716    db eval {
  5717      SELECT t2.a FROM t2 NATURAL JOIN t1
  5718       WHERE t1.rowid >= 128 ORDER BY t1.a DESC
  5719    }
  5720  } {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}
  5721  do_test boundary3-2.30.ge.3 {
  5722    db eval {
  5723      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5724       WHERE t2.a=49
  5725       ORDER BY t1.rowid
  5726    }
  5727  } {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}
  5728  do_test boundary3-2.30.ge.4 {
  5729    db eval {
  5730      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5731       WHERE t2.a=49
  5732       ORDER BY t1.rowid DESC
  5733    }
  5734  } {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}
  5735  do_test boundary3-2.30.ge.5 {
  5736    db eval {
  5737      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5738       WHERE t2.a=49
  5739       ORDER BY x
  5740    }
  5741  } {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}
  5742  do_test boundary3-2.30.ge.10 {
  5743    db eval {
  5744      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  5745       WHERE t2.a=49
  5746       ORDER BY t1.rowid
  5747    }
  5748  } {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}
  5749  do_test boundary3-2.30.ge.11 {
  5750    db eval {
  5751      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  5752       WHERE t2.a=49
  5753       ORDER BY t1.rowid DESC
  5754    }
  5755  } {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}
  5756  do_test boundary3-2.30.lt.1 {
  5757    db eval {
  5758      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5759       WHERE t1.rowid < 128 ORDER BY t2.a
  5760    }
  5761  } {1 2 4 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
  5762  do_test boundary3-2.30.lt.2 {
  5763    db eval {
  5764      SELECT t2.a FROM t2 NATURAL JOIN t1
  5765       WHERE t1.rowid < 128 ORDER BY t1.a DESC
  5766    }
  5767  } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 4 2 1}
  5768  do_test boundary3-2.30.lt.3 {
  5769    db eval {
  5770      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5771       WHERE t2.a=49
  5772       ORDER BY t1.rowid
  5773    }
  5774  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4}
  5775  do_test boundary3-2.30.lt.4 {
  5776    db eval {
  5777      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5778       WHERE t2.a=49
  5779       ORDER BY t1.rowid DESC
  5780    }
  5781  } {4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5782  do_test boundary3-2.30.lt.5 {
  5783    db eval {
  5784      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5785       WHERE t2.a=49
  5786       ORDER BY x
  5787    }
  5788  } {59 60 41 5 31 4 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
  5789  do_test boundary3-2.30.lt.10 {
  5790    db eval {
  5791      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  5792       WHERE t2.a=49
  5793       ORDER BY t1.rowid
  5794    }
  5795  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4}
  5796  do_test boundary3-2.30.lt.11 {
  5797    db eval {
  5798      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  5799       WHERE t2.a=49
  5800       ORDER BY t1.rowid DESC
  5801    }
  5802  } {4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  5803  do_test boundary3-2.30.le.1 {
  5804    db eval {
  5805      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5806       WHERE t1.rowid <= 128 ORDER BY t2.a
  5807    }
  5808  } {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}
  5809  do_test boundary3-2.30.le.2 {
  5810    db eval {
  5811      SELECT t2.a FROM t2 NATURAL JOIN t1
  5812       WHERE t1.rowid <= 128 ORDER BY t1.a DESC
  5813    }
  5814  } {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}
  5815  do_test boundary3-2.30.le.3 {
  5816    db eval {
  5817      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5818       WHERE t2.a=49
  5819       ORDER BY t1.rowid
  5820    }
  5821  } {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}
  5822  do_test boundary3-2.30.le.4 {
  5823    db eval {
  5824      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5825       WHERE t2.a=49
  5826       ORDER BY t1.rowid DESC
  5827    }
  5828  } {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}
  5829  do_test boundary3-2.30.le.5 {
  5830    db eval {
  5831      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  5832       WHERE t2.a=49
  5833       ORDER BY x
  5834    }
  5835  } {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}
  5836  do_test boundary3-2.30.le.10 {
  5837    db eval {
  5838      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  5839       WHERE t2.a=49
  5840       ORDER BY t1.rowid
  5841    }
  5842  } {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}
  5843  do_test boundary3-2.30.le.11 {
  5844    db eval {
  5845      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  5846       WHERE t2.a=49
  5847       ORDER BY t1.rowid DESC
  5848    }
  5849  } {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}
  5850  do_test boundary3-2.31.1 {
  5851    db eval {
  5852      SELECT t1.* FROM t1, t2 WHERE t1.rowid=255 AND t2.a=t1.a
  5853    }
  5854  } {30 00000000000000ff}
  5855  do_test boundary3-2.31.2 {
  5856    db eval {
  5857      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000000000ff'
  5858    }
  5859  } {255 30}
  5860  do_test boundary3-2.31.3 {
  5861    db eval {
  5862      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=30
  5863    }
  5864  } {255 00000000000000ff}
  5865  do_test boundary3-2.31.gt.1 {
  5866    db eval {
  5867      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5868       WHERE t1.rowid > 255 ORDER BY t2.a
  5869    }
  5870  } {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}
  5871  do_test boundary3-2.31.gt.2 {
  5872    db eval {
  5873      SELECT t2.a FROM t2 NATURAL JOIN t1
  5874       WHERE t1.rowid > 255 ORDER BY t1.a DESC
  5875    }
  5876  } {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}
  5877  do_test boundary3-2.31.gt.3 {
  5878    db eval {
  5879      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5880       WHERE t2.a=30
  5881       ORDER BY t1.rowid
  5882    }
  5883  } {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}
  5884  do_test boundary3-2.31.gt.4 {
  5885    db eval {
  5886      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5887       WHERE t2.a=30
  5888       ORDER BY t1.rowid DESC
  5889    }
  5890  } {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}
  5891  do_test boundary3-2.31.gt.5 {
  5892    db eval {
  5893      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  5894       WHERE t2.a=30
  5895       ORDER BY x
  5896    }
  5897  } {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}
  5898  do_test boundary3-2.31.gt.10 {
  5899    db eval {
  5900      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  5901       WHERE t2.a=30
  5902       ORDER BY t1.rowid
  5903    }
  5904  } {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}
  5905  do_test boundary3-2.31.gt.11 {
  5906    db eval {
  5907      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  5908       WHERE t2.a=30
  5909       ORDER BY t1.rowid DESC
  5910    }
  5911  } {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}
  5912  do_test boundary3-2.31.ge.1 {
  5913    db eval {
  5914      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5915       WHERE t1.rowid >= 255 ORDER BY t2.a
  5916    }
  5917  } {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}
  5918  do_test boundary3-2.31.ge.2 {
  5919    db eval {
  5920      SELECT t2.a FROM t2 NATURAL JOIN t1
  5921       WHERE t1.rowid >= 255 ORDER BY t1.a DESC
  5922    }
  5923  } {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}
  5924  do_test boundary3-2.31.ge.3 {
  5925    db eval {
  5926      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5927       WHERE t2.a=30
  5928       ORDER BY t1.rowid
  5929    }
  5930  } {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}
  5931  do_test boundary3-2.31.ge.4 {
  5932    db eval {
  5933      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5934       WHERE t2.a=30
  5935       ORDER BY t1.rowid DESC
  5936    }
  5937  } {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}
  5938  do_test boundary3-2.31.ge.5 {
  5939    db eval {
  5940      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  5941       WHERE t2.a=30
  5942       ORDER BY x
  5943    }
  5944  } {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}
  5945  do_test boundary3-2.31.ge.10 {
  5946    db eval {
  5947      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  5948       WHERE t2.a=30
  5949       ORDER BY t1.rowid
  5950    }
  5951  } {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}
  5952  do_test boundary3-2.31.ge.11 {
  5953    db eval {
  5954      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  5955       WHERE t2.a=30
  5956       ORDER BY t1.rowid DESC
  5957    }
  5958  } {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}
  5959  do_test boundary3-2.31.lt.1 {
  5960    db eval {
  5961      SELECT t2.a FROM t1 JOIN t2 USING(a)
  5962       WHERE t1.rowid < 255 ORDER BY t2.a
  5963    }
  5964  } {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}
  5965  do_test boundary3-2.31.lt.2 {
  5966    db eval {
  5967      SELECT t2.a FROM t2 NATURAL JOIN t1
  5968       WHERE t1.rowid < 255 ORDER BY t1.a DESC
  5969    }
  5970  } {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}
  5971  do_test boundary3-2.31.lt.3 {
  5972    db eval {
  5973      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5974       WHERE t2.a=30
  5975       ORDER BY t1.rowid
  5976    }
  5977  } {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}
  5978  do_test boundary3-2.31.lt.4 {
  5979    db eval {
  5980      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5981       WHERE t2.a=30
  5982       ORDER BY t1.rowid DESC
  5983    }
  5984  } {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}
  5985  do_test boundary3-2.31.lt.5 {
  5986    db eval {
  5987      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  5988       WHERE t2.a=30
  5989       ORDER BY x
  5990    }
  5991  } {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}
  5992  do_test boundary3-2.31.lt.10 {
  5993    db eval {
  5994      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  5995       WHERE t2.a=30
  5996       ORDER BY t1.rowid
  5997    }
  5998  } {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}
  5999  do_test boundary3-2.31.lt.11 {
  6000    db eval {
  6001      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  6002       WHERE t2.a=30
  6003       ORDER BY t1.rowid DESC
  6004    }
  6005  } {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}
  6006  do_test boundary3-2.31.le.1 {
  6007    db eval {
  6008      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6009       WHERE t1.rowid <= 255 ORDER BY t2.a
  6010    }
  6011  } {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}
  6012  do_test boundary3-2.31.le.2 {
  6013    db eval {
  6014      SELECT t2.a FROM t2 NATURAL JOIN t1
  6015       WHERE t1.rowid <= 255 ORDER BY t1.a DESC
  6016    }
  6017  } {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}
  6018  do_test boundary3-2.31.le.3 {
  6019    db eval {
  6020      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6021       WHERE t2.a=30
  6022       ORDER BY t1.rowid
  6023    }
  6024  } {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}
  6025  do_test boundary3-2.31.le.4 {
  6026    db eval {
  6027      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6028       WHERE t2.a=30
  6029       ORDER BY t1.rowid DESC
  6030    }
  6031  } {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}
  6032  do_test boundary3-2.31.le.5 {
  6033    db eval {
  6034      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6035       WHERE t2.a=30
  6036       ORDER BY x
  6037    }
  6038  } {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}
  6039  do_test boundary3-2.31.le.10 {
  6040    db eval {
  6041      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  6042       WHERE t2.a=30
  6043       ORDER BY t1.rowid
  6044    }
  6045  } {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}
  6046  do_test boundary3-2.31.le.11 {
  6047    db eval {
  6048      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  6049       WHERE t2.a=30
  6050       ORDER BY t1.rowid DESC
  6051    }
  6052  } {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}
  6053  do_test boundary3-2.32.1 {
  6054    db eval {
  6055      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-2147483648 AND t2.a=t1.a
  6056    }
  6057  } {11 ffffffff80000000}
  6058  do_test boundary3-2.32.2 {
  6059    db eval {
  6060      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffff80000000'
  6061    }
  6062  } {-2147483648 11}
  6063  do_test boundary3-2.32.3 {
  6064    db eval {
  6065      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=11
  6066    }
  6067  } {-2147483648 ffffffff80000000}
  6068  do_test boundary3-2.32.gt.1 {
  6069    db eval {
  6070      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6071       WHERE t1.rowid > -2147483648 ORDER BY t2.a
  6072    }
  6073  } {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}
  6074  do_test boundary3-2.32.gt.2 {
  6075    db eval {
  6076      SELECT t2.a FROM t2 NATURAL JOIN t1
  6077       WHERE t1.rowid > -2147483648 ORDER BY t1.a DESC
  6078    }
  6079  } {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}
  6080  do_test boundary3-2.32.gt.3 {
  6081    db eval {
  6082      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6083       WHERE t2.a=11
  6084       ORDER BY t1.rowid
  6085    }
  6086  } {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}
  6087  do_test boundary3-2.32.gt.4 {
  6088    db eval {
  6089      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6090       WHERE t2.a=11
  6091       ORDER BY t1.rowid DESC
  6092    }
  6093  } {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}
  6094  do_test boundary3-2.32.gt.5 {
  6095    db eval {
  6096      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6097       WHERE t2.a=11
  6098       ORDER BY x
  6099    }
  6100  } {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}
  6101  do_test boundary3-2.32.gt.10 {
  6102    db eval {
  6103      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  6104       WHERE t2.a=11
  6105       ORDER BY t1.rowid
  6106    }
  6107  } {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}
  6108  do_test boundary3-2.32.gt.11 {
  6109    db eval {
  6110      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  6111       WHERE t2.a=11
  6112       ORDER BY t1.rowid DESC
  6113    }
  6114  } {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}
  6115  do_test boundary3-2.32.ge.1 {
  6116    db eval {
  6117      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6118       WHERE t1.rowid >= -2147483648 ORDER BY t2.a
  6119    }
  6120  } {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}
  6121  do_test boundary3-2.32.ge.2 {
  6122    db eval {
  6123      SELECT t2.a FROM t2 NATURAL JOIN t1
  6124       WHERE t1.rowid >= -2147483648 ORDER BY t1.a DESC
  6125    }
  6126  } {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}
  6127  do_test boundary3-2.32.ge.3 {
  6128    db eval {
  6129      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6130       WHERE t2.a=11
  6131       ORDER BY t1.rowid
  6132    }
  6133  } {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}
  6134  do_test boundary3-2.32.ge.4 {
  6135    db eval {
  6136      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6137       WHERE t2.a=11
  6138       ORDER BY t1.rowid DESC
  6139    }
  6140  } {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}
  6141  do_test boundary3-2.32.ge.5 {
  6142    db eval {
  6143      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6144       WHERE t2.a=11
  6145       ORDER BY x
  6146    }
  6147  } {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}
  6148  do_test boundary3-2.32.ge.10 {
  6149    db eval {
  6150      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  6151       WHERE t2.a=11
  6152       ORDER BY t1.rowid
  6153    }
  6154  } {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}
  6155  do_test boundary3-2.32.ge.11 {
  6156    db eval {
  6157      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  6158       WHERE t2.a=11
  6159       ORDER BY t1.rowid DESC
  6160    }
  6161  } {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}
  6162  do_test boundary3-2.32.lt.1 {
  6163    db eval {
  6164      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6165       WHERE t1.rowid < -2147483648 ORDER BY t2.a
  6166    }
  6167  } {2 21 44 47 55 58 63 64}
  6168  do_test boundary3-2.32.lt.2 {
  6169    db eval {
  6170      SELECT t2.a FROM t2 NATURAL JOIN t1
  6171       WHERE t1.rowid < -2147483648 ORDER BY t1.a DESC
  6172    }
  6173  } {64 63 58 55 47 44 21 2}
  6174  do_test boundary3-2.32.lt.3 {
  6175    db eval {
  6176      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6177       WHERE t2.a=11
  6178       ORDER BY t1.rowid
  6179    }
  6180  } {55 2 64 21 44 58 63 47}
  6181  do_test boundary3-2.32.lt.4 {
  6182    db eval {
  6183      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6184       WHERE t2.a=11
  6185       ORDER BY t1.rowid DESC
  6186    }
  6187  } {47 63 58 44 21 64 2 55}
  6188  do_test boundary3-2.32.lt.5 {
  6189    db eval {
  6190      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6191       WHERE t2.a=11
  6192       ORDER BY x
  6193    }
  6194  } {55 2 64 21 44 58 63 47}
  6195  do_test boundary3-2.32.lt.10 {
  6196    db eval {
  6197      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  6198       WHERE t2.a=11
  6199       ORDER BY t1.rowid
  6200    }
  6201  } {55 2 64 21 44 58 63 47}
  6202  do_test boundary3-2.32.lt.11 {
  6203    db eval {
  6204      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  6205       WHERE t2.a=11
  6206       ORDER BY t1.rowid DESC
  6207    }
  6208  } {47 63 58 44 21 64 2 55}
  6209  do_test boundary3-2.32.le.1 {
  6210    db eval {
  6211      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6212       WHERE t1.rowid <= -2147483648 ORDER BY t2.a
  6213    }
  6214  } {2 11 21 44 47 55 58 63 64}
  6215  do_test boundary3-2.32.le.2 {
  6216    db eval {
  6217      SELECT t2.a FROM t2 NATURAL JOIN t1
  6218       WHERE t1.rowid <= -2147483648 ORDER BY t1.a DESC
  6219    }
  6220  } {64 63 58 55 47 44 21 11 2}
  6221  do_test boundary3-2.32.le.3 {
  6222    db eval {
  6223      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6224       WHERE t2.a=11
  6225       ORDER BY t1.rowid
  6226    }
  6227  } {55 2 64 21 44 58 63 47 11}
  6228  do_test boundary3-2.32.le.4 {
  6229    db eval {
  6230      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6231       WHERE t2.a=11
  6232       ORDER BY t1.rowid DESC
  6233    }
  6234  } {11 47 63 58 44 21 64 2 55}
  6235  do_test boundary3-2.32.le.5 {
  6236    db eval {
  6237      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6238       WHERE t2.a=11
  6239       ORDER BY x
  6240    }
  6241  } {55 2 64 21 44 58 63 47 11}
  6242  do_test boundary3-2.32.le.10 {
  6243    db eval {
  6244      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  6245       WHERE t2.a=11
  6246       ORDER BY t1.rowid
  6247    }
  6248  } {55 2 64 21 44 58 63 47 11}
  6249  do_test boundary3-2.32.le.11 {
  6250    db eval {
  6251      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  6252       WHERE t2.a=11
  6253       ORDER BY t1.rowid DESC
  6254    }
  6255  } {11 47 63 58 44 21 64 2 55}
  6256  do_test boundary3-2.33.1 {
  6257    db eval {
  6258      SELECT t1.* FROM t1, t2 WHERE t1.rowid=34359738367 AND t2.a=t1.a
  6259    }
  6260  } {39 00000007ffffffff}
  6261  do_test boundary3-2.33.2 {
  6262    db eval {
  6263      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000007ffffffff'
  6264    }
  6265  } {34359738367 39}
  6266  do_test boundary3-2.33.3 {
  6267    db eval {
  6268      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=39
  6269    }
  6270  } {34359738367 00000007ffffffff}
  6271  do_test boundary3-2.33.gt.1 {
  6272    db eval {
  6273      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6274       WHERE t1.rowid > 34359738367 ORDER BY t2.a
  6275    }
  6276  } {3 7 10 13 17 19 22 25 26 27 28 34 35 43 45 46 56 57}
  6277  do_test boundary3-2.33.gt.2 {
  6278    db eval {
  6279      SELECT t2.a FROM t2 NATURAL JOIN t1
  6280       WHERE t1.rowid > 34359738367 ORDER BY t1.a DESC
  6281    }
  6282  } {57 56 46 45 43 35 34 28 27 26 25 22 19 17 13 10 7 3}
  6283  do_test boundary3-2.33.gt.3 {
  6284    db eval {
  6285      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6286       WHERE t2.a=39
  6287       ORDER BY t1.rowid
  6288    }
  6289  } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6290  do_test boundary3-2.33.gt.4 {
  6291    db eval {
  6292      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6293       WHERE t2.a=39
  6294       ORDER BY t1.rowid DESC
  6295    }
  6296  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22}
  6297  do_test boundary3-2.33.gt.5 {
  6298    db eval {
  6299      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6300       WHERE t2.a=39
  6301       ORDER BY x
  6302    }
  6303  } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6304  do_test boundary3-2.33.gt.10 {
  6305    db eval {
  6306      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  6307       WHERE t2.a=39
  6308       ORDER BY t1.rowid
  6309    }
  6310  } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6311  do_test boundary3-2.33.gt.11 {
  6312    db eval {
  6313      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  6314       WHERE t2.a=39
  6315       ORDER BY t1.rowid DESC
  6316    }
  6317  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22}
  6318  do_test boundary3-2.33.ge.1 {
  6319    db eval {
  6320      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6321       WHERE t1.rowid >= 34359738367 ORDER BY t2.a
  6322    }
  6323  } {3 7 10 13 17 19 22 25 26 27 28 34 35 39 43 45 46 56 57}
  6324  do_test boundary3-2.33.ge.2 {
  6325    db eval {
  6326      SELECT t2.a FROM t2 NATURAL JOIN t1
  6327       WHERE t1.rowid >= 34359738367 ORDER BY t1.a DESC
  6328    }
  6329  } {57 56 46 45 43 39 35 34 28 27 26 25 22 19 17 13 10 7 3}
  6330  do_test boundary3-2.33.ge.3 {
  6331    db eval {
  6332      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6333       WHERE t2.a=39
  6334       ORDER BY t1.rowid
  6335    }
  6336  } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6337  do_test boundary3-2.33.ge.4 {
  6338    db eval {
  6339      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6340       WHERE t2.a=39
  6341       ORDER BY t1.rowid DESC
  6342    }
  6343  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}
  6344  do_test boundary3-2.33.ge.5 {
  6345    db eval {
  6346      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6347       WHERE t2.a=39
  6348       ORDER BY x
  6349    }
  6350  } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6351  do_test boundary3-2.33.ge.10 {
  6352    db eval {
  6353      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  6354       WHERE t2.a=39
  6355       ORDER BY t1.rowid
  6356    }
  6357  } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6358  do_test boundary3-2.33.ge.11 {
  6359    db eval {
  6360      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  6361       WHERE t2.a=39
  6362       ORDER BY t1.rowid DESC
  6363    }
  6364  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}
  6365  do_test boundary3-2.33.lt.1 {
  6366    db eval {
  6367      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6368       WHERE t1.rowid < 34359738367 ORDER BY t2.a
  6369    }
  6370  } {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}
  6371  do_test boundary3-2.33.lt.2 {
  6372    db eval {
  6373      SELECT t2.a FROM t2 NATURAL JOIN t1
  6374       WHERE t1.rowid < 34359738367 ORDER BY t1.a DESC
  6375    }
  6376  } {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}
  6377  do_test boundary3-2.33.lt.3 {
  6378    db eval {
  6379      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6380       WHERE t2.a=39
  6381       ORDER BY t1.rowid
  6382    }
  6383  } {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}
  6384  do_test boundary3-2.33.lt.4 {
  6385    db eval {
  6386      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6387       WHERE t2.a=39
  6388       ORDER BY t1.rowid DESC
  6389    }
  6390  } {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}
  6391  do_test boundary3-2.33.lt.5 {
  6392    db eval {
  6393      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6394       WHERE t2.a=39
  6395       ORDER BY x
  6396    }
  6397  } {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}
  6398  do_test boundary3-2.33.lt.10 {
  6399    db eval {
  6400      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  6401       WHERE t2.a=39
  6402       ORDER BY t1.rowid
  6403    }
  6404  } {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}
  6405  do_test boundary3-2.33.lt.11 {
  6406    db eval {
  6407      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  6408       WHERE t2.a=39
  6409       ORDER BY t1.rowid DESC
  6410    }
  6411  } {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}
  6412  do_test boundary3-2.33.le.1 {
  6413    db eval {
  6414      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6415       WHERE t1.rowid <= 34359738367 ORDER BY t2.a
  6416    }
  6417  } {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}
  6418  do_test boundary3-2.33.le.2 {
  6419    db eval {
  6420      SELECT t2.a FROM t2 NATURAL JOIN t1
  6421       WHERE t1.rowid <= 34359738367 ORDER BY t1.a DESC
  6422    }
  6423  } {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}
  6424  do_test boundary3-2.33.le.3 {
  6425    db eval {
  6426      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6427       WHERE t2.a=39
  6428       ORDER BY t1.rowid
  6429    }
  6430  } {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}
  6431  do_test boundary3-2.33.le.4 {
  6432    db eval {
  6433      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6434       WHERE t2.a=39
  6435       ORDER BY t1.rowid DESC
  6436    }
  6437  } {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}
  6438  do_test boundary3-2.33.le.5 {
  6439    db eval {
  6440      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6441       WHERE t2.a=39
  6442       ORDER BY x
  6443    }
  6444  } {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}
  6445  do_test boundary3-2.33.le.10 {
  6446    db eval {
  6447      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  6448       WHERE t2.a=39
  6449       ORDER BY t1.rowid
  6450    }
  6451  } {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}
  6452  do_test boundary3-2.33.le.11 {
  6453    db eval {
  6454      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  6455       WHERE t2.a=39
  6456       ORDER BY t1.rowid DESC
  6457    }
  6458  } {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}
  6459  do_test boundary3-2.34.1 {
  6460    db eval {
  6461      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-549755813889 AND t2.a=t1.a
  6462    }
  6463  } {58 ffffff7fffffffff}
  6464  do_test boundary3-2.34.2 {
  6465    db eval {
  6466      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffff7fffffffff'
  6467    }
  6468  } {-549755813889 58}
  6469  do_test boundary3-2.34.3 {
  6470    db eval {
  6471      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=58
  6472    }
  6473  } {-549755813889 ffffff7fffffffff}
  6474  do_test boundary3-2.34.gt.1 {
  6475    db eval {
  6476      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6477       WHERE t1.rowid > -549755813889 ORDER BY t2.a
  6478    }
  6479  } {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}
  6480  do_test boundary3-2.34.gt.2 {
  6481    db eval {
  6482      SELECT t2.a FROM t2 NATURAL JOIN t1
  6483       WHERE t1.rowid > -549755813889 ORDER BY t1.a DESC
  6484    }
  6485  } {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}
  6486  do_test boundary3-2.34.gt.3 {
  6487    db eval {
  6488      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6489       WHERE t2.a=58
  6490       ORDER BY t1.rowid
  6491    }
  6492  } {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}
  6493  do_test boundary3-2.34.gt.4 {
  6494    db eval {
  6495      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6496       WHERE t2.a=58
  6497       ORDER BY t1.rowid DESC
  6498    }
  6499  } {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}
  6500  do_test boundary3-2.34.gt.5 {
  6501    db eval {
  6502      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6503       WHERE t2.a=58
  6504       ORDER BY x
  6505    }
  6506  } {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}
  6507  do_test boundary3-2.34.gt.10 {
  6508    db eval {
  6509      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  6510       WHERE t2.a=58
  6511       ORDER BY t1.rowid
  6512    }
  6513  } {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}
  6514  do_test boundary3-2.34.gt.11 {
  6515    db eval {
  6516      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  6517       WHERE t2.a=58
  6518       ORDER BY t1.rowid DESC
  6519    }
  6520  } {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}
  6521  do_test boundary3-2.34.ge.1 {
  6522    db eval {
  6523      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6524       WHERE t1.rowid >= -549755813889 ORDER BY t2.a
  6525    }
  6526  } {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}
  6527  do_test boundary3-2.34.ge.2 {
  6528    db eval {
  6529      SELECT t2.a FROM t2 NATURAL JOIN t1
  6530       WHERE t1.rowid >= -549755813889 ORDER BY t1.a DESC
  6531    }
  6532  } {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}
  6533  do_test boundary3-2.34.ge.3 {
  6534    db eval {
  6535      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6536       WHERE t2.a=58
  6537       ORDER BY t1.rowid
  6538    }
  6539  } {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}
  6540  do_test boundary3-2.34.ge.4 {
  6541    db eval {
  6542      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6543       WHERE t2.a=58
  6544       ORDER BY t1.rowid DESC
  6545    }
  6546  } {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}
  6547  do_test boundary3-2.34.ge.5 {
  6548    db eval {
  6549      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6550       WHERE t2.a=58
  6551       ORDER BY x
  6552    }
  6553  } {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}
  6554  do_test boundary3-2.34.ge.10 {
  6555    db eval {
  6556      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  6557       WHERE t2.a=58
  6558       ORDER BY t1.rowid
  6559    }
  6560  } {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}
  6561  do_test boundary3-2.34.ge.11 {
  6562    db eval {
  6563      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  6564       WHERE t2.a=58
  6565       ORDER BY t1.rowid DESC
  6566    }
  6567  } {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}
  6568  do_test boundary3-2.34.lt.1 {
  6569    db eval {
  6570      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6571       WHERE t1.rowid < -549755813889 ORDER BY t2.a
  6572    }
  6573  } {2 21 44 55 64}
  6574  do_test boundary3-2.34.lt.2 {
  6575    db eval {
  6576      SELECT t2.a FROM t2 NATURAL JOIN t1
  6577       WHERE t1.rowid < -549755813889 ORDER BY t1.a DESC
  6578    }
  6579  } {64 55 44 21 2}
  6580  do_test boundary3-2.34.lt.3 {
  6581    db eval {
  6582      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6583       WHERE t2.a=58
  6584       ORDER BY t1.rowid
  6585    }
  6586  } {55 2 64 21 44}
  6587  do_test boundary3-2.34.lt.4 {
  6588    db eval {
  6589      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6590       WHERE t2.a=58
  6591       ORDER BY t1.rowid DESC
  6592    }
  6593  } {44 21 64 2 55}
  6594  do_test boundary3-2.34.lt.5 {
  6595    db eval {
  6596      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6597       WHERE t2.a=58
  6598       ORDER BY x
  6599    }
  6600  } {55 2 64 21 44}
  6601  do_test boundary3-2.34.lt.10 {
  6602    db eval {
  6603      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  6604       WHERE t2.a=58
  6605       ORDER BY t1.rowid
  6606    }
  6607  } {55 2 64 21 44}
  6608  do_test boundary3-2.34.lt.11 {
  6609    db eval {
  6610      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  6611       WHERE t2.a=58
  6612       ORDER BY t1.rowid DESC
  6613    }
  6614  } {44 21 64 2 55}
  6615  do_test boundary3-2.34.le.1 {
  6616    db eval {
  6617      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6618       WHERE t1.rowid <= -549755813889 ORDER BY t2.a
  6619    }
  6620  } {2 21 44 55 58 64}
  6621  do_test boundary3-2.34.le.2 {
  6622    db eval {
  6623      SELECT t2.a FROM t2 NATURAL JOIN t1
  6624       WHERE t1.rowid <= -549755813889 ORDER BY t1.a DESC
  6625    }
  6626  } {64 58 55 44 21 2}
  6627  do_test boundary3-2.34.le.3 {
  6628    db eval {
  6629      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6630       WHERE t2.a=58
  6631       ORDER BY t1.rowid
  6632    }
  6633  } {55 2 64 21 44 58}
  6634  do_test boundary3-2.34.le.4 {
  6635    db eval {
  6636      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6637       WHERE t2.a=58
  6638       ORDER BY t1.rowid DESC
  6639    }
  6640  } {58 44 21 64 2 55}
  6641  do_test boundary3-2.34.le.5 {
  6642    db eval {
  6643      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6644       WHERE t2.a=58
  6645       ORDER BY x
  6646    }
  6647  } {55 2 64 21 44 58}
  6648  do_test boundary3-2.34.le.10 {
  6649    db eval {
  6650      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  6651       WHERE t2.a=58
  6652       ORDER BY t1.rowid
  6653    }
  6654  } {55 2 64 21 44 58}
  6655  do_test boundary3-2.34.le.11 {
  6656    db eval {
  6657      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  6658       WHERE t2.a=58
  6659       ORDER BY t1.rowid DESC
  6660    }
  6661  } {58 44 21 64 2 55}
  6662  do_test boundary3-2.35.1 {
  6663    db eval {
  6664      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-32768 AND t2.a=t1.a
  6665    }
  6666  } {32 ffffffffffff8000}
  6667  do_test boundary3-2.35.2 {
  6668    db eval {
  6669      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffff8000'
  6670    }
  6671  } {-32768 32}
  6672  do_test boundary3-2.35.3 {
  6673    db eval {
  6674      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=32
  6675    }
  6676  } {-32768 ffffffffffff8000}
  6677  do_test boundary3-2.35.gt.1 {
  6678    db eval {
  6679      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6680       WHERE t1.rowid > -32768 ORDER BY t2.a
  6681    }
  6682  } {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}
  6683  do_test boundary3-2.35.gt.2 {
  6684    db eval {
  6685      SELECT t2.a FROM t2 NATURAL JOIN t1
  6686       WHERE t1.rowid > -32768 ORDER BY t1.a DESC
  6687    }
  6688  } {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}
  6689  do_test boundary3-2.35.gt.3 {
  6690    db eval {
  6691      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6692       WHERE t2.a=32
  6693       ORDER BY t1.rowid
  6694    }
  6695  } {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}
  6696  do_test boundary3-2.35.gt.4 {
  6697    db eval {
  6698      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6699       WHERE t2.a=32
  6700       ORDER BY t1.rowid DESC
  6701    }
  6702  } {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}
  6703  do_test boundary3-2.35.gt.5 {
  6704    db eval {
  6705      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6706       WHERE t2.a=32
  6707       ORDER BY x
  6708    }
  6709  } {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}
  6710  do_test boundary3-2.35.gt.10 {
  6711    db eval {
  6712      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  6713       WHERE t2.a=32
  6714       ORDER BY t1.rowid
  6715    }
  6716  } {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}
  6717  do_test boundary3-2.35.gt.11 {
  6718    db eval {
  6719      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  6720       WHERE t2.a=32
  6721       ORDER BY t1.rowid DESC
  6722    }
  6723  } {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}
  6724  do_test boundary3-2.35.ge.1 {
  6725    db eval {
  6726      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6727       WHERE t1.rowid >= -32768 ORDER BY t2.a
  6728    }
  6729  } {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}
  6730  do_test boundary3-2.35.ge.2 {
  6731    db eval {
  6732      SELECT t2.a FROM t2 NATURAL JOIN t1
  6733       WHERE t1.rowid >= -32768 ORDER BY t1.a DESC
  6734    }
  6735  } {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}
  6736  do_test boundary3-2.35.ge.3 {
  6737    db eval {
  6738      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6739       WHERE t2.a=32
  6740       ORDER BY t1.rowid
  6741    }
  6742  } {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}
  6743  do_test boundary3-2.35.ge.4 {
  6744    db eval {
  6745      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6746       WHERE t2.a=32
  6747       ORDER BY t1.rowid DESC
  6748    }
  6749  } {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}
  6750  do_test boundary3-2.35.ge.5 {
  6751    db eval {
  6752      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6753       WHERE t2.a=32
  6754       ORDER BY x
  6755    }
  6756  } {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}
  6757  do_test boundary3-2.35.ge.10 {
  6758    db eval {
  6759      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  6760       WHERE t2.a=32
  6761       ORDER BY t1.rowid
  6762    }
  6763  } {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}
  6764  do_test boundary3-2.35.ge.11 {
  6765    db eval {
  6766      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  6767       WHERE t2.a=32
  6768       ORDER BY t1.rowid DESC
  6769    }
  6770  } {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}
  6771  do_test boundary3-2.35.lt.1 {
  6772    db eval {
  6773      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6774       WHERE t1.rowid < -32768 ORDER BY t2.a
  6775    }
  6776  } {1 2 11 21 29 37 44 47 55 58 63 64}
  6777  do_test boundary3-2.35.lt.2 {
  6778    db eval {
  6779      SELECT t2.a FROM t2 NATURAL JOIN t1
  6780       WHERE t1.rowid < -32768 ORDER BY t1.a DESC
  6781    }
  6782  } {64 63 58 55 47 44 37 29 21 11 2 1}
  6783  do_test boundary3-2.35.lt.3 {
  6784    db eval {
  6785      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6786       WHERE t2.a=32
  6787       ORDER BY t1.rowid
  6788    }
  6789  } {55 2 64 21 44 58 63 47 11 1 37 29}
  6790  do_test boundary3-2.35.lt.4 {
  6791    db eval {
  6792      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6793       WHERE t2.a=32
  6794       ORDER BY t1.rowid DESC
  6795    }
  6796  } {29 37 1 11 47 63 58 44 21 64 2 55}
  6797  do_test boundary3-2.35.lt.5 {
  6798    db eval {
  6799      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6800       WHERE t2.a=32
  6801       ORDER BY x
  6802    }
  6803  } {55 2 64 21 44 58 63 47 11 1 37 29}
  6804  do_test boundary3-2.35.lt.10 {
  6805    db eval {
  6806      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  6807       WHERE t2.a=32
  6808       ORDER BY t1.rowid
  6809    }
  6810  } {55 2 64 21 44 58 63 47 11 1 37 29}
  6811  do_test boundary3-2.35.lt.11 {
  6812    db eval {
  6813      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  6814       WHERE t2.a=32
  6815       ORDER BY t1.rowid DESC
  6816    }
  6817  } {29 37 1 11 47 63 58 44 21 64 2 55}
  6818  do_test boundary3-2.35.le.1 {
  6819    db eval {
  6820      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6821       WHERE t1.rowid <= -32768 ORDER BY t2.a
  6822    }
  6823  } {1 2 11 21 29 32 37 44 47 55 58 63 64}
  6824  do_test boundary3-2.35.le.2 {
  6825    db eval {
  6826      SELECT t2.a FROM t2 NATURAL JOIN t1
  6827       WHERE t1.rowid <= -32768 ORDER BY t1.a DESC
  6828    }
  6829  } {64 63 58 55 47 44 37 32 29 21 11 2 1}
  6830  do_test boundary3-2.35.le.3 {
  6831    db eval {
  6832      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6833       WHERE t2.a=32
  6834       ORDER BY t1.rowid
  6835    }
  6836  } {55 2 64 21 44 58 63 47 11 1 37 29 32}
  6837  do_test boundary3-2.35.le.4 {
  6838    db eval {
  6839      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6840       WHERE t2.a=32
  6841       ORDER BY t1.rowid DESC
  6842    }
  6843  } {32 29 37 1 11 47 63 58 44 21 64 2 55}
  6844  do_test boundary3-2.35.le.5 {
  6845    db eval {
  6846      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  6847       WHERE t2.a=32
  6848       ORDER BY x
  6849    }
  6850  } {55 2 64 21 44 58 63 47 11 1 37 29 32}
  6851  do_test boundary3-2.35.le.10 {
  6852    db eval {
  6853      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  6854       WHERE t2.a=32
  6855       ORDER BY t1.rowid
  6856    }
  6857  } {55 2 64 21 44 58 63 47 11 1 37 29 32}
  6858  do_test boundary3-2.35.le.11 {
  6859    db eval {
  6860      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  6861       WHERE t2.a=32
  6862       ORDER BY t1.rowid DESC
  6863    }
  6864  } {32 29 37 1 11 47 63 58 44 21 64 2 55}
  6865  do_test boundary3-2.36.1 {
  6866    db eval {
  6867      SELECT t1.* FROM t1, t2 WHERE t1.rowid=2147483647 AND t2.a=t1.a
  6868    }
  6869  } {20 000000007fffffff}
  6870  do_test boundary3-2.36.2 {
  6871    db eval {
  6872      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000007fffffff'
  6873    }
  6874  } {2147483647 20}
  6875  do_test boundary3-2.36.3 {
  6876    db eval {
  6877      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=20
  6878    }
  6879  } {2147483647 000000007fffffff}
  6880  do_test boundary3-2.36.gt.1 {
  6881    db eval {
  6882      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6883       WHERE t1.rowid > 2147483647 ORDER BY t2.a
  6884    }
  6885  } {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
  6886  do_test boundary3-2.36.gt.2 {
  6887    db eval {
  6888      SELECT t2.a FROM t2 NATURAL JOIN t1
  6889       WHERE t1.rowid > 2147483647 ORDER BY t1.a DESC
  6890    }
  6891  } {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
  6892  do_test boundary3-2.36.gt.3 {
  6893    db eval {
  6894      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6895       WHERE t2.a=20
  6896       ORDER BY t1.rowid
  6897    }
  6898  } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6899  do_test boundary3-2.36.gt.4 {
  6900    db eval {
  6901      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6902       WHERE t2.a=20
  6903       ORDER BY t1.rowid DESC
  6904    }
  6905  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51}
  6906  do_test boundary3-2.36.gt.5 {
  6907    db eval {
  6908      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  6909       WHERE t2.a=20
  6910       ORDER BY x
  6911    }
  6912  } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6913  do_test boundary3-2.36.gt.10 {
  6914    db eval {
  6915      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  6916       WHERE t2.a=20
  6917       ORDER BY t1.rowid
  6918    }
  6919  } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6920  do_test boundary3-2.36.gt.11 {
  6921    db eval {
  6922      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  6923       WHERE t2.a=20
  6924       ORDER BY t1.rowid DESC
  6925    }
  6926  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51}
  6927  do_test boundary3-2.36.ge.1 {
  6928    db eval {
  6929      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6930       WHERE t1.rowid >= 2147483647 ORDER BY t2.a
  6931    }
  6932  } {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
  6933  do_test boundary3-2.36.ge.2 {
  6934    db eval {
  6935      SELECT t2.a FROM t2 NATURAL JOIN t1
  6936       WHERE t1.rowid >= 2147483647 ORDER BY t1.a DESC
  6937    }
  6938  } {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
  6939  do_test boundary3-2.36.ge.3 {
  6940    db eval {
  6941      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6942       WHERE t2.a=20
  6943       ORDER BY t1.rowid
  6944    }
  6945  } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6946  do_test boundary3-2.36.ge.4 {
  6947    db eval {
  6948      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6949       WHERE t2.a=20
  6950       ORDER BY t1.rowid DESC
  6951    }
  6952  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20}
  6953  do_test boundary3-2.36.ge.5 {
  6954    db eval {
  6955      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  6956       WHERE t2.a=20
  6957       ORDER BY x
  6958    }
  6959  } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6960  do_test boundary3-2.36.ge.10 {
  6961    db eval {
  6962      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  6963       WHERE t2.a=20
  6964       ORDER BY t1.rowid
  6965    }
  6966  } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  6967  do_test boundary3-2.36.ge.11 {
  6968    db eval {
  6969      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  6970       WHERE t2.a=20
  6971       ORDER BY t1.rowid DESC
  6972    }
  6973  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20}
  6974  do_test boundary3-2.36.lt.1 {
  6975    db eval {
  6976      SELECT t2.a FROM t1 JOIN t2 USING(a)
  6977       WHERE t1.rowid < 2147483647 ORDER BY t2.a
  6978    }
  6979  } {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}
  6980  do_test boundary3-2.36.lt.2 {
  6981    db eval {
  6982      SELECT t2.a FROM t2 NATURAL JOIN t1
  6983       WHERE t1.rowid < 2147483647 ORDER BY t1.a DESC
  6984    }
  6985  } {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}
  6986  do_test boundary3-2.36.lt.3 {
  6987    db eval {
  6988      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6989       WHERE t2.a=20
  6990       ORDER BY t1.rowid
  6991    }
  6992  } {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}
  6993  do_test boundary3-2.36.lt.4 {
  6994    db eval {
  6995      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  6996       WHERE t2.a=20
  6997       ORDER BY t1.rowid DESC
  6998    }
  6999  } {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}
  7000  do_test boundary3-2.36.lt.5 {
  7001    db eval {
  7002      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7003       WHERE t2.a=20
  7004       ORDER BY x
  7005    }
  7006  } {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}
  7007  do_test boundary3-2.36.lt.10 {
  7008    db eval {
  7009      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  7010       WHERE t2.a=20
  7011       ORDER BY t1.rowid
  7012    }
  7013  } {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}
  7014  do_test boundary3-2.36.lt.11 {
  7015    db eval {
  7016      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  7017       WHERE t2.a=20
  7018       ORDER BY t1.rowid DESC
  7019    }
  7020  } {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}
  7021  do_test boundary3-2.36.le.1 {
  7022    db eval {
  7023      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7024       WHERE t1.rowid <= 2147483647 ORDER BY t2.a
  7025    }
  7026  } {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}
  7027  do_test boundary3-2.36.le.2 {
  7028    db eval {
  7029      SELECT t2.a FROM t2 NATURAL JOIN t1
  7030       WHERE t1.rowid <= 2147483647 ORDER BY t1.a DESC
  7031    }
  7032  } {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}
  7033  do_test boundary3-2.36.le.3 {
  7034    db eval {
  7035      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7036       WHERE t2.a=20
  7037       ORDER BY t1.rowid
  7038    }
  7039  } {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}
  7040  do_test boundary3-2.36.le.4 {
  7041    db eval {
  7042      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7043       WHERE t2.a=20
  7044       ORDER BY t1.rowid DESC
  7045    }
  7046  } {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}
  7047  do_test boundary3-2.36.le.5 {
  7048    db eval {
  7049      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7050       WHERE t2.a=20
  7051       ORDER BY x
  7052    }
  7053  } {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}
  7054  do_test boundary3-2.36.le.10 {
  7055    db eval {
  7056      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  7057       WHERE t2.a=20
  7058       ORDER BY t1.rowid
  7059    }
  7060  } {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}
  7061  do_test boundary3-2.36.le.11 {
  7062    db eval {
  7063      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  7064       WHERE t2.a=20
  7065       ORDER BY t1.rowid DESC
  7066    }
  7067  } {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}
  7068  do_test boundary3-2.37.1 {
  7069    db eval {
  7070      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-129 AND t2.a=t1.a
  7071    }
  7072  } {54 ffffffffffffff7f}
  7073  do_test boundary3-2.37.2 {
  7074    db eval {
  7075      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffffff7f'
  7076    }
  7077  } {-129 54}
  7078  do_test boundary3-2.37.3 {
  7079    db eval {
  7080      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=54
  7081    }
  7082  } {-129 ffffffffffffff7f}
  7083  do_test boundary3-2.37.gt.1 {
  7084    db eval {
  7085      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7086       WHERE t1.rowid > -129 ORDER BY t2.a
  7087    }
  7088  } {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}
  7089  do_test boundary3-2.37.gt.2 {
  7090    db eval {
  7091      SELECT t2.a FROM t2 NATURAL JOIN t1
  7092       WHERE t1.rowid > -129 ORDER BY t1.a DESC
  7093    }
  7094  } {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}
  7095  do_test boundary3-2.37.gt.3 {
  7096    db eval {
  7097      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7098       WHERE t2.a=54
  7099       ORDER BY t1.rowid
  7100    }
  7101  } {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}
  7102  do_test boundary3-2.37.gt.4 {
  7103    db eval {
  7104      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7105       WHERE t2.a=54
  7106       ORDER BY t1.rowid DESC
  7107    }
  7108  } {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}
  7109  do_test boundary3-2.37.gt.5 {
  7110    db eval {
  7111      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7112       WHERE t2.a=54
  7113       ORDER BY x
  7114    }
  7115  } {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}
  7116  do_test boundary3-2.37.gt.10 {
  7117    db eval {
  7118      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  7119       WHERE t2.a=54
  7120       ORDER BY t1.rowid
  7121    }
  7122  } {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}
  7123  do_test boundary3-2.37.gt.11 {
  7124    db eval {
  7125      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  7126       WHERE t2.a=54
  7127       ORDER BY t1.rowid DESC
  7128    }
  7129  } {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}
  7130  do_test boundary3-2.37.ge.1 {
  7131    db eval {
  7132      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7133       WHERE t1.rowid >= -129 ORDER BY t2.a
  7134    }
  7135  } {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}
  7136  do_test boundary3-2.37.ge.2 {
  7137    db eval {
  7138      SELECT t2.a FROM t2 NATURAL JOIN t1
  7139       WHERE t1.rowid >= -129 ORDER BY t1.a DESC
  7140    }
  7141  } {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}
  7142  do_test boundary3-2.37.ge.3 {
  7143    db eval {
  7144      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7145       WHERE t2.a=54
  7146       ORDER BY t1.rowid
  7147    }
  7148  } {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}
  7149  do_test boundary3-2.37.ge.4 {
  7150    db eval {
  7151      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7152       WHERE t2.a=54
  7153       ORDER BY t1.rowid DESC
  7154    }
  7155  } {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}
  7156  do_test boundary3-2.37.ge.5 {
  7157    db eval {
  7158      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7159       WHERE t2.a=54
  7160       ORDER BY x
  7161    }
  7162  } {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}
  7163  do_test boundary3-2.37.ge.10 {
  7164    db eval {
  7165      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  7166       WHERE t2.a=54
  7167       ORDER BY t1.rowid
  7168    }
  7169  } {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}
  7170  do_test boundary3-2.37.ge.11 {
  7171    db eval {
  7172      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  7173       WHERE t2.a=54
  7174       ORDER BY t1.rowid DESC
  7175    }
  7176  } {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}
  7177  do_test boundary3-2.37.lt.1 {
  7178    db eval {
  7179      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7180       WHERE t1.rowid < -129 ORDER BY t2.a
  7181    }
  7182  } {1 2 11 21 29 32 37 44 47 55 58 63 64}
  7183  do_test boundary3-2.37.lt.2 {
  7184    db eval {
  7185      SELECT t2.a FROM t2 NATURAL JOIN t1
  7186       WHERE t1.rowid < -129 ORDER BY t1.a DESC
  7187    }
  7188  } {64 63 58 55 47 44 37 32 29 21 11 2 1}
  7189  do_test boundary3-2.37.lt.3 {
  7190    db eval {
  7191      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7192       WHERE t2.a=54
  7193       ORDER BY t1.rowid
  7194    }
  7195  } {55 2 64 21 44 58 63 47 11 1 37 29 32}
  7196  do_test boundary3-2.37.lt.4 {
  7197    db eval {
  7198      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7199       WHERE t2.a=54
  7200       ORDER BY t1.rowid DESC
  7201    }
  7202  } {32 29 37 1 11 47 63 58 44 21 64 2 55}
  7203  do_test boundary3-2.37.lt.5 {
  7204    db eval {
  7205      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7206       WHERE t2.a=54
  7207       ORDER BY x
  7208    }
  7209  } {55 2 64 21 44 58 63 47 11 1 37 29 32}
  7210  do_test boundary3-2.37.lt.10 {
  7211    db eval {
  7212      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  7213       WHERE t2.a=54
  7214       ORDER BY t1.rowid
  7215    }
  7216  } {55 2 64 21 44 58 63 47 11 1 37 29 32}
  7217  do_test boundary3-2.37.lt.11 {
  7218    db eval {
  7219      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  7220       WHERE t2.a=54
  7221       ORDER BY t1.rowid DESC
  7222    }
  7223  } {32 29 37 1 11 47 63 58 44 21 64 2 55}
  7224  do_test boundary3-2.37.le.1 {
  7225    db eval {
  7226      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7227       WHERE t1.rowid <= -129 ORDER BY t2.a
  7228    }
  7229  } {1 2 11 21 29 32 37 44 47 54 55 58 63 64}
  7230  do_test boundary3-2.37.le.2 {
  7231    db eval {
  7232      SELECT t2.a FROM t2 NATURAL JOIN t1
  7233       WHERE t1.rowid <= -129 ORDER BY t1.a DESC
  7234    }
  7235  } {64 63 58 55 54 47 44 37 32 29 21 11 2 1}
  7236  do_test boundary3-2.37.le.3 {
  7237    db eval {
  7238      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7239       WHERE t2.a=54
  7240       ORDER BY t1.rowid
  7241    }
  7242  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
  7243  do_test boundary3-2.37.le.4 {
  7244    db eval {
  7245      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7246       WHERE t2.a=54
  7247       ORDER BY t1.rowid DESC
  7248    }
  7249  } {54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  7250  do_test boundary3-2.37.le.5 {
  7251    db eval {
  7252      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7253       WHERE t2.a=54
  7254       ORDER BY x
  7255    }
  7256  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
  7257  do_test boundary3-2.37.le.10 {
  7258    db eval {
  7259      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  7260       WHERE t2.a=54
  7261       ORDER BY t1.rowid
  7262    }
  7263  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
  7264  do_test boundary3-2.37.le.11 {
  7265    db eval {
  7266      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  7267       WHERE t2.a=54
  7268       ORDER BY t1.rowid DESC
  7269    }
  7270  } {54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  7271  do_test boundary3-2.38.1 {
  7272    db eval {
  7273      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-128 AND t2.a=t1.a
  7274    }
  7275  } {53 ffffffffffffff80}
  7276  do_test boundary3-2.38.2 {
  7277    db eval {
  7278      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffffff80'
  7279    }
  7280  } {-128 53}
  7281  do_test boundary3-2.38.3 {
  7282    db eval {
  7283      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=53
  7284    }
  7285  } {-128 ffffffffffffff80}
  7286  do_test boundary3-2.38.gt.1 {
  7287    db eval {
  7288      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7289       WHERE t1.rowid > -128 ORDER BY t2.a
  7290    }
  7291  } {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}
  7292  do_test boundary3-2.38.gt.2 {
  7293    db eval {
  7294      SELECT t2.a FROM t2 NATURAL JOIN t1
  7295       WHERE t1.rowid > -128 ORDER BY t1.a DESC
  7296    }
  7297  } {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}
  7298  do_test boundary3-2.38.gt.3 {
  7299    db eval {
  7300      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7301       WHERE t2.a=53
  7302       ORDER BY t1.rowid
  7303    }
  7304  } {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}
  7305  do_test boundary3-2.38.gt.4 {
  7306    db eval {
  7307      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7308       WHERE t2.a=53
  7309       ORDER BY t1.rowid DESC
  7310    }
  7311  } {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}
  7312  do_test boundary3-2.38.gt.5 {
  7313    db eval {
  7314      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7315       WHERE t2.a=53
  7316       ORDER BY x
  7317    }
  7318  } {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}
  7319  do_test boundary3-2.38.gt.10 {
  7320    db eval {
  7321      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  7322       WHERE t2.a=53
  7323       ORDER BY t1.rowid
  7324    }
  7325  } {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}
  7326  do_test boundary3-2.38.gt.11 {
  7327    db eval {
  7328      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  7329       WHERE t2.a=53
  7330       ORDER BY t1.rowid DESC
  7331    }
  7332  } {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}
  7333  do_test boundary3-2.38.ge.1 {
  7334    db eval {
  7335      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7336       WHERE t1.rowid >= -128 ORDER BY t2.a
  7337    }
  7338  } {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}
  7339  do_test boundary3-2.38.ge.2 {
  7340    db eval {
  7341      SELECT t2.a FROM t2 NATURAL JOIN t1
  7342       WHERE t1.rowid >= -128 ORDER BY t1.a DESC
  7343    }
  7344  } {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}
  7345  do_test boundary3-2.38.ge.3 {
  7346    db eval {
  7347      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7348       WHERE t2.a=53
  7349       ORDER BY t1.rowid
  7350    }
  7351  } {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}
  7352  do_test boundary3-2.38.ge.4 {
  7353    db eval {
  7354      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7355       WHERE t2.a=53
  7356       ORDER BY t1.rowid DESC
  7357    }
  7358  } {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}
  7359  do_test boundary3-2.38.ge.5 {
  7360    db eval {
  7361      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7362       WHERE t2.a=53
  7363       ORDER BY x
  7364    }
  7365  } {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}
  7366  do_test boundary3-2.38.ge.10 {
  7367    db eval {
  7368      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  7369       WHERE t2.a=53
  7370       ORDER BY t1.rowid
  7371    }
  7372  } {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}
  7373  do_test boundary3-2.38.ge.11 {
  7374    db eval {
  7375      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  7376       WHERE t2.a=53
  7377       ORDER BY t1.rowid DESC
  7378    }
  7379  } {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}
  7380  do_test boundary3-2.38.lt.1 {
  7381    db eval {
  7382      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7383       WHERE t1.rowid < -128 ORDER BY t2.a
  7384    }
  7385  } {1 2 11 21 29 32 37 44 47 54 55 58 63 64}
  7386  do_test boundary3-2.38.lt.2 {
  7387    db eval {
  7388      SELECT t2.a FROM t2 NATURAL JOIN t1
  7389       WHERE t1.rowid < -128 ORDER BY t1.a DESC
  7390    }
  7391  } {64 63 58 55 54 47 44 37 32 29 21 11 2 1}
  7392  do_test boundary3-2.38.lt.3 {
  7393    db eval {
  7394      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7395       WHERE t2.a=53
  7396       ORDER BY t1.rowid
  7397    }
  7398  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
  7399  do_test boundary3-2.38.lt.4 {
  7400    db eval {
  7401      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7402       WHERE t2.a=53
  7403       ORDER BY t1.rowid DESC
  7404    }
  7405  } {54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  7406  do_test boundary3-2.38.lt.5 {
  7407    db eval {
  7408      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7409       WHERE t2.a=53
  7410       ORDER BY x
  7411    }
  7412  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
  7413  do_test boundary3-2.38.lt.10 {
  7414    db eval {
  7415      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  7416       WHERE t2.a=53
  7417       ORDER BY t1.rowid
  7418    }
  7419  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
  7420  do_test boundary3-2.38.lt.11 {
  7421    db eval {
  7422      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  7423       WHERE t2.a=53
  7424       ORDER BY t1.rowid DESC
  7425    }
  7426  } {54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  7427  do_test boundary3-2.38.le.1 {
  7428    db eval {
  7429      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7430       WHERE t1.rowid <= -128 ORDER BY t2.a
  7431    }
  7432  } {1 2 11 21 29 32 37 44 47 53 54 55 58 63 64}
  7433  do_test boundary3-2.38.le.2 {
  7434    db eval {
  7435      SELECT t2.a FROM t2 NATURAL JOIN t1
  7436       WHERE t1.rowid <= -128 ORDER BY t1.a DESC
  7437    }
  7438  } {64 63 58 55 54 53 47 44 37 32 29 21 11 2 1}
  7439  do_test boundary3-2.38.le.3 {
  7440    db eval {
  7441      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7442       WHERE t2.a=53
  7443       ORDER BY t1.rowid
  7444    }
  7445  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
  7446  do_test boundary3-2.38.le.4 {
  7447    db eval {
  7448      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7449       WHERE t2.a=53
  7450       ORDER BY t1.rowid DESC
  7451    }
  7452  } {53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  7453  do_test boundary3-2.38.le.5 {
  7454    db eval {
  7455      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7456       WHERE t2.a=53
  7457       ORDER BY x
  7458    }
  7459  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
  7460  do_test boundary3-2.38.le.10 {
  7461    db eval {
  7462      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  7463       WHERE t2.a=53
  7464       ORDER BY t1.rowid
  7465    }
  7466  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
  7467  do_test boundary3-2.38.le.11 {
  7468    db eval {
  7469      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  7470       WHERE t2.a=53
  7471       ORDER BY t1.rowid DESC
  7472    }
  7473  } {53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
  7474  do_test boundary3-2.39.1 {
  7475    db eval {
  7476      SELECT t1.* FROM t1, t2 WHERE t1.rowid=72057594037927936 AND t2.a=t1.a
  7477    }
  7478  } {28 0100000000000000}
  7479  do_test boundary3-2.39.2 {
  7480    db eval {
  7481      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0100000000000000'
  7482    }
  7483  } {72057594037927936 28}
  7484  do_test boundary3-2.39.3 {
  7485    db eval {
  7486      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=28
  7487    }
  7488  } {72057594037927936 0100000000000000}
  7489  do_test boundary3-2.39.gt.1 {
  7490    db eval {
  7491      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7492       WHERE t1.rowid > 72057594037927936 ORDER BY t2.a
  7493    }
  7494  } {3}
  7495  do_test boundary3-2.39.gt.2 {
  7496    db eval {
  7497      SELECT t2.a FROM t2 NATURAL JOIN t1
  7498       WHERE t1.rowid > 72057594037927936 ORDER BY t1.a DESC
  7499    }
  7500  } {3}
  7501  do_test boundary3-2.39.gt.3 {
  7502    db eval {
  7503      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7504       WHERE t2.a=28
  7505       ORDER BY t1.rowid
  7506    }
  7507  } {3}
  7508  do_test boundary3-2.39.gt.4 {
  7509    db eval {
  7510      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7511       WHERE t2.a=28
  7512       ORDER BY t1.rowid DESC
  7513    }
  7514  } {3}
  7515  do_test boundary3-2.39.gt.5 {
  7516    db eval {
  7517      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7518       WHERE t2.a=28
  7519       ORDER BY x
  7520    }
  7521  } {3}
  7522  do_test boundary3-2.39.ge.1 {
  7523    db eval {
  7524      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7525       WHERE t1.rowid >= 72057594037927936 ORDER BY t2.a
  7526    }
  7527  } {3 28}
  7528  do_test boundary3-2.39.ge.2 {
  7529    db eval {
  7530      SELECT t2.a FROM t2 NATURAL JOIN t1
  7531       WHERE t1.rowid >= 72057594037927936 ORDER BY t1.a DESC
  7532    }
  7533  } {28 3}
  7534  do_test boundary3-2.39.ge.3 {
  7535    db eval {
  7536      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7537       WHERE t2.a=28
  7538       ORDER BY t1.rowid
  7539    }
  7540  } {28 3}
  7541  do_test boundary3-2.39.ge.4 {
  7542    db eval {
  7543      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7544       WHERE t2.a=28
  7545       ORDER BY t1.rowid DESC
  7546    }
  7547  } {3 28}
  7548  do_test boundary3-2.39.ge.5 {
  7549    db eval {
  7550      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7551       WHERE t2.a=28
  7552       ORDER BY x
  7553    }
  7554  } {28 3}
  7555  do_test boundary3-2.39.lt.1 {
  7556    db eval {
  7557      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7558       WHERE t1.rowid < 72057594037927936 ORDER BY t2.a
  7559    }
  7560  } {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}
  7561  do_test boundary3-2.39.lt.2 {
  7562    db eval {
  7563      SELECT t2.a FROM t2 NATURAL JOIN t1
  7564       WHERE t1.rowid < 72057594037927936 ORDER BY t1.a DESC
  7565    }
  7566  } {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}
  7567  do_test boundary3-2.39.lt.3 {
  7568    db eval {
  7569      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7570       WHERE t2.a=28
  7571       ORDER BY t1.rowid
  7572    }
  7573  } {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}
  7574  do_test boundary3-2.39.lt.4 {
  7575    db eval {
  7576      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7577       WHERE t2.a=28
  7578       ORDER BY t1.rowid DESC
  7579    }
  7580  } {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}
  7581  do_test boundary3-2.39.lt.5 {
  7582    db eval {
  7583      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7584       WHERE t2.a=28
  7585       ORDER BY x
  7586    }
  7587  } {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}
  7588  do_test boundary3-2.39.le.1 {
  7589    db eval {
  7590      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7591       WHERE t1.rowid <= 72057594037927936 ORDER BY t2.a
  7592    }
  7593  } {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}
  7594  do_test boundary3-2.39.le.2 {
  7595    db eval {
  7596      SELECT t2.a FROM t2 NATURAL JOIN t1
  7597       WHERE t1.rowid <= 72057594037927936 ORDER BY t1.a DESC
  7598    }
  7599  } {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}
  7600  do_test boundary3-2.39.le.3 {
  7601    db eval {
  7602      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7603       WHERE t2.a=28
  7604       ORDER BY t1.rowid
  7605    }
  7606  } {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}
  7607  do_test boundary3-2.39.le.4 {
  7608    db eval {
  7609      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7610       WHERE t2.a=28
  7611       ORDER BY t1.rowid DESC
  7612    }
  7613  } {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}
  7614  do_test boundary3-2.39.le.5 {
  7615    db eval {
  7616      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7617       WHERE t2.a=28
  7618       ORDER BY x
  7619    }
  7620  } {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}
  7621  do_test boundary3-2.40.1 {
  7622    db eval {
  7623      SELECT t1.* FROM t1, t2 WHERE t1.rowid=2147483648 AND t2.a=t1.a
  7624    }
  7625  } {51 0000000080000000}
  7626  do_test boundary3-2.40.2 {
  7627    db eval {
  7628      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000080000000'
  7629    }
  7630  } {2147483648 51}
  7631  do_test boundary3-2.40.3 {
  7632    db eval {
  7633      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=51
  7634    }
  7635  } {2147483648 0000000080000000}
  7636  do_test boundary3-2.40.gt.1 {
  7637    db eval {
  7638      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7639       WHERE t1.rowid > 2147483648 ORDER BY t2.a
  7640    }
  7641  } {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
  7642  do_test boundary3-2.40.gt.2 {
  7643    db eval {
  7644      SELECT t2.a FROM t2 NATURAL JOIN t1
  7645       WHERE t1.rowid > 2147483648 ORDER BY t1.a DESC
  7646    }
  7647  } {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
  7648  do_test boundary3-2.40.gt.3 {
  7649    db eval {
  7650      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7651       WHERE t2.a=51
  7652       ORDER BY t1.rowid
  7653    }
  7654  } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7655  do_test boundary3-2.40.gt.4 {
  7656    db eval {
  7657      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7658       WHERE t2.a=51
  7659       ORDER BY t1.rowid DESC
  7660    }
  7661  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14}
  7662  do_test boundary3-2.40.gt.5 {
  7663    db eval {
  7664      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7665       WHERE t2.a=51
  7666       ORDER BY x
  7667    }
  7668  } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7669  do_test boundary3-2.40.gt.10 {
  7670    db eval {
  7671      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  7672       WHERE t2.a=51
  7673       ORDER BY t1.rowid
  7674    }
  7675  } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7676  do_test boundary3-2.40.gt.11 {
  7677    db eval {
  7678      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  7679       WHERE t2.a=51
  7680       ORDER BY t1.rowid DESC
  7681    }
  7682  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14}
  7683  do_test boundary3-2.40.ge.1 {
  7684    db eval {
  7685      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7686       WHERE t1.rowid >= 2147483648 ORDER BY t2.a
  7687    }
  7688  } {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
  7689  do_test boundary3-2.40.ge.2 {
  7690    db eval {
  7691      SELECT t2.a FROM t2 NATURAL JOIN t1
  7692       WHERE t1.rowid >= 2147483648 ORDER BY t1.a DESC
  7693    }
  7694  } {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
  7695  do_test boundary3-2.40.ge.3 {
  7696    db eval {
  7697      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7698       WHERE t2.a=51
  7699       ORDER BY t1.rowid
  7700    }
  7701  } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7702  do_test boundary3-2.40.ge.4 {
  7703    db eval {
  7704      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7705       WHERE t2.a=51
  7706       ORDER BY t1.rowid DESC
  7707    }
  7708  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51}
  7709  do_test boundary3-2.40.ge.5 {
  7710    db eval {
  7711      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7712       WHERE t2.a=51
  7713       ORDER BY x
  7714    }
  7715  } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7716  do_test boundary3-2.40.ge.10 {
  7717    db eval {
  7718      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  7719       WHERE t2.a=51
  7720       ORDER BY t1.rowid
  7721    }
  7722  } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7723  do_test boundary3-2.40.ge.11 {
  7724    db eval {
  7725      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  7726       WHERE t2.a=51
  7727       ORDER BY t1.rowid DESC
  7728    }
  7729  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51}
  7730  do_test boundary3-2.40.lt.1 {
  7731    db eval {
  7732      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7733       WHERE t1.rowid < 2147483648 ORDER BY t2.a
  7734    }
  7735  } {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}
  7736  do_test boundary3-2.40.lt.2 {
  7737    db eval {
  7738      SELECT t2.a FROM t2 NATURAL JOIN t1
  7739       WHERE t1.rowid < 2147483648 ORDER BY t1.a DESC
  7740    }
  7741  } {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}
  7742  do_test boundary3-2.40.lt.3 {
  7743    db eval {
  7744      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7745       WHERE t2.a=51
  7746       ORDER BY t1.rowid
  7747    }
  7748  } {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}
  7749  do_test boundary3-2.40.lt.4 {
  7750    db eval {
  7751      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7752       WHERE t2.a=51
  7753       ORDER BY t1.rowid DESC
  7754    }
  7755  } {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}
  7756  do_test boundary3-2.40.lt.5 {
  7757    db eval {
  7758      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7759       WHERE t2.a=51
  7760       ORDER BY x
  7761    }
  7762  } {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}
  7763  do_test boundary3-2.40.lt.10 {
  7764    db eval {
  7765      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  7766       WHERE t2.a=51
  7767       ORDER BY t1.rowid
  7768    }
  7769  } {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}
  7770  do_test boundary3-2.40.lt.11 {
  7771    db eval {
  7772      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  7773       WHERE t2.a=51
  7774       ORDER BY t1.rowid DESC
  7775    }
  7776  } {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}
  7777  do_test boundary3-2.40.le.1 {
  7778    db eval {
  7779      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7780       WHERE t1.rowid <= 2147483648 ORDER BY t2.a
  7781    }
  7782  } {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}
  7783  do_test boundary3-2.40.le.2 {
  7784    db eval {
  7785      SELECT t2.a FROM t2 NATURAL JOIN t1
  7786       WHERE t1.rowid <= 2147483648 ORDER BY t1.a DESC
  7787    }
  7788  } {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}
  7789  do_test boundary3-2.40.le.3 {
  7790    db eval {
  7791      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7792       WHERE t2.a=51
  7793       ORDER BY t1.rowid
  7794    }
  7795  } {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}
  7796  do_test boundary3-2.40.le.4 {
  7797    db eval {
  7798      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7799       WHERE t2.a=51
  7800       ORDER BY t1.rowid DESC
  7801    }
  7802  } {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}
  7803  do_test boundary3-2.40.le.5 {
  7804    db eval {
  7805      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7806       WHERE t2.a=51
  7807       ORDER BY x
  7808    }
  7809  } {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}
  7810  do_test boundary3-2.40.le.10 {
  7811    db eval {
  7812      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  7813       WHERE t2.a=51
  7814       ORDER BY t1.rowid
  7815    }
  7816  } {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}
  7817  do_test boundary3-2.40.le.11 {
  7818    db eval {
  7819      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  7820       WHERE t2.a=51
  7821       ORDER BY t1.rowid DESC
  7822    }
  7823  } {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}
  7824  do_test boundary3-2.41.1 {
  7825    db eval {
  7826      SELECT t1.* FROM t1, t2 WHERE t1.rowid=549755813887 AND t2.a=t1.a
  7827    }
  7828  } {46 0000007fffffffff}
  7829  do_test boundary3-2.41.2 {
  7830    db eval {
  7831      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000007fffffffff'
  7832    }
  7833  } {549755813887 46}
  7834  do_test boundary3-2.41.3 {
  7835    db eval {
  7836      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=46
  7837    }
  7838  } {549755813887 0000007fffffffff}
  7839  do_test boundary3-2.41.gt.1 {
  7840    db eval {
  7841      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7842       WHERE t1.rowid > 549755813887 ORDER BY t2.a
  7843    }
  7844  } {3 7 10 13 17 19 25 26 27 28 34 35 43 45 56 57}
  7845  do_test boundary3-2.41.gt.2 {
  7846    db eval {
  7847      SELECT t2.a FROM t2 NATURAL JOIN t1
  7848       WHERE t1.rowid > 549755813887 ORDER BY t1.a DESC
  7849    }
  7850  } {57 56 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
  7851  do_test boundary3-2.41.gt.3 {
  7852    db eval {
  7853      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7854       WHERE t2.a=46
  7855       ORDER BY t1.rowid
  7856    }
  7857  } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7858  do_test boundary3-2.41.gt.4 {
  7859    db eval {
  7860      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7861       WHERE t2.a=46
  7862       ORDER BY t1.rowid DESC
  7863    }
  7864  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35}
  7865  do_test boundary3-2.41.gt.5 {
  7866    db eval {
  7867      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  7868       WHERE t2.a=46
  7869       ORDER BY x
  7870    }
  7871  } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7872  do_test boundary3-2.41.gt.10 {
  7873    db eval {
  7874      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  7875       WHERE t2.a=46
  7876       ORDER BY t1.rowid
  7877    }
  7878  } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7879  do_test boundary3-2.41.gt.11 {
  7880    db eval {
  7881      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  7882       WHERE t2.a=46
  7883       ORDER BY t1.rowid DESC
  7884    }
  7885  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35}
  7886  do_test boundary3-2.41.ge.1 {
  7887    db eval {
  7888      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7889       WHERE t1.rowid >= 549755813887 ORDER BY t2.a
  7890    }
  7891  } {3 7 10 13 17 19 25 26 27 28 34 35 43 45 46 56 57}
  7892  do_test boundary3-2.41.ge.2 {
  7893    db eval {
  7894      SELECT t2.a FROM t2 NATURAL JOIN t1
  7895       WHERE t1.rowid >= 549755813887 ORDER BY t1.a DESC
  7896    }
  7897  } {57 56 46 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
  7898  do_test boundary3-2.41.ge.3 {
  7899    db eval {
  7900      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7901       WHERE t2.a=46
  7902       ORDER BY t1.rowid
  7903    }
  7904  } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7905  do_test boundary3-2.41.ge.4 {
  7906    db eval {
  7907      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7908       WHERE t2.a=46
  7909       ORDER BY t1.rowid DESC
  7910    }
  7911  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46}
  7912  do_test boundary3-2.41.ge.5 {
  7913    db eval {
  7914      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  7915       WHERE t2.a=46
  7916       ORDER BY x
  7917    }
  7918  } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7919  do_test boundary3-2.41.ge.10 {
  7920    db eval {
  7921      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  7922       WHERE t2.a=46
  7923       ORDER BY t1.rowid
  7924    }
  7925  } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  7926  do_test boundary3-2.41.ge.11 {
  7927    db eval {
  7928      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  7929       WHERE t2.a=46
  7930       ORDER BY t1.rowid DESC
  7931    }
  7932  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46}
  7933  do_test boundary3-2.41.lt.1 {
  7934    db eval {
  7935      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7936       WHERE t1.rowid < 549755813887 ORDER BY t2.a
  7937    }
  7938  } {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}
  7939  do_test boundary3-2.41.lt.2 {
  7940    db eval {
  7941      SELECT t2.a FROM t2 NATURAL JOIN t1
  7942       WHERE t1.rowid < 549755813887 ORDER BY t1.a DESC
  7943    }
  7944  } {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}
  7945  do_test boundary3-2.41.lt.3 {
  7946    db eval {
  7947      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7948       WHERE t2.a=46
  7949       ORDER BY t1.rowid
  7950    }
  7951  } {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}
  7952  do_test boundary3-2.41.lt.4 {
  7953    db eval {
  7954      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7955       WHERE t2.a=46
  7956       ORDER BY t1.rowid DESC
  7957    }
  7958  } {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}
  7959  do_test boundary3-2.41.lt.5 {
  7960    db eval {
  7961      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  7962       WHERE t2.a=46
  7963       ORDER BY x
  7964    }
  7965  } {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}
  7966  do_test boundary3-2.41.lt.10 {
  7967    db eval {
  7968      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  7969       WHERE t2.a=46
  7970       ORDER BY t1.rowid
  7971    }
  7972  } {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}
  7973  do_test boundary3-2.41.lt.11 {
  7974    db eval {
  7975      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  7976       WHERE t2.a=46
  7977       ORDER BY t1.rowid DESC
  7978    }
  7979  } {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}
  7980  do_test boundary3-2.41.le.1 {
  7981    db eval {
  7982      SELECT t2.a FROM t1 JOIN t2 USING(a)
  7983       WHERE t1.rowid <= 549755813887 ORDER BY t2.a
  7984    }
  7985  } {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}
  7986  do_test boundary3-2.41.le.2 {
  7987    db eval {
  7988      SELECT t2.a FROM t2 NATURAL JOIN t1
  7989       WHERE t1.rowid <= 549755813887 ORDER BY t1.a DESC
  7990    }
  7991  } {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}
  7992  do_test boundary3-2.41.le.3 {
  7993    db eval {
  7994      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  7995       WHERE t2.a=46
  7996       ORDER BY t1.rowid
  7997    }
  7998  } {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}
  7999  do_test boundary3-2.41.le.4 {
  8000    db eval {
  8001      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8002       WHERE t2.a=46
  8003       ORDER BY t1.rowid DESC
  8004    }
  8005  } {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}
  8006  do_test boundary3-2.41.le.5 {
  8007    db eval {
  8008      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8009       WHERE t2.a=46
  8010       ORDER BY x
  8011    }
  8012  } {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}
  8013  do_test boundary3-2.41.le.10 {
  8014    db eval {
  8015      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  8016       WHERE t2.a=46
  8017       ORDER BY t1.rowid
  8018    }
  8019  } {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}
  8020  do_test boundary3-2.41.le.11 {
  8021    db eval {
  8022      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  8023       WHERE t2.a=46
  8024       ORDER BY t1.rowid DESC
  8025    }
  8026  } {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}
  8027  do_test boundary3-2.42.1 {
  8028    db eval {
  8029      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-549755813888 AND t2.a=t1.a
  8030    }
  8031  } {63 ffffff8000000000}
  8032  do_test boundary3-2.42.2 {
  8033    db eval {
  8034      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffff8000000000'
  8035    }
  8036  } {-549755813888 63}
  8037  do_test boundary3-2.42.3 {
  8038    db eval {
  8039      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=63
  8040    }
  8041  } {-549755813888 ffffff8000000000}
  8042  do_test boundary3-2.42.gt.1 {
  8043    db eval {
  8044      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8045       WHERE t1.rowid > -549755813888 ORDER BY t2.a
  8046    }
  8047  } {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}
  8048  do_test boundary3-2.42.gt.2 {
  8049    db eval {
  8050      SELECT t2.a FROM t2 NATURAL JOIN t1
  8051       WHERE t1.rowid > -549755813888 ORDER BY t1.a DESC
  8052    }
  8053  } {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}
  8054  do_test boundary3-2.42.gt.3 {
  8055    db eval {
  8056      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8057       WHERE t2.a=63
  8058       ORDER BY t1.rowid
  8059    }
  8060  } {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}
  8061  do_test boundary3-2.42.gt.4 {
  8062    db eval {
  8063      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8064       WHERE t2.a=63
  8065       ORDER BY t1.rowid DESC
  8066    }
  8067  } {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}
  8068  do_test boundary3-2.42.gt.5 {
  8069    db eval {
  8070      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8071       WHERE t2.a=63
  8072       ORDER BY x
  8073    }
  8074  } {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}
  8075  do_test boundary3-2.42.gt.10 {
  8076    db eval {
  8077      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  8078       WHERE t2.a=63
  8079       ORDER BY t1.rowid
  8080    }
  8081  } {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}
  8082  do_test boundary3-2.42.gt.11 {
  8083    db eval {
  8084      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  8085       WHERE t2.a=63
  8086       ORDER BY t1.rowid DESC
  8087    }
  8088  } {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}
  8089  do_test boundary3-2.42.ge.1 {
  8090    db eval {
  8091      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8092       WHERE t1.rowid >= -549755813888 ORDER BY t2.a
  8093    }
  8094  } {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}
  8095  do_test boundary3-2.42.ge.2 {
  8096    db eval {
  8097      SELECT t2.a FROM t2 NATURAL JOIN t1
  8098       WHERE t1.rowid >= -549755813888 ORDER BY t1.a DESC
  8099    }
  8100  } {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}
  8101  do_test boundary3-2.42.ge.3 {
  8102    db eval {
  8103      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8104       WHERE t2.a=63
  8105       ORDER BY t1.rowid
  8106    }
  8107  } {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}
  8108  do_test boundary3-2.42.ge.4 {
  8109    db eval {
  8110      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8111       WHERE t2.a=63
  8112       ORDER BY t1.rowid DESC
  8113    }
  8114  } {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}
  8115  do_test boundary3-2.42.ge.5 {
  8116    db eval {
  8117      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8118       WHERE t2.a=63
  8119       ORDER BY x
  8120    }
  8121  } {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}
  8122  do_test boundary3-2.42.ge.10 {
  8123    db eval {
  8124      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  8125       WHERE t2.a=63
  8126       ORDER BY t1.rowid
  8127    }
  8128  } {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}
  8129  do_test boundary3-2.42.ge.11 {
  8130    db eval {
  8131      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  8132       WHERE t2.a=63
  8133       ORDER BY t1.rowid DESC
  8134    }
  8135  } {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}
  8136  do_test boundary3-2.42.lt.1 {
  8137    db eval {
  8138      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8139       WHERE t1.rowid < -549755813888 ORDER BY t2.a
  8140    }
  8141  } {2 21 44 55 58 64}
  8142  do_test boundary3-2.42.lt.2 {
  8143    db eval {
  8144      SELECT t2.a FROM t2 NATURAL JOIN t1
  8145       WHERE t1.rowid < -549755813888 ORDER BY t1.a DESC
  8146    }
  8147  } {64 58 55 44 21 2}
  8148  do_test boundary3-2.42.lt.3 {
  8149    db eval {
  8150      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8151       WHERE t2.a=63
  8152       ORDER BY t1.rowid
  8153    }
  8154  } {55 2 64 21 44 58}
  8155  do_test boundary3-2.42.lt.4 {
  8156    db eval {
  8157      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8158       WHERE t2.a=63
  8159       ORDER BY t1.rowid DESC
  8160    }
  8161  } {58 44 21 64 2 55}
  8162  do_test boundary3-2.42.lt.5 {
  8163    db eval {
  8164      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8165       WHERE t2.a=63
  8166       ORDER BY x
  8167    }
  8168  } {55 2 64 21 44 58}
  8169  do_test boundary3-2.42.lt.10 {
  8170    db eval {
  8171      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  8172       WHERE t2.a=63
  8173       ORDER BY t1.rowid
  8174    }
  8175  } {55 2 64 21 44 58}
  8176  do_test boundary3-2.42.lt.11 {
  8177    db eval {
  8178      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  8179       WHERE t2.a=63
  8180       ORDER BY t1.rowid DESC
  8181    }
  8182  } {58 44 21 64 2 55}
  8183  do_test boundary3-2.42.le.1 {
  8184    db eval {
  8185      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8186       WHERE t1.rowid <= -549755813888 ORDER BY t2.a
  8187    }
  8188  } {2 21 44 55 58 63 64}
  8189  do_test boundary3-2.42.le.2 {
  8190    db eval {
  8191      SELECT t2.a FROM t2 NATURAL JOIN t1
  8192       WHERE t1.rowid <= -549755813888 ORDER BY t1.a DESC
  8193    }
  8194  } {64 63 58 55 44 21 2}
  8195  do_test boundary3-2.42.le.3 {
  8196    db eval {
  8197      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8198       WHERE t2.a=63
  8199       ORDER BY t1.rowid
  8200    }
  8201  } {55 2 64 21 44 58 63}
  8202  do_test boundary3-2.42.le.4 {
  8203    db eval {
  8204      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8205       WHERE t2.a=63
  8206       ORDER BY t1.rowid DESC
  8207    }
  8208  } {63 58 44 21 64 2 55}
  8209  do_test boundary3-2.42.le.5 {
  8210    db eval {
  8211      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8212       WHERE t2.a=63
  8213       ORDER BY x
  8214    }
  8215  } {55 2 64 21 44 58 63}
  8216  do_test boundary3-2.42.le.10 {
  8217    db eval {
  8218      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  8219       WHERE t2.a=63
  8220       ORDER BY t1.rowid
  8221    }
  8222  } {55 2 64 21 44 58 63}
  8223  do_test boundary3-2.42.le.11 {
  8224    db eval {
  8225      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  8226       WHERE t2.a=63
  8227       ORDER BY t1.rowid DESC
  8228    }
  8229  } {63 58 44 21 64 2 55}
  8230  do_test boundary3-2.43.1 {
  8231    db eval {
  8232      SELECT t1.* FROM t1, t2 WHERE t1.rowid=281474976710655 AND t2.a=t1.a
  8233    }
  8234  } {10 0000ffffffffffff}
  8235  do_test boundary3-2.43.2 {
  8236    db eval {
  8237      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000ffffffffffff'
  8238    }
  8239  } {281474976710655 10}
  8240  do_test boundary3-2.43.3 {
  8241    db eval {
  8242      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=10
  8243    }
  8244  } {281474976710655 0000ffffffffffff}
  8245  do_test boundary3-2.43.gt.1 {
  8246    db eval {
  8247      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8248       WHERE t1.rowid > 281474976710655 ORDER BY t2.a
  8249    }
  8250  } {3 13 17 26 27 28 43 45}
  8251  do_test boundary3-2.43.gt.2 {
  8252    db eval {
  8253      SELECT t2.a FROM t2 NATURAL JOIN t1
  8254       WHERE t1.rowid > 281474976710655 ORDER BY t1.a DESC
  8255    }
  8256  } {45 43 28 27 26 17 13 3}
  8257  do_test boundary3-2.43.gt.3 {
  8258    db eval {
  8259      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8260       WHERE t2.a=10
  8261       ORDER BY t1.rowid
  8262    }
  8263  } {26 13 43 27 45 17 28 3}
  8264  do_test boundary3-2.43.gt.4 {
  8265    db eval {
  8266      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8267       WHERE t2.a=10
  8268       ORDER BY t1.rowid DESC
  8269    }
  8270  } {3 28 17 45 27 43 13 26}
  8271  do_test boundary3-2.43.gt.5 {
  8272    db eval {
  8273      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8274       WHERE t2.a=10
  8275       ORDER BY x
  8276    }
  8277  } {26 13 43 27 45 17 28 3}
  8278  do_test boundary3-2.43.ge.1 {
  8279    db eval {
  8280      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8281       WHERE t1.rowid >= 281474976710655 ORDER BY t2.a
  8282    }
  8283  } {3 10 13 17 26 27 28 43 45}
  8284  do_test boundary3-2.43.ge.2 {
  8285    db eval {
  8286      SELECT t2.a FROM t2 NATURAL JOIN t1
  8287       WHERE t1.rowid >= 281474976710655 ORDER BY t1.a DESC
  8288    }
  8289  } {45 43 28 27 26 17 13 10 3}
  8290  do_test boundary3-2.43.ge.3 {
  8291    db eval {
  8292      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8293       WHERE t2.a=10
  8294       ORDER BY t1.rowid
  8295    }
  8296  } {10 26 13 43 27 45 17 28 3}
  8297  do_test boundary3-2.43.ge.4 {
  8298    db eval {
  8299      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8300       WHERE t2.a=10
  8301       ORDER BY t1.rowid DESC
  8302    }
  8303  } {3 28 17 45 27 43 13 26 10}
  8304  do_test boundary3-2.43.ge.5 {
  8305    db eval {
  8306      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8307       WHERE t2.a=10
  8308       ORDER BY x
  8309    }
  8310  } {10 26 13 43 27 45 17 28 3}
  8311  do_test boundary3-2.43.lt.1 {
  8312    db eval {
  8313      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8314       WHERE t1.rowid < 281474976710655 ORDER BY t2.a
  8315    }
  8316  } {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}
  8317  do_test boundary3-2.43.lt.2 {
  8318    db eval {
  8319      SELECT t2.a FROM t2 NATURAL JOIN t1
  8320       WHERE t1.rowid < 281474976710655 ORDER BY t1.a DESC
  8321    }
  8322  } {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}
  8323  do_test boundary3-2.43.lt.3 {
  8324    db eval {
  8325      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8326       WHERE t2.a=10
  8327       ORDER BY t1.rowid
  8328    }
  8329  } {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}
  8330  do_test boundary3-2.43.lt.4 {
  8331    db eval {
  8332      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8333       WHERE t2.a=10
  8334       ORDER BY t1.rowid DESC
  8335    }
  8336  } {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}
  8337  do_test boundary3-2.43.lt.5 {
  8338    db eval {
  8339      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8340       WHERE t2.a=10
  8341       ORDER BY x
  8342    }
  8343  } {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}
  8344  do_test boundary3-2.43.le.1 {
  8345    db eval {
  8346      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8347       WHERE t1.rowid <= 281474976710655 ORDER BY t2.a
  8348    }
  8349  } {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}
  8350  do_test boundary3-2.43.le.2 {
  8351    db eval {
  8352      SELECT t2.a FROM t2 NATURAL JOIN t1
  8353       WHERE t1.rowid <= 281474976710655 ORDER BY t1.a DESC
  8354    }
  8355  } {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}
  8356  do_test boundary3-2.43.le.3 {
  8357    db eval {
  8358      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8359       WHERE t2.a=10
  8360       ORDER BY t1.rowid
  8361    }
  8362  } {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}
  8363  do_test boundary3-2.43.le.4 {
  8364    db eval {
  8365      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8366       WHERE t2.a=10
  8367       ORDER BY t1.rowid DESC
  8368    }
  8369  } {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}
  8370  do_test boundary3-2.43.le.5 {
  8371    db eval {
  8372      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8373       WHERE t2.a=10
  8374       ORDER BY x
  8375    }
  8376  } {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}
  8377  do_test boundary3-2.44.1 {
  8378    db eval {
  8379      SELECT t1.* FROM t1, t2 WHERE t1.rowid=4398046511103 AND t2.a=t1.a
  8380    }
  8381  } {7 000003ffffffffff}
  8382  do_test boundary3-2.44.2 {
  8383    db eval {
  8384      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000003ffffffffff'
  8385    }
  8386  } {4398046511103 7}
  8387  do_test boundary3-2.44.3 {
  8388    db eval {
  8389      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=7
  8390    }
  8391  } {4398046511103 000003ffffffffff}
  8392  do_test boundary3-2.44.gt.1 {
  8393    db eval {
  8394      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8395       WHERE t1.rowid > 4398046511103 ORDER BY t2.a
  8396    }
  8397  } {3 10 13 17 25 26 27 28 34 43 45 56}
  8398  do_test boundary3-2.44.gt.2 {
  8399    db eval {
  8400      SELECT t2.a FROM t2 NATURAL JOIN t1
  8401       WHERE t1.rowid > 4398046511103 ORDER BY t1.a DESC
  8402    }
  8403  } {56 45 43 34 28 27 26 25 17 13 10 3}
  8404  do_test boundary3-2.44.gt.3 {
  8405    db eval {
  8406      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8407       WHERE t2.a=7
  8408       ORDER BY t1.rowid
  8409    }
  8410  } {56 25 34 10 26 13 43 27 45 17 28 3}
  8411  do_test boundary3-2.44.gt.4 {
  8412    db eval {
  8413      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8414       WHERE t2.a=7
  8415       ORDER BY t1.rowid DESC
  8416    }
  8417  } {3 28 17 45 27 43 13 26 10 34 25 56}
  8418  do_test boundary3-2.44.gt.5 {
  8419    db eval {
  8420      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8421       WHERE t2.a=7
  8422       ORDER BY x
  8423    }
  8424  } {56 25 34 10 26 13 43 27 45 17 28 3}
  8425  do_test boundary3-2.44.gt.10 {
  8426    db eval {
  8427      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  8428       WHERE t2.a=7
  8429       ORDER BY t1.rowid
  8430    }
  8431  } {56 25 34 10 26 13 43 27 45 17 28 3}
  8432  do_test boundary3-2.44.gt.11 {
  8433    db eval {
  8434      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  8435       WHERE t2.a=7
  8436       ORDER BY t1.rowid DESC
  8437    }
  8438  } {3 28 17 45 27 43 13 26 10 34 25 56}
  8439  do_test boundary3-2.44.ge.1 {
  8440    db eval {
  8441      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8442       WHERE t1.rowid >= 4398046511103 ORDER BY t2.a
  8443    }
  8444  } {3 7 10 13 17 25 26 27 28 34 43 45 56}
  8445  do_test boundary3-2.44.ge.2 {
  8446    db eval {
  8447      SELECT t2.a FROM t2 NATURAL JOIN t1
  8448       WHERE t1.rowid >= 4398046511103 ORDER BY t1.a DESC
  8449    }
  8450  } {56 45 43 34 28 27 26 25 17 13 10 7 3}
  8451  do_test boundary3-2.44.ge.3 {
  8452    db eval {
  8453      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8454       WHERE t2.a=7
  8455       ORDER BY t1.rowid
  8456    }
  8457  } {7 56 25 34 10 26 13 43 27 45 17 28 3}
  8458  do_test boundary3-2.44.ge.4 {
  8459    db eval {
  8460      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8461       WHERE t2.a=7
  8462       ORDER BY t1.rowid DESC
  8463    }
  8464  } {3 28 17 45 27 43 13 26 10 34 25 56 7}
  8465  do_test boundary3-2.44.ge.5 {
  8466    db eval {
  8467      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8468       WHERE t2.a=7
  8469       ORDER BY x
  8470    }
  8471  } {7 56 25 34 10 26 13 43 27 45 17 28 3}
  8472  do_test boundary3-2.44.ge.10 {
  8473    db eval {
  8474      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  8475       WHERE t2.a=7
  8476       ORDER BY t1.rowid
  8477    }
  8478  } {7 56 25 34 10 26 13 43 27 45 17 28 3}
  8479  do_test boundary3-2.44.ge.11 {
  8480    db eval {
  8481      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  8482       WHERE t2.a=7
  8483       ORDER BY t1.rowid DESC
  8484    }
  8485  } {3 28 17 45 27 43 13 26 10 34 25 56 7}
  8486  do_test boundary3-2.44.lt.1 {
  8487    db eval {
  8488      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8489       WHERE t1.rowid < 4398046511103 ORDER BY t2.a
  8490    }
  8491  } {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}
  8492  do_test boundary3-2.44.lt.2 {
  8493    db eval {
  8494      SELECT t2.a FROM t2 NATURAL JOIN t1
  8495       WHERE t1.rowid < 4398046511103 ORDER BY t1.a DESC
  8496    }
  8497  } {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}
  8498  do_test boundary3-2.44.lt.3 {
  8499    db eval {
  8500      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8501       WHERE t2.a=7
  8502       ORDER BY t1.rowid
  8503    }
  8504  } {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}
  8505  do_test boundary3-2.44.lt.4 {
  8506    db eval {
  8507      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8508       WHERE t2.a=7
  8509       ORDER BY t1.rowid DESC
  8510    }
  8511  } {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}
  8512  do_test boundary3-2.44.lt.5 {
  8513    db eval {
  8514      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8515       WHERE t2.a=7
  8516       ORDER BY x
  8517    }
  8518  } {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}
  8519  do_test boundary3-2.44.lt.10 {
  8520    db eval {
  8521      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  8522       WHERE t2.a=7
  8523       ORDER BY t1.rowid
  8524    }
  8525  } {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}
  8526  do_test boundary3-2.44.lt.11 {
  8527    db eval {
  8528      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  8529       WHERE t2.a=7
  8530       ORDER BY t1.rowid DESC
  8531    }
  8532  } {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}
  8533  do_test boundary3-2.44.le.1 {
  8534    db eval {
  8535      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8536       WHERE t1.rowid <= 4398046511103 ORDER BY t2.a
  8537    }
  8538  } {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}
  8539  do_test boundary3-2.44.le.2 {
  8540    db eval {
  8541      SELECT t2.a FROM t2 NATURAL JOIN t1
  8542       WHERE t1.rowid <= 4398046511103 ORDER BY t1.a DESC
  8543    }
  8544  } {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}
  8545  do_test boundary3-2.44.le.3 {
  8546    db eval {
  8547      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8548       WHERE t2.a=7
  8549       ORDER BY t1.rowid
  8550    }
  8551  } {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}
  8552  do_test boundary3-2.44.le.4 {
  8553    db eval {
  8554      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8555       WHERE t2.a=7
  8556       ORDER BY t1.rowid DESC
  8557    }
  8558  } {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}
  8559  do_test boundary3-2.44.le.5 {
  8560    db eval {
  8561      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8562       WHERE t2.a=7
  8563       ORDER BY x
  8564    }
  8565  } {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}
  8566  do_test boundary3-2.44.le.10 {
  8567    db eval {
  8568      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  8569       WHERE t2.a=7
  8570       ORDER BY t1.rowid
  8571    }
  8572  } {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}
  8573  do_test boundary3-2.44.le.11 {
  8574    db eval {
  8575      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  8576       WHERE t2.a=7
  8577       ORDER BY t1.rowid DESC
  8578    }
  8579  } {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}
  8580  do_test boundary3-2.45.1 {
  8581    db eval {
  8582      SELECT t1.* FROM t1, t2 WHERE t1.rowid=268435455 AND t2.a=t1.a
  8583    }
  8584  } {12 000000000fffffff}
  8585  do_test boundary3-2.45.2 {
  8586    db eval {
  8587      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000000fffffff'
  8588    }
  8589  } {268435455 12}
  8590  do_test boundary3-2.45.3 {
  8591    db eval {
  8592      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=12
  8593    }
  8594  } {268435455 000000000fffffff}
  8595  do_test boundary3-2.45.gt.1 {
  8596    db eval {
  8597      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8598       WHERE t1.rowid > 268435455 ORDER BY t2.a
  8599    }
  8600  } {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
  8601  do_test boundary3-2.45.gt.2 {
  8602    db eval {
  8603      SELECT t2.a FROM t2 NATURAL JOIN t1
  8604       WHERE t1.rowid > 268435455 ORDER BY t1.a DESC
  8605    }
  8606  } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
  8607  do_test boundary3-2.45.gt.3 {
  8608    db eval {
  8609      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8610       WHERE t2.a=12
  8611       ORDER BY t1.rowid
  8612    }
  8613  } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  8614  do_test boundary3-2.45.gt.4 {
  8615    db eval {
  8616      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8617       WHERE t2.a=12
  8618       ORDER BY t1.rowid DESC
  8619    }
  8620  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40}
  8621  do_test boundary3-2.45.gt.5 {
  8622    db eval {
  8623      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8624       WHERE t2.a=12
  8625       ORDER BY x
  8626    }
  8627  } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  8628  do_test boundary3-2.45.gt.10 {
  8629    db eval {
  8630      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  8631       WHERE t2.a=12
  8632       ORDER BY t1.rowid
  8633    }
  8634  } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
  8635  do_test boundary3-2.45.gt.11 {
  8636    db eval {
  8637      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  8638       WHERE t2.a=12
  8639       ORDER BY t1.rowid DESC
  8640    }
  8641  } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40}
  8642  do_test boundary3-2.45.ge.1 {
  8643    db eval {
  8644      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8645       WHERE t1.rowid >= 268435455 ORDER BY t2.a
  8646    }
  8647  } {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}
  8648  do_test boundary3-2.45.ge.2 {
  8649    db eval {
  8650      SELECT t2.a FROM t2 NATURAL JOIN t1
  8651       WHERE t1.rowid >= 268435455 ORDER BY t1.a DESC
  8652    }
  8653  } {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}
  8654  do_test boundary3-2.45.ge.3 {
  8655    db eval {
  8656      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8657       WHERE t2.a=12
  8658       ORDER BY t1.rowid
  8659    }
  8660  } {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}
  8661  do_test boundary3-2.45.ge.4 {
  8662    db eval {
  8663      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8664       WHERE t2.a=12
  8665       ORDER BY t1.rowid DESC
  8666    }
  8667  } {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}
  8668  do_test boundary3-2.45.ge.5 {
  8669    db eval {
  8670      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8671       WHERE t2.a=12
  8672       ORDER BY x
  8673    }
  8674  } {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}
  8675  do_test boundary3-2.45.ge.10 {
  8676    db eval {
  8677      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  8678       WHERE t2.a=12
  8679       ORDER BY t1.rowid
  8680    }
  8681  } {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}
  8682  do_test boundary3-2.45.ge.11 {
  8683    db eval {
  8684      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  8685       WHERE t2.a=12
  8686       ORDER BY t1.rowid DESC
  8687    }
  8688  } {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}
  8689  do_test boundary3-2.45.lt.1 {
  8690    db eval {
  8691      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8692       WHERE t1.rowid < 268435455 ORDER BY t2.a
  8693    }
  8694  } {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}
  8695  do_test boundary3-2.45.lt.2 {
  8696    db eval {
  8697      SELECT t2.a FROM t2 NATURAL JOIN t1
  8698       WHERE t1.rowid < 268435455 ORDER BY t1.a DESC
  8699    }
  8700  } {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}
  8701  do_test boundary3-2.45.lt.3 {
  8702    db eval {
  8703      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8704       WHERE t2.a=12
  8705       ORDER BY t1.rowid
  8706    }
  8707  } {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}
  8708  do_test boundary3-2.45.lt.4 {
  8709    db eval {
  8710      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8711       WHERE t2.a=12
  8712       ORDER BY t1.rowid DESC
  8713    }
  8714  } {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}
  8715  do_test boundary3-2.45.lt.5 {
  8716    db eval {
  8717      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8718       WHERE t2.a=12
  8719       ORDER BY x
  8720    }
  8721  } {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}
  8722  do_test boundary3-2.45.lt.10 {
  8723    db eval {
  8724      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  8725       WHERE t2.a=12
  8726       ORDER BY t1.rowid
  8727    }
  8728  } {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}
  8729  do_test boundary3-2.45.lt.11 {
  8730    db eval {
  8731      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  8732       WHERE t2.a=12
  8733       ORDER BY t1.rowid DESC
  8734    }
  8735  } {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}
  8736  do_test boundary3-2.45.le.1 {
  8737    db eval {
  8738      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8739       WHERE t1.rowid <= 268435455 ORDER BY t2.a
  8740    }
  8741  } {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}
  8742  do_test boundary3-2.45.le.2 {
  8743    db eval {
  8744      SELECT t2.a FROM t2 NATURAL JOIN t1
  8745       WHERE t1.rowid <= 268435455 ORDER BY t1.a DESC
  8746    }
  8747  } {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}
  8748  do_test boundary3-2.45.le.3 {
  8749    db eval {
  8750      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8751       WHERE t2.a=12
  8752       ORDER BY t1.rowid
  8753    }
  8754  } {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}
  8755  do_test boundary3-2.45.le.4 {
  8756    db eval {
  8757      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8758       WHERE t2.a=12
  8759       ORDER BY t1.rowid DESC
  8760    }
  8761  } {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}
  8762  do_test boundary3-2.45.le.5 {
  8763    db eval {
  8764      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8765       WHERE t2.a=12
  8766       ORDER BY x
  8767    }
  8768  } {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}
  8769  do_test boundary3-2.45.le.10 {
  8770    db eval {
  8771      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  8772       WHERE t2.a=12
  8773       ORDER BY t1.rowid
  8774    }
  8775  } {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}
  8776  do_test boundary3-2.45.le.11 {
  8777    db eval {
  8778      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  8779       WHERE t2.a=12
  8780       ORDER BY t1.rowid DESC
  8781    }
  8782  } {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}
  8783  do_test boundary3-2.46.1 {
  8784    db eval {
  8785      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-9223372036854775808 AND t2.a=t1.a
  8786    }
  8787  } {55 8000000000000000}
  8788  do_test boundary3-2.46.2 {
  8789    db eval {
  8790      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='8000000000000000'
  8791    }
  8792  } {-9223372036854775808 55}
  8793  do_test boundary3-2.46.3 {
  8794    db eval {
  8795      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=55
  8796    }
  8797  } {-9223372036854775808 8000000000000000}
  8798  do_test boundary3-2.46.gt.1 {
  8799    db eval {
  8800      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8801       WHERE t1.rowid > -9223372036854775808 ORDER BY t2.a
  8802    }
  8803  } {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}
  8804  do_test boundary3-2.46.gt.2 {
  8805    db eval {
  8806      SELECT t2.a FROM t2 NATURAL JOIN t1
  8807       WHERE t1.rowid > -9223372036854775808 ORDER BY t1.a DESC
  8808    }
  8809  } {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}
  8810  do_test boundary3-2.46.gt.3 {
  8811    db eval {
  8812      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8813       WHERE t2.a=55
  8814       ORDER BY t1.rowid
  8815    }
  8816  } {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}
  8817  do_test boundary3-2.46.gt.4 {
  8818    db eval {
  8819      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8820       WHERE t2.a=55
  8821       ORDER BY t1.rowid DESC
  8822    }
  8823  } {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}
  8824  do_test boundary3-2.46.gt.5 {
  8825    db eval {
  8826      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8827       WHERE t2.a=55
  8828       ORDER BY x
  8829    }
  8830  } {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}
  8831  do_test boundary3-2.46.ge.1 {
  8832    db eval {
  8833      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8834       WHERE t1.rowid >= -9223372036854775808 ORDER BY t2.a
  8835    }
  8836  } {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}
  8837  do_test boundary3-2.46.ge.2 {
  8838    db eval {
  8839      SELECT t2.a FROM t2 NATURAL JOIN t1
  8840       WHERE t1.rowid >= -9223372036854775808 ORDER BY t1.a DESC
  8841    }
  8842  } {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}
  8843  do_test boundary3-2.46.ge.3 {
  8844    db eval {
  8845      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8846       WHERE t2.a=55
  8847       ORDER BY t1.rowid
  8848    }
  8849  } {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}
  8850  do_test boundary3-2.46.ge.4 {
  8851    db eval {
  8852      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8853       WHERE t2.a=55
  8854       ORDER BY t1.rowid DESC
  8855    }
  8856  } {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}
  8857  do_test boundary3-2.46.ge.5 {
  8858    db eval {
  8859      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8860       WHERE t2.a=55
  8861       ORDER BY x
  8862    }
  8863  } {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}
  8864  do_test boundary3-2.46.lt.1 {
  8865    db eval {
  8866      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8867       WHERE t1.rowid < -9223372036854775808 ORDER BY t2.a
  8868    }
  8869  } {}
  8870  do_test boundary3-2.46.lt.2 {
  8871    db eval {
  8872      SELECT t2.a FROM t2 NATURAL JOIN t1
  8873       WHERE t1.rowid < -9223372036854775808 ORDER BY t1.a DESC
  8874    }
  8875  } {}
  8876  do_test boundary3-2.46.lt.3 {
  8877    db eval {
  8878      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8879       WHERE t2.a=55
  8880       ORDER BY t1.rowid
  8881    }
  8882  } {}
  8883  do_test boundary3-2.46.lt.4 {
  8884    db eval {
  8885      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8886       WHERE t2.a=55
  8887       ORDER BY t1.rowid DESC
  8888    }
  8889  } {}
  8890  do_test boundary3-2.46.lt.5 {
  8891    db eval {
  8892      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  8893       WHERE t2.a=55
  8894       ORDER BY x
  8895    }
  8896  } {}
  8897  do_test boundary3-2.46.le.1 {
  8898    db eval {
  8899      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8900       WHERE t1.rowid <= -9223372036854775808 ORDER BY t2.a
  8901    }
  8902  } {55}
  8903  do_test boundary3-2.46.le.2 {
  8904    db eval {
  8905      SELECT t2.a FROM t2 NATURAL JOIN t1
  8906       WHERE t1.rowid <= -9223372036854775808 ORDER BY t1.a DESC
  8907    }
  8908  } {55}
  8909  do_test boundary3-2.46.le.3 {
  8910    db eval {
  8911      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8912       WHERE t2.a=55
  8913       ORDER BY t1.rowid
  8914    }
  8915  } {55}
  8916  do_test boundary3-2.46.le.4 {
  8917    db eval {
  8918      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8919       WHERE t2.a=55
  8920       ORDER BY t1.rowid DESC
  8921    }
  8922  } {55}
  8923  do_test boundary3-2.46.le.5 {
  8924    db eval {
  8925      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  8926       WHERE t2.a=55
  8927       ORDER BY x
  8928    }
  8929  } {55}
  8930  do_test boundary3-2.47.1 {
  8931    db eval {
  8932      SELECT t1.* FROM t1, t2 WHERE t1.rowid=562949953421312 AND t2.a=t1.a
  8933    }
  8934  } {43 0002000000000000}
  8935  do_test boundary3-2.47.2 {
  8936    db eval {
  8937      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0002000000000000'
  8938    }
  8939  } {562949953421312 43}
  8940  do_test boundary3-2.47.3 {
  8941    db eval {
  8942      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=43
  8943    }
  8944  } {562949953421312 0002000000000000}
  8945  do_test boundary3-2.47.gt.1 {
  8946    db eval {
  8947      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8948       WHERE t1.rowid > 562949953421312 ORDER BY t2.a
  8949    }
  8950  } {3 17 27 28 45}
  8951  do_test boundary3-2.47.gt.2 {
  8952    db eval {
  8953      SELECT t2.a FROM t2 NATURAL JOIN t1
  8954       WHERE t1.rowid > 562949953421312 ORDER BY t1.a DESC
  8955    }
  8956  } {45 28 27 17 3}
  8957  do_test boundary3-2.47.gt.3 {
  8958    db eval {
  8959      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8960       WHERE t2.a=43
  8961       ORDER BY t1.rowid
  8962    }
  8963  } {27 45 17 28 3}
  8964  do_test boundary3-2.47.gt.4 {
  8965    db eval {
  8966      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8967       WHERE t2.a=43
  8968       ORDER BY t1.rowid DESC
  8969    }
  8970  } {3 28 17 45 27}
  8971  do_test boundary3-2.47.gt.5 {
  8972    db eval {
  8973      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  8974       WHERE t2.a=43
  8975       ORDER BY x
  8976    }
  8977  } {27 45 17 28 3}
  8978  do_test boundary3-2.47.ge.1 {
  8979    db eval {
  8980      SELECT t2.a FROM t1 JOIN t2 USING(a)
  8981       WHERE t1.rowid >= 562949953421312 ORDER BY t2.a
  8982    }
  8983  } {3 17 27 28 43 45}
  8984  do_test boundary3-2.47.ge.2 {
  8985    db eval {
  8986      SELECT t2.a FROM t2 NATURAL JOIN t1
  8987       WHERE t1.rowid >= 562949953421312 ORDER BY t1.a DESC
  8988    }
  8989  } {45 43 28 27 17 3}
  8990  do_test boundary3-2.47.ge.3 {
  8991    db eval {
  8992      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  8993       WHERE t2.a=43
  8994       ORDER BY t1.rowid
  8995    }
  8996  } {43 27 45 17 28 3}
  8997  do_test boundary3-2.47.ge.4 {
  8998    db eval {
  8999      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9000       WHERE t2.a=43
  9001       ORDER BY t1.rowid DESC
  9002    }
  9003  } {3 28 17 45 27 43}
  9004  do_test boundary3-2.47.ge.5 {
  9005    db eval {
  9006      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9007       WHERE t2.a=43
  9008       ORDER BY x
  9009    }
  9010  } {43 27 45 17 28 3}
  9011  do_test boundary3-2.47.lt.1 {
  9012    db eval {
  9013      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9014       WHERE t1.rowid < 562949953421312 ORDER BY t2.a
  9015    }
  9016  } {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}
  9017  do_test boundary3-2.47.lt.2 {
  9018    db eval {
  9019      SELECT t2.a FROM t2 NATURAL JOIN t1
  9020       WHERE t1.rowid < 562949953421312 ORDER BY t1.a DESC
  9021    }
  9022  } {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}
  9023  do_test boundary3-2.47.lt.3 {
  9024    db eval {
  9025      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9026       WHERE t2.a=43
  9027       ORDER BY t1.rowid
  9028    }
  9029  } {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}
  9030  do_test boundary3-2.47.lt.4 {
  9031    db eval {
  9032      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9033       WHERE t2.a=43
  9034       ORDER BY t1.rowid DESC
  9035    }
  9036  } {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}
  9037  do_test boundary3-2.47.lt.5 {
  9038    db eval {
  9039      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9040       WHERE t2.a=43
  9041       ORDER BY x
  9042    }
  9043  } {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}
  9044  do_test boundary3-2.47.le.1 {
  9045    db eval {
  9046      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9047       WHERE t1.rowid <= 562949953421312 ORDER BY t2.a
  9048    }
  9049  } {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}
  9050  do_test boundary3-2.47.le.2 {
  9051    db eval {
  9052      SELECT t2.a FROM t2 NATURAL JOIN t1
  9053       WHERE t1.rowid <= 562949953421312 ORDER BY t1.a DESC
  9054    }
  9055  } {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}
  9056  do_test boundary3-2.47.le.3 {
  9057    db eval {
  9058      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9059       WHERE t2.a=43
  9060       ORDER BY t1.rowid
  9061    }
  9062  } {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}
  9063  do_test boundary3-2.47.le.4 {
  9064    db eval {
  9065      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9066       WHERE t2.a=43
  9067       ORDER BY t1.rowid DESC
  9068    }
  9069  } {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}
  9070  do_test boundary3-2.47.le.5 {
  9071    db eval {
  9072      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9073       WHERE t2.a=43
  9074       ORDER BY x
  9075    }
  9076  } {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}
  9077  do_test boundary3-2.48.1 {
  9078    db eval {
  9079      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-8388609 AND t2.a=t1.a
  9080    }
  9081  } {1 ffffffffff7fffff}
  9082  do_test boundary3-2.48.2 {
  9083    db eval {
  9084      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffff7fffff'
  9085    }
  9086  } {-8388609 1}
  9087  do_test boundary3-2.48.3 {
  9088    db eval {
  9089      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=1
  9090    }
  9091  } {-8388609 ffffffffff7fffff}
  9092  do_test boundary3-2.48.gt.1 {
  9093    db eval {
  9094      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9095       WHERE t1.rowid > -8388609 ORDER BY t2.a
  9096    }
  9097  } {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}
  9098  do_test boundary3-2.48.gt.2 {
  9099    db eval {
  9100      SELECT t2.a FROM t2 NATURAL JOIN t1
  9101       WHERE t1.rowid > -8388609 ORDER BY t1.a DESC
  9102    }
  9103  } {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}
  9104  do_test boundary3-2.48.gt.3 {
  9105    db eval {
  9106      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9107       WHERE t2.a=1
  9108       ORDER BY t1.rowid
  9109    }
  9110  } {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}
  9111  do_test boundary3-2.48.gt.4 {
  9112    db eval {
  9113      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9114       WHERE t2.a=1
  9115       ORDER BY t1.rowid DESC
  9116    }
  9117  } {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}
  9118  do_test boundary3-2.48.gt.5 {
  9119    db eval {
  9120      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9121       WHERE t2.a=1
  9122       ORDER BY x
  9123    }
  9124  } {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}
  9125  do_test boundary3-2.48.gt.10 {
  9126    db eval {
  9127      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  9128       WHERE t2.a=1
  9129       ORDER BY t1.rowid
  9130    }
  9131  } {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}
  9132  do_test boundary3-2.48.gt.11 {
  9133    db eval {
  9134      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  9135       WHERE t2.a=1
  9136       ORDER BY t1.rowid DESC
  9137    }
  9138  } {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}
  9139  do_test boundary3-2.48.ge.1 {
  9140    db eval {
  9141      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9142       WHERE t1.rowid >= -8388609 ORDER BY t2.a
  9143    }
  9144  } {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}
  9145  do_test boundary3-2.48.ge.2 {
  9146    db eval {
  9147      SELECT t2.a FROM t2 NATURAL JOIN t1
  9148       WHERE t1.rowid >= -8388609 ORDER BY t1.a DESC
  9149    }
  9150  } {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}
  9151  do_test boundary3-2.48.ge.3 {
  9152    db eval {
  9153      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9154       WHERE t2.a=1
  9155       ORDER BY t1.rowid
  9156    }
  9157  } {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}
  9158  do_test boundary3-2.48.ge.4 {
  9159    db eval {
  9160      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9161       WHERE t2.a=1
  9162       ORDER BY t1.rowid DESC
  9163    }
  9164  } {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}
  9165  do_test boundary3-2.48.ge.5 {
  9166    db eval {
  9167      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9168       WHERE t2.a=1
  9169       ORDER BY x
  9170    }
  9171  } {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}
  9172  do_test boundary3-2.48.ge.10 {
  9173    db eval {
  9174      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  9175       WHERE t2.a=1
  9176       ORDER BY t1.rowid
  9177    }
  9178  } {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}
  9179  do_test boundary3-2.48.ge.11 {
  9180    db eval {
  9181      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  9182       WHERE t2.a=1
  9183       ORDER BY t1.rowid DESC
  9184    }
  9185  } {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}
  9186  do_test boundary3-2.48.lt.1 {
  9187    db eval {
  9188      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9189       WHERE t1.rowid < -8388609 ORDER BY t2.a
  9190    }
  9191  } {2 11 21 44 47 55 58 63 64}
  9192  do_test boundary3-2.48.lt.2 {
  9193    db eval {
  9194      SELECT t2.a FROM t2 NATURAL JOIN t1
  9195       WHERE t1.rowid < -8388609 ORDER BY t1.a DESC
  9196    }
  9197  } {64 63 58 55 47 44 21 11 2}
  9198  do_test boundary3-2.48.lt.3 {
  9199    db eval {
  9200      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9201       WHERE t2.a=1
  9202       ORDER BY t1.rowid
  9203    }
  9204  } {55 2 64 21 44 58 63 47 11}
  9205  do_test boundary3-2.48.lt.4 {
  9206    db eval {
  9207      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9208       WHERE t2.a=1
  9209       ORDER BY t1.rowid DESC
  9210    }
  9211  } {11 47 63 58 44 21 64 2 55}
  9212  do_test boundary3-2.48.lt.5 {
  9213    db eval {
  9214      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9215       WHERE t2.a=1
  9216       ORDER BY x
  9217    }
  9218  } {55 2 64 21 44 58 63 47 11}
  9219  do_test boundary3-2.48.lt.10 {
  9220    db eval {
  9221      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  9222       WHERE t2.a=1
  9223       ORDER BY t1.rowid
  9224    }
  9225  } {55 2 64 21 44 58 63 47 11}
  9226  do_test boundary3-2.48.lt.11 {
  9227    db eval {
  9228      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  9229       WHERE t2.a=1
  9230       ORDER BY t1.rowid DESC
  9231    }
  9232  } {11 47 63 58 44 21 64 2 55}
  9233  do_test boundary3-2.48.le.1 {
  9234    db eval {
  9235      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9236       WHERE t1.rowid <= -8388609 ORDER BY t2.a
  9237    }
  9238  } {1 2 11 21 44 47 55 58 63 64}
  9239  do_test boundary3-2.48.le.2 {
  9240    db eval {
  9241      SELECT t2.a FROM t2 NATURAL JOIN t1
  9242       WHERE t1.rowid <= -8388609 ORDER BY t1.a DESC
  9243    }
  9244  } {64 63 58 55 47 44 21 11 2 1}
  9245  do_test boundary3-2.48.le.3 {
  9246    db eval {
  9247      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9248       WHERE t2.a=1
  9249       ORDER BY t1.rowid
  9250    }
  9251  } {55 2 64 21 44 58 63 47 11 1}
  9252  do_test boundary3-2.48.le.4 {
  9253    db eval {
  9254      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9255       WHERE t2.a=1
  9256       ORDER BY t1.rowid DESC
  9257    }
  9258  } {1 11 47 63 58 44 21 64 2 55}
  9259  do_test boundary3-2.48.le.5 {
  9260    db eval {
  9261      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9262       WHERE t2.a=1
  9263       ORDER BY x
  9264    }
  9265  } {55 2 64 21 44 58 63 47 11 1}
  9266  do_test boundary3-2.48.le.10 {
  9267    db eval {
  9268      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  9269       WHERE t2.a=1
  9270       ORDER BY t1.rowid
  9271    }
  9272  } {55 2 64 21 44 58 63 47 11 1}
  9273  do_test boundary3-2.48.le.11 {
  9274    db eval {
  9275      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  9276       WHERE t2.a=1
  9277       ORDER BY t1.rowid DESC
  9278    }
  9279  } {1 11 47 63 58 44 21 64 2 55}
  9280  do_test boundary3-2.49.1 {
  9281    db eval {
  9282      SELECT t1.* FROM t1, t2 WHERE t1.rowid=16777215 AND t2.a=t1.a
  9283    }
  9284  } {9 0000000000ffffff}
  9285  do_test boundary3-2.49.2 {
  9286    db eval {
  9287      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000ffffff'
  9288    }
  9289  } {16777215 9}
  9290  do_test boundary3-2.49.3 {
  9291    db eval {
  9292      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=9
  9293    }
  9294  } {16777215 0000000000ffffff}
  9295  do_test boundary3-2.49.gt.1 {
  9296    db eval {
  9297      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9298       WHERE t1.rowid > 16777215 ORDER BY t2.a
  9299    }
  9300  } {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}
  9301  do_test boundary3-2.49.gt.2 {
  9302    db eval {
  9303      SELECT t2.a FROM t2 NATURAL JOIN t1
  9304       WHERE t1.rowid > 16777215 ORDER BY t1.a DESC
  9305    }
  9306  } {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}
  9307  do_test boundary3-2.49.gt.3 {
  9308    db eval {
  9309      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9310       WHERE t2.a=9
  9311       ORDER BY t1.rowid
  9312    }
  9313  } {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}
  9314  do_test boundary3-2.49.gt.4 {
  9315    db eval {
  9316      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9317       WHERE t2.a=9
  9318       ORDER BY t1.rowid DESC
  9319    }
  9320  } {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}
  9321  do_test boundary3-2.49.gt.5 {
  9322    db eval {
  9323      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9324       WHERE t2.a=9
  9325       ORDER BY x
  9326    }
  9327  } {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}
  9328  do_test boundary3-2.49.gt.10 {
  9329    db eval {
  9330      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  9331       WHERE t2.a=9
  9332       ORDER BY t1.rowid
  9333    }
  9334  } {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}
  9335  do_test boundary3-2.49.gt.11 {
  9336    db eval {
  9337      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  9338       WHERE t2.a=9
  9339       ORDER BY t1.rowid DESC
  9340    }
  9341  } {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}
  9342  do_test boundary3-2.49.ge.1 {
  9343    db eval {
  9344      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9345       WHERE t1.rowid >= 16777215 ORDER BY t2.a
  9346    }
  9347  } {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}
  9348  do_test boundary3-2.49.ge.2 {
  9349    db eval {
  9350      SELECT t2.a FROM t2 NATURAL JOIN t1
  9351       WHERE t1.rowid >= 16777215 ORDER BY t1.a DESC
  9352    }
  9353  } {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}
  9354  do_test boundary3-2.49.ge.3 {
  9355    db eval {
  9356      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9357       WHERE t2.a=9
  9358       ORDER BY t1.rowid
  9359    }
  9360  } {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}
  9361  do_test boundary3-2.49.ge.4 {
  9362    db eval {
  9363      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9364       WHERE t2.a=9
  9365       ORDER BY t1.rowid DESC
  9366    }
  9367  } {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}
  9368  do_test boundary3-2.49.ge.5 {
  9369    db eval {
  9370      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9371       WHERE t2.a=9
  9372       ORDER BY x
  9373    }
  9374  } {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}
  9375  do_test boundary3-2.49.ge.10 {
  9376    db eval {
  9377      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  9378       WHERE t2.a=9
  9379       ORDER BY t1.rowid
  9380    }
  9381  } {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}
  9382  do_test boundary3-2.49.ge.11 {
  9383    db eval {
  9384      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  9385       WHERE t2.a=9
  9386       ORDER BY t1.rowid DESC
  9387    }
  9388  } {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}
  9389  do_test boundary3-2.49.lt.1 {
  9390    db eval {
  9391      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9392       WHERE t1.rowid < 16777215 ORDER BY t2.a
  9393    }
  9394  } {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}
  9395  do_test boundary3-2.49.lt.2 {
  9396    db eval {
  9397      SELECT t2.a FROM t2 NATURAL JOIN t1
  9398       WHERE t1.rowid < 16777215 ORDER BY t1.a DESC
  9399    }
  9400  } {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}
  9401  do_test boundary3-2.49.lt.3 {
  9402    db eval {
  9403      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9404       WHERE t2.a=9
  9405       ORDER BY t1.rowid
  9406    }
  9407  } {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}
  9408  do_test boundary3-2.49.lt.4 {
  9409    db eval {
  9410      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9411       WHERE t2.a=9
  9412       ORDER BY t1.rowid DESC
  9413    }
  9414  } {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}
  9415  do_test boundary3-2.49.lt.5 {
  9416    db eval {
  9417      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9418       WHERE t2.a=9
  9419       ORDER BY x
  9420    }
  9421  } {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}
  9422  do_test boundary3-2.49.lt.10 {
  9423    db eval {
  9424      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  9425       WHERE t2.a=9
  9426       ORDER BY t1.rowid
  9427    }
  9428  } {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}
  9429  do_test boundary3-2.49.lt.11 {
  9430    db eval {
  9431      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  9432       WHERE t2.a=9
  9433       ORDER BY t1.rowid DESC
  9434    }
  9435  } {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}
  9436  do_test boundary3-2.49.le.1 {
  9437    db eval {
  9438      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9439       WHERE t1.rowid <= 16777215 ORDER BY t2.a
  9440    }
  9441  } {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}
  9442  do_test boundary3-2.49.le.2 {
  9443    db eval {
  9444      SELECT t2.a FROM t2 NATURAL JOIN t1
  9445       WHERE t1.rowid <= 16777215 ORDER BY t1.a DESC
  9446    }
  9447  } {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}
  9448  do_test boundary3-2.49.le.3 {
  9449    db eval {
  9450      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9451       WHERE t2.a=9
  9452       ORDER BY t1.rowid
  9453    }
  9454  } {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}
  9455  do_test boundary3-2.49.le.4 {
  9456    db eval {
  9457      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9458       WHERE t2.a=9
  9459       ORDER BY t1.rowid DESC
  9460    }
  9461  } {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}
  9462  do_test boundary3-2.49.le.5 {
  9463    db eval {
  9464      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9465       WHERE t2.a=9
  9466       ORDER BY x
  9467    }
  9468  } {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}
  9469  do_test boundary3-2.49.le.10 {
  9470    db eval {
  9471      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  9472       WHERE t2.a=9
  9473       ORDER BY t1.rowid
  9474    }
  9475  } {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}
  9476  do_test boundary3-2.49.le.11 {
  9477    db eval {
  9478      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  9479       WHERE t2.a=9
  9480       ORDER BY t1.rowid DESC
  9481    }
  9482  } {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}
  9483  do_test boundary3-2.50.1 {
  9484    db eval {
  9485      SELECT t1.* FROM t1, t2 WHERE t1.rowid=8388608 AND t2.a=t1.a
  9486    }
  9487  } {24 0000000000800000}
  9488  do_test boundary3-2.50.2 {
  9489    db eval {
  9490      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000800000'
  9491    }
  9492  } {8388608 24}
  9493  do_test boundary3-2.50.3 {
  9494    db eval {
  9495      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=24
  9496    }
  9497  } {8388608 0000000000800000}
  9498  do_test boundary3-2.50.gt.1 {
  9499    db eval {
  9500      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9501       WHERE t1.rowid > 8388608 ORDER BY t2.a
  9502    }
  9503  } {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}
  9504  do_test boundary3-2.50.gt.2 {
  9505    db eval {
  9506      SELECT t2.a FROM t2 NATURAL JOIN t1
  9507       WHERE t1.rowid > 8388608 ORDER BY t1.a DESC
  9508    }
  9509  } {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}
  9510  do_test boundary3-2.50.gt.3 {
  9511    db eval {
  9512      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9513       WHERE t2.a=24
  9514       ORDER BY t1.rowid
  9515    }
  9516  } {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}
  9517  do_test boundary3-2.50.gt.4 {
  9518    db eval {
  9519      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9520       WHERE t2.a=24
  9521       ORDER BY t1.rowid DESC
  9522    }
  9523  } {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}
  9524  do_test boundary3-2.50.gt.5 {
  9525    db eval {
  9526      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9527       WHERE t2.a=24
  9528       ORDER BY x
  9529    }
  9530  } {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}
  9531  do_test boundary3-2.50.gt.10 {
  9532    db eval {
  9533      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  9534       WHERE t2.a=24
  9535       ORDER BY t1.rowid
  9536    }
  9537  } {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}
  9538  do_test boundary3-2.50.gt.11 {
  9539    db eval {
  9540      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  9541       WHERE t2.a=24
  9542       ORDER BY t1.rowid DESC
  9543    }
  9544  } {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}
  9545  do_test boundary3-2.50.ge.1 {
  9546    db eval {
  9547      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9548       WHERE t1.rowid >= 8388608 ORDER BY t2.a
  9549    }
  9550  } {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}
  9551  do_test boundary3-2.50.ge.2 {
  9552    db eval {
  9553      SELECT t2.a FROM t2 NATURAL JOIN t1
  9554       WHERE t1.rowid >= 8388608 ORDER BY t1.a DESC
  9555    }
  9556  } {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}
  9557  do_test boundary3-2.50.ge.3 {
  9558    db eval {
  9559      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9560       WHERE t2.a=24
  9561       ORDER BY t1.rowid
  9562    }
  9563  } {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}
  9564  do_test boundary3-2.50.ge.4 {
  9565    db eval {
  9566      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9567       WHERE t2.a=24
  9568       ORDER BY t1.rowid DESC
  9569    }
  9570  } {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}
  9571  do_test boundary3-2.50.ge.5 {
  9572    db eval {
  9573      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9574       WHERE t2.a=24
  9575       ORDER BY x
  9576    }
  9577  } {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}
  9578  do_test boundary3-2.50.ge.10 {
  9579    db eval {
  9580      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  9581       WHERE t2.a=24
  9582       ORDER BY t1.rowid
  9583    }
  9584  } {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}
  9585  do_test boundary3-2.50.ge.11 {
  9586    db eval {
  9587      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  9588       WHERE t2.a=24
  9589       ORDER BY t1.rowid DESC
  9590    }
  9591  } {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}
  9592  do_test boundary3-2.50.lt.1 {
  9593    db eval {
  9594      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9595       WHERE t1.rowid < 8388608 ORDER BY t2.a
  9596    }
  9597  } {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}
  9598  do_test boundary3-2.50.lt.2 {
  9599    db eval {
  9600      SELECT t2.a FROM t2 NATURAL JOIN t1
  9601       WHERE t1.rowid < 8388608 ORDER BY t1.a DESC
  9602    }
  9603  } {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}
  9604  do_test boundary3-2.50.lt.3 {
  9605    db eval {
  9606      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9607       WHERE t2.a=24
  9608       ORDER BY t1.rowid
  9609    }
  9610  } {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}
  9611  do_test boundary3-2.50.lt.4 {
  9612    db eval {
  9613      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9614       WHERE t2.a=24
  9615       ORDER BY t1.rowid DESC
  9616    }
  9617  } {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}
  9618  do_test boundary3-2.50.lt.5 {
  9619    db eval {
  9620      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9621       WHERE t2.a=24
  9622       ORDER BY x
  9623    }
  9624  } {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}
  9625  do_test boundary3-2.50.lt.10 {
  9626    db eval {
  9627      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  9628       WHERE t2.a=24
  9629       ORDER BY t1.rowid
  9630    }
  9631  } {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}
  9632  do_test boundary3-2.50.lt.11 {
  9633    db eval {
  9634      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  9635       WHERE t2.a=24
  9636       ORDER BY t1.rowid DESC
  9637    }
  9638  } {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}
  9639  do_test boundary3-2.50.le.1 {
  9640    db eval {
  9641      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9642       WHERE t1.rowid <= 8388608 ORDER BY t2.a
  9643    }
  9644  } {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}
  9645  do_test boundary3-2.50.le.2 {
  9646    db eval {
  9647      SELECT t2.a FROM t2 NATURAL JOIN t1
  9648       WHERE t1.rowid <= 8388608 ORDER BY t1.a DESC
  9649    }
  9650  } {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}
  9651  do_test boundary3-2.50.le.3 {
  9652    db eval {
  9653      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9654       WHERE t2.a=24
  9655       ORDER BY t1.rowid
  9656    }
  9657  } {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}
  9658  do_test boundary3-2.50.le.4 {
  9659    db eval {
  9660      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9661       WHERE t2.a=24
  9662       ORDER BY t1.rowid DESC
  9663    }
  9664  } {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}
  9665  do_test boundary3-2.50.le.5 {
  9666    db eval {
  9667      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9668       WHERE t2.a=24
  9669       ORDER BY x
  9670    }
  9671  } {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}
  9672  do_test boundary3-2.50.le.10 {
  9673    db eval {
  9674      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  9675       WHERE t2.a=24
  9676       ORDER BY t1.rowid
  9677    }
  9678  } {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}
  9679  do_test boundary3-2.50.le.11 {
  9680    db eval {
  9681      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  9682       WHERE t2.a=24
  9683       ORDER BY t1.rowid DESC
  9684    }
  9685  } {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}
  9686  do_test boundary3-2.51.1 {
  9687    db eval {
  9688      SELECT t1.* FROM t1, t2 WHERE t1.rowid=16383 AND t2.a=t1.a
  9689    }
  9690  } {8 0000000000003fff}
  9691  do_test boundary3-2.51.2 {
  9692    db eval {
  9693      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000003fff'
  9694    }
  9695  } {16383 8}
  9696  do_test boundary3-2.51.3 {
  9697    db eval {
  9698      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=8
  9699    }
  9700  } {16383 0000000000003fff}
  9701  do_test boundary3-2.51.gt.1 {
  9702    db eval {
  9703      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9704       WHERE t1.rowid > 16383 ORDER BY t2.a
  9705    }
  9706  } {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}
  9707  do_test boundary3-2.51.gt.2 {
  9708    db eval {
  9709      SELECT t2.a FROM t2 NATURAL JOIN t1
  9710       WHERE t1.rowid > 16383 ORDER BY t1.a DESC
  9711    }
  9712  } {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}
  9713  do_test boundary3-2.51.gt.3 {
  9714    db eval {
  9715      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9716       WHERE t2.a=8
  9717       ORDER BY t1.rowid
  9718    }
  9719  } {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}
  9720  do_test boundary3-2.51.gt.4 {
  9721    db eval {
  9722      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9723       WHERE t2.a=8
  9724       ORDER BY t1.rowid DESC
  9725    }
  9726  } {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}
  9727  do_test boundary3-2.51.gt.5 {
  9728    db eval {
  9729      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9730       WHERE t2.a=8
  9731       ORDER BY x
  9732    }
  9733  } {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}
  9734  do_test boundary3-2.51.gt.10 {
  9735    db eval {
  9736      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  9737       WHERE t2.a=8
  9738       ORDER BY t1.rowid
  9739    }
  9740  } {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}
  9741  do_test boundary3-2.51.gt.11 {
  9742    db eval {
  9743      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
  9744       WHERE t2.a=8
  9745       ORDER BY t1.rowid DESC
  9746    }
  9747  } {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}
  9748  do_test boundary3-2.51.ge.1 {
  9749    db eval {
  9750      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9751       WHERE t1.rowid >= 16383 ORDER BY t2.a
  9752    }
  9753  } {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}
  9754  do_test boundary3-2.51.ge.2 {
  9755    db eval {
  9756      SELECT t2.a FROM t2 NATURAL JOIN t1
  9757       WHERE t1.rowid >= 16383 ORDER BY t1.a DESC
  9758    }
  9759  } {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}
  9760  do_test boundary3-2.51.ge.3 {
  9761    db eval {
  9762      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9763       WHERE t2.a=8
  9764       ORDER BY t1.rowid
  9765    }
  9766  } {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}
  9767  do_test boundary3-2.51.ge.4 {
  9768    db eval {
  9769      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9770       WHERE t2.a=8
  9771       ORDER BY t1.rowid DESC
  9772    }
  9773  } {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}
  9774  do_test boundary3-2.51.ge.5 {
  9775    db eval {
  9776      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9777       WHERE t2.a=8
  9778       ORDER BY x
  9779    }
  9780  } {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}
  9781  do_test boundary3-2.51.ge.10 {
  9782    db eval {
  9783      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  9784       WHERE t2.a=8
  9785       ORDER BY t1.rowid
  9786    }
  9787  } {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}
  9788  do_test boundary3-2.51.ge.11 {
  9789    db eval {
  9790      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
  9791       WHERE t2.a=8
  9792       ORDER BY t1.rowid DESC
  9793    }
  9794  } {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}
  9795  do_test boundary3-2.51.lt.1 {
  9796    db eval {
  9797      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9798       WHERE t1.rowid < 16383 ORDER BY t2.a
  9799    }
  9800  } {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}
  9801  do_test boundary3-2.51.lt.2 {
  9802    db eval {
  9803      SELECT t2.a FROM t2 NATURAL JOIN t1
  9804       WHERE t1.rowid < 16383 ORDER BY t1.a DESC
  9805    }
  9806  } {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}
  9807  do_test boundary3-2.51.lt.3 {
  9808    db eval {
  9809      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9810       WHERE t2.a=8
  9811       ORDER BY t1.rowid
  9812    }
  9813  } {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}
  9814  do_test boundary3-2.51.lt.4 {
  9815    db eval {
  9816      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9817       WHERE t2.a=8
  9818       ORDER BY t1.rowid DESC
  9819    }
  9820  } {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}
  9821  do_test boundary3-2.51.lt.5 {
  9822    db eval {
  9823      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9824       WHERE t2.a=8
  9825       ORDER BY x
  9826    }
  9827  } {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}
  9828  do_test boundary3-2.51.lt.10 {
  9829    db eval {
  9830      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  9831       WHERE t2.a=8
  9832       ORDER BY t1.rowid
  9833    }
  9834  } {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}
  9835  do_test boundary3-2.51.lt.11 {
  9836    db eval {
  9837      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
  9838       WHERE t2.a=8
  9839       ORDER BY t1.rowid DESC
  9840    }
  9841  } {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}
  9842  do_test boundary3-2.51.le.1 {
  9843    db eval {
  9844      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9845       WHERE t1.rowid <= 16383 ORDER BY t2.a
  9846    }
  9847  } {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}
  9848  do_test boundary3-2.51.le.2 {
  9849    db eval {
  9850      SELECT t2.a FROM t2 NATURAL JOIN t1
  9851       WHERE t1.rowid <= 16383 ORDER BY t1.a DESC
  9852    }
  9853  } {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}
  9854  do_test boundary3-2.51.le.3 {
  9855    db eval {
  9856      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9857       WHERE t2.a=8
  9858       ORDER BY t1.rowid
  9859    }
  9860  } {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}
  9861  do_test boundary3-2.51.le.4 {
  9862    db eval {
  9863      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9864       WHERE t2.a=8
  9865       ORDER BY t1.rowid DESC
  9866    }
  9867  } {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}
  9868  do_test boundary3-2.51.le.5 {
  9869    db eval {
  9870      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
  9871       WHERE t2.a=8
  9872       ORDER BY x
  9873    }
  9874  } {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}
  9875  do_test boundary3-2.51.le.10 {
  9876    db eval {
  9877      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  9878       WHERE t2.a=8
  9879       ORDER BY t1.rowid
  9880    }
  9881  } {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}
  9882  do_test boundary3-2.51.le.11 {
  9883    db eval {
  9884      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
  9885       WHERE t2.a=8
  9886       ORDER BY t1.rowid DESC
  9887    }
  9888  } {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}
  9889  do_test boundary3-2.52.1 {
  9890    db eval {
  9891      SELECT t1.* FROM t1, t2 WHERE t1.rowid=140737488355328 AND t2.a=t1.a
  9892    }
  9893  } {34 0000800000000000}
  9894  do_test boundary3-2.52.2 {
  9895    db eval {
  9896      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000800000000000'
  9897    }
  9898  } {140737488355328 34}
  9899  do_test boundary3-2.52.3 {
  9900    db eval {
  9901      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=34
  9902    }
  9903  } {140737488355328 0000800000000000}
  9904  do_test boundary3-2.52.gt.1 {
  9905    db eval {
  9906      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9907       WHERE t1.rowid > 140737488355328 ORDER BY t2.a
  9908    }
  9909  } {3 10 13 17 26 27 28 43 45}
  9910  do_test boundary3-2.52.gt.2 {
  9911    db eval {
  9912      SELECT t2.a FROM t2 NATURAL JOIN t1
  9913       WHERE t1.rowid > 140737488355328 ORDER BY t1.a DESC
  9914    }
  9915  } {45 43 28 27 26 17 13 10 3}
  9916  do_test boundary3-2.52.gt.3 {
  9917    db eval {
  9918      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9919       WHERE t2.a=34
  9920       ORDER BY t1.rowid
  9921    }
  9922  } {10 26 13 43 27 45 17 28 3}
  9923  do_test boundary3-2.52.gt.4 {
  9924    db eval {
  9925      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9926       WHERE t2.a=34
  9927       ORDER BY t1.rowid DESC
  9928    }
  9929  } {3 28 17 45 27 43 13 26 10}
  9930  do_test boundary3-2.52.gt.5 {
  9931    db eval {
  9932      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
  9933       WHERE t2.a=34
  9934       ORDER BY x
  9935    }
  9936  } {10 26 13 43 27 45 17 28 3}
  9937  do_test boundary3-2.52.ge.1 {
  9938    db eval {
  9939      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9940       WHERE t1.rowid >= 140737488355328 ORDER BY t2.a
  9941    }
  9942  } {3 10 13 17 26 27 28 34 43 45}
  9943  do_test boundary3-2.52.ge.2 {
  9944    db eval {
  9945      SELECT t2.a FROM t2 NATURAL JOIN t1
  9946       WHERE t1.rowid >= 140737488355328 ORDER BY t1.a DESC
  9947    }
  9948  } {45 43 34 28 27 26 17 13 10 3}
  9949  do_test boundary3-2.52.ge.3 {
  9950    db eval {
  9951      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9952       WHERE t2.a=34
  9953       ORDER BY t1.rowid
  9954    }
  9955  } {34 10 26 13 43 27 45 17 28 3}
  9956  do_test boundary3-2.52.ge.4 {
  9957    db eval {
  9958      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9959       WHERE t2.a=34
  9960       ORDER BY t1.rowid DESC
  9961    }
  9962  } {3 28 17 45 27 43 13 26 10 34}
  9963  do_test boundary3-2.52.ge.5 {
  9964    db eval {
  9965      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
  9966       WHERE t2.a=34
  9967       ORDER BY x
  9968    }
  9969  } {34 10 26 13 43 27 45 17 28 3}
  9970  do_test boundary3-2.52.lt.1 {
  9971    db eval {
  9972      SELECT t2.a FROM t1 JOIN t2 USING(a)
  9973       WHERE t1.rowid < 140737488355328 ORDER BY t2.a
  9974    }
  9975  } {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}
  9976  do_test boundary3-2.52.lt.2 {
  9977    db eval {
  9978      SELECT t2.a FROM t2 NATURAL JOIN t1
  9979       WHERE t1.rowid < 140737488355328 ORDER BY t1.a DESC
  9980    }
  9981  } {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}
  9982  do_test boundary3-2.52.lt.3 {
  9983    db eval {
  9984      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9985       WHERE t2.a=34
  9986       ORDER BY t1.rowid
  9987    }
  9988  } {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}
  9989  do_test boundary3-2.52.lt.4 {
  9990    db eval {
  9991      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9992       WHERE t2.a=34
  9993       ORDER BY t1.rowid DESC
  9994    }
  9995  } {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}
  9996  do_test boundary3-2.52.lt.5 {
  9997    db eval {
  9998      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
  9999       WHERE t2.a=34
 10000       ORDER BY x
 10001    }
 10002  } {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}
 10003  do_test boundary3-2.52.le.1 {
 10004    db eval {
 10005      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10006       WHERE t1.rowid <= 140737488355328 ORDER BY t2.a
 10007    }
 10008  } {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}
 10009  do_test boundary3-2.52.le.2 {
 10010    db eval {
 10011      SELECT t2.a FROM t2 NATURAL JOIN t1
 10012       WHERE t1.rowid <= 140737488355328 ORDER BY t1.a DESC
 10013    }
 10014  } {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}
 10015  do_test boundary3-2.52.le.3 {
 10016    db eval {
 10017      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10018       WHERE t2.a=34
 10019       ORDER BY t1.rowid
 10020    }
 10021  } {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}
 10022  do_test boundary3-2.52.le.4 {
 10023    db eval {
 10024      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10025       WHERE t2.a=34
 10026       ORDER BY t1.rowid DESC
 10027    }
 10028  } {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}
 10029  do_test boundary3-2.52.le.5 {
 10030    db eval {
 10031      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10032       WHERE t2.a=34
 10033       ORDER BY x
 10034    }
 10035  } {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}
 10036  do_test boundary3-2.53.1 {
 10037    db eval {
 10038      SELECT t1.* FROM t1, t2 WHERE t1.rowid=2097151 AND t2.a=t1.a
 10039    }
 10040  } {15 00000000001fffff}
 10041  do_test boundary3-2.53.2 {
 10042    db eval {
 10043      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000001fffff'
 10044    }
 10045  } {2097151 15}
 10046  do_test boundary3-2.53.3 {
 10047    db eval {
 10048      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=15
 10049    }
 10050  } {2097151 00000000001fffff}
 10051  do_test boundary3-2.53.gt.1 {
 10052    db eval {
 10053      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10054       WHERE t1.rowid > 2097151 ORDER BY t2.a
 10055    }
 10056  } {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}
 10057  do_test boundary3-2.53.gt.2 {
 10058    db eval {
 10059      SELECT t2.a FROM t2 NATURAL JOIN t1
 10060       WHERE t1.rowid > 2097151 ORDER BY t1.a DESC
 10061    }
 10062  } {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}
 10063  do_test boundary3-2.53.gt.3 {
 10064    db eval {
 10065      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10066       WHERE t2.a=15
 10067       ORDER BY t1.rowid
 10068    }
 10069  } {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}
 10070  do_test boundary3-2.53.gt.4 {
 10071    db eval {
 10072      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10073       WHERE t2.a=15
 10074       ORDER BY t1.rowid DESC
 10075    }
 10076  } {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}
 10077  do_test boundary3-2.53.gt.5 {
 10078    db eval {
 10079      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10080       WHERE t2.a=15
 10081       ORDER BY x
 10082    }
 10083  } {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}
 10084  do_test boundary3-2.53.gt.10 {
 10085    db eval {
 10086      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 10087       WHERE t2.a=15
 10088       ORDER BY t1.rowid
 10089    }
 10090  } {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}
 10091  do_test boundary3-2.53.gt.11 {
 10092    db eval {
 10093      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 10094       WHERE t2.a=15
 10095       ORDER BY t1.rowid DESC
 10096    }
 10097  } {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}
 10098  do_test boundary3-2.53.ge.1 {
 10099    db eval {
 10100      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10101       WHERE t1.rowid >= 2097151 ORDER BY t2.a
 10102    }
 10103  } {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}
 10104  do_test boundary3-2.53.ge.2 {
 10105    db eval {
 10106      SELECT t2.a FROM t2 NATURAL JOIN t1
 10107       WHERE t1.rowid >= 2097151 ORDER BY t1.a DESC
 10108    }
 10109  } {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}
 10110  do_test boundary3-2.53.ge.3 {
 10111    db eval {
 10112      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10113       WHERE t2.a=15
 10114       ORDER BY t1.rowid
 10115    }
 10116  } {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}
 10117  do_test boundary3-2.53.ge.4 {
 10118    db eval {
 10119      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10120       WHERE t2.a=15
 10121       ORDER BY t1.rowid DESC
 10122    }
 10123  } {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}
 10124  do_test boundary3-2.53.ge.5 {
 10125    db eval {
 10126      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10127       WHERE t2.a=15
 10128       ORDER BY x
 10129    }
 10130  } {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}
 10131  do_test boundary3-2.53.ge.10 {
 10132    db eval {
 10133      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 10134       WHERE t2.a=15
 10135       ORDER BY t1.rowid
 10136    }
 10137  } {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}
 10138  do_test boundary3-2.53.ge.11 {
 10139    db eval {
 10140      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 10141       WHERE t2.a=15
 10142       ORDER BY t1.rowid DESC
 10143    }
 10144  } {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}
 10145  do_test boundary3-2.53.lt.1 {
 10146    db eval {
 10147      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10148       WHERE t1.rowid < 2097151 ORDER BY t2.a
 10149    }
 10150  } {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}
 10151  do_test boundary3-2.53.lt.2 {
 10152    db eval {
 10153      SELECT t2.a FROM t2 NATURAL JOIN t1
 10154       WHERE t1.rowid < 2097151 ORDER BY t1.a DESC
 10155    }
 10156  } {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}
 10157  do_test boundary3-2.53.lt.3 {
 10158    db eval {
 10159      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10160       WHERE t2.a=15
 10161       ORDER BY t1.rowid
 10162    }
 10163  } {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}
 10164  do_test boundary3-2.53.lt.4 {
 10165    db eval {
 10166      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10167       WHERE t2.a=15
 10168       ORDER BY t1.rowid DESC
 10169    }
 10170  } {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}
 10171  do_test boundary3-2.53.lt.5 {
 10172    db eval {
 10173      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10174       WHERE t2.a=15
 10175       ORDER BY x
 10176    }
 10177  } {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}
 10178  do_test boundary3-2.53.lt.10 {
 10179    db eval {
 10180      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 10181       WHERE t2.a=15
 10182       ORDER BY t1.rowid
 10183    }
 10184  } {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}
 10185  do_test boundary3-2.53.lt.11 {
 10186    db eval {
 10187      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 10188       WHERE t2.a=15
 10189       ORDER BY t1.rowid DESC
 10190    }
 10191  } {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}
 10192  do_test boundary3-2.53.le.1 {
 10193    db eval {
 10194      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10195       WHERE t1.rowid <= 2097151 ORDER BY t2.a
 10196    }
 10197  } {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}
 10198  do_test boundary3-2.53.le.2 {
 10199    db eval {
 10200      SELECT t2.a FROM t2 NATURAL JOIN t1
 10201       WHERE t1.rowid <= 2097151 ORDER BY t1.a DESC
 10202    }
 10203  } {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}
 10204  do_test boundary3-2.53.le.3 {
 10205    db eval {
 10206      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10207       WHERE t2.a=15
 10208       ORDER BY t1.rowid
 10209    }
 10210  } {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}
 10211  do_test boundary3-2.53.le.4 {
 10212    db eval {
 10213      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10214       WHERE t2.a=15
 10215       ORDER BY t1.rowid DESC
 10216    }
 10217  } {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}
 10218  do_test boundary3-2.53.le.5 {
 10219    db eval {
 10220      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10221       WHERE t2.a=15
 10222       ORDER BY x
 10223    }
 10224  } {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}
 10225  do_test boundary3-2.53.le.10 {
 10226    db eval {
 10227      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 10228       WHERE t2.a=15
 10229       ORDER BY t1.rowid
 10230    }
 10231  } {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}
 10232  do_test boundary3-2.53.le.11 {
 10233    db eval {
 10234      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 10235       WHERE t2.a=15
 10236       ORDER BY t1.rowid DESC
 10237    }
 10238  } {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}
 10239  do_test boundary3-2.54.1 {
 10240    db eval {
 10241      SELECT t1.* FROM t1, t2 WHERE t1.rowid=140737488355327 AND t2.a=t1.a
 10242    }
 10243  } {25 00007fffffffffff}
 10244  do_test boundary3-2.54.2 {
 10245    db eval {
 10246      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00007fffffffffff'
 10247    }
 10248  } {140737488355327 25}
 10249  do_test boundary3-2.54.3 {
 10250    db eval {
 10251      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=25
 10252    }
 10253  } {140737488355327 00007fffffffffff}
 10254  do_test boundary3-2.54.gt.1 {
 10255    db eval {
 10256      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10257       WHERE t1.rowid > 140737488355327 ORDER BY t2.a
 10258    }
 10259  } {3 10 13 17 26 27 28 34 43 45}
 10260  do_test boundary3-2.54.gt.2 {
 10261    db eval {
 10262      SELECT t2.a FROM t2 NATURAL JOIN t1
 10263       WHERE t1.rowid > 140737488355327 ORDER BY t1.a DESC
 10264    }
 10265  } {45 43 34 28 27 26 17 13 10 3}
 10266  do_test boundary3-2.54.gt.3 {
 10267    db eval {
 10268      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10269       WHERE t2.a=25
 10270       ORDER BY t1.rowid
 10271    }
 10272  } {34 10 26 13 43 27 45 17 28 3}
 10273  do_test boundary3-2.54.gt.4 {
 10274    db eval {
 10275      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10276       WHERE t2.a=25
 10277       ORDER BY t1.rowid DESC
 10278    }
 10279  } {3 28 17 45 27 43 13 26 10 34}
 10280  do_test boundary3-2.54.gt.5 {
 10281    db eval {
 10282      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10283       WHERE t2.a=25
 10284       ORDER BY x
 10285    }
 10286  } {34 10 26 13 43 27 45 17 28 3}
 10287  do_test boundary3-2.54.ge.1 {
 10288    db eval {
 10289      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10290       WHERE t1.rowid >= 140737488355327 ORDER BY t2.a
 10291    }
 10292  } {3 10 13 17 25 26 27 28 34 43 45}
 10293  do_test boundary3-2.54.ge.2 {
 10294    db eval {
 10295      SELECT t2.a FROM t2 NATURAL JOIN t1
 10296       WHERE t1.rowid >= 140737488355327 ORDER BY t1.a DESC
 10297    }
 10298  } {45 43 34 28 27 26 25 17 13 10 3}
 10299  do_test boundary3-2.54.ge.3 {
 10300    db eval {
 10301      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10302       WHERE t2.a=25
 10303       ORDER BY t1.rowid
 10304    }
 10305  } {25 34 10 26 13 43 27 45 17 28 3}
 10306  do_test boundary3-2.54.ge.4 {
 10307    db eval {
 10308      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10309       WHERE t2.a=25
 10310       ORDER BY t1.rowid DESC
 10311    }
 10312  } {3 28 17 45 27 43 13 26 10 34 25}
 10313  do_test boundary3-2.54.ge.5 {
 10314    db eval {
 10315      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10316       WHERE t2.a=25
 10317       ORDER BY x
 10318    }
 10319  } {25 34 10 26 13 43 27 45 17 28 3}
 10320  do_test boundary3-2.54.lt.1 {
 10321    db eval {
 10322      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10323       WHERE t1.rowid < 140737488355327 ORDER BY t2.a
 10324    }
 10325  } {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}
 10326  do_test boundary3-2.54.lt.2 {
 10327    db eval {
 10328      SELECT t2.a FROM t2 NATURAL JOIN t1
 10329       WHERE t1.rowid < 140737488355327 ORDER BY t1.a DESC
 10330    }
 10331  } {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}
 10332  do_test boundary3-2.54.lt.3 {
 10333    db eval {
 10334      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10335       WHERE t2.a=25
 10336       ORDER BY t1.rowid
 10337    }
 10338  } {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}
 10339  do_test boundary3-2.54.lt.4 {
 10340    db eval {
 10341      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10342       WHERE t2.a=25
 10343       ORDER BY t1.rowid DESC
 10344    }
 10345  } {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}
 10346  do_test boundary3-2.54.lt.5 {
 10347    db eval {
 10348      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10349       WHERE t2.a=25
 10350       ORDER BY x
 10351    }
 10352  } {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}
 10353  do_test boundary3-2.54.le.1 {
 10354    db eval {
 10355      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10356       WHERE t1.rowid <= 140737488355327 ORDER BY t2.a
 10357    }
 10358  } {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}
 10359  do_test boundary3-2.54.le.2 {
 10360    db eval {
 10361      SELECT t2.a FROM t2 NATURAL JOIN t1
 10362       WHERE t1.rowid <= 140737488355327 ORDER BY t1.a DESC
 10363    }
 10364  } {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}
 10365  do_test boundary3-2.54.le.3 {
 10366    db eval {
 10367      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10368       WHERE t2.a=25
 10369       ORDER BY t1.rowid
 10370    }
 10371  } {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}
 10372  do_test boundary3-2.54.le.4 {
 10373    db eval {
 10374      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10375       WHERE t2.a=25
 10376       ORDER BY t1.rowid DESC
 10377    }
 10378  } {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}
 10379  do_test boundary3-2.54.le.5 {
 10380    db eval {
 10381      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10382       WHERE t2.a=25
 10383       ORDER BY x
 10384    }
 10385  } {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}
 10386  do_test boundary3-2.55.1 {
 10387    db eval {
 10388      SELECT t1.* FROM t1, t2 WHERE t1.rowid=281474976710656 AND t2.a=t1.a
 10389    }
 10390  } {26 0001000000000000}
 10391  do_test boundary3-2.55.2 {
 10392    db eval {
 10393      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0001000000000000'
 10394    }
 10395  } {281474976710656 26}
 10396  do_test boundary3-2.55.3 {
 10397    db eval {
 10398      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=26
 10399    }
 10400  } {281474976710656 0001000000000000}
 10401  do_test boundary3-2.55.gt.1 {
 10402    db eval {
 10403      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10404       WHERE t1.rowid > 281474976710656 ORDER BY t2.a
 10405    }
 10406  } {3 13 17 27 28 43 45}
 10407  do_test boundary3-2.55.gt.2 {
 10408    db eval {
 10409      SELECT t2.a FROM t2 NATURAL JOIN t1
 10410       WHERE t1.rowid > 281474976710656 ORDER BY t1.a DESC
 10411    }
 10412  } {45 43 28 27 17 13 3}
 10413  do_test boundary3-2.55.gt.3 {
 10414    db eval {
 10415      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10416       WHERE t2.a=26
 10417       ORDER BY t1.rowid
 10418    }
 10419  } {13 43 27 45 17 28 3}
 10420  do_test boundary3-2.55.gt.4 {
 10421    db eval {
 10422      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10423       WHERE t2.a=26
 10424       ORDER BY t1.rowid DESC
 10425    }
 10426  } {3 28 17 45 27 43 13}
 10427  do_test boundary3-2.55.gt.5 {
 10428    db eval {
 10429      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10430       WHERE t2.a=26
 10431       ORDER BY x
 10432    }
 10433  } {13 43 27 45 17 28 3}
 10434  do_test boundary3-2.55.ge.1 {
 10435    db eval {
 10436      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10437       WHERE t1.rowid >= 281474976710656 ORDER BY t2.a
 10438    }
 10439  } {3 13 17 26 27 28 43 45}
 10440  do_test boundary3-2.55.ge.2 {
 10441    db eval {
 10442      SELECT t2.a FROM t2 NATURAL JOIN t1
 10443       WHERE t1.rowid >= 281474976710656 ORDER BY t1.a DESC
 10444    }
 10445  } {45 43 28 27 26 17 13 3}
 10446  do_test boundary3-2.55.ge.3 {
 10447    db eval {
 10448      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10449       WHERE t2.a=26
 10450       ORDER BY t1.rowid
 10451    }
 10452  } {26 13 43 27 45 17 28 3}
 10453  do_test boundary3-2.55.ge.4 {
 10454    db eval {
 10455      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10456       WHERE t2.a=26
 10457       ORDER BY t1.rowid DESC
 10458    }
 10459  } {3 28 17 45 27 43 13 26}
 10460  do_test boundary3-2.55.ge.5 {
 10461    db eval {
 10462      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10463       WHERE t2.a=26
 10464       ORDER BY x
 10465    }
 10466  } {26 13 43 27 45 17 28 3}
 10467  do_test boundary3-2.55.lt.1 {
 10468    db eval {
 10469      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10470       WHERE t1.rowid < 281474976710656 ORDER BY t2.a
 10471    }
 10472  } {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}
 10473  do_test boundary3-2.55.lt.2 {
 10474    db eval {
 10475      SELECT t2.a FROM t2 NATURAL JOIN t1
 10476       WHERE t1.rowid < 281474976710656 ORDER BY t1.a DESC
 10477    }
 10478  } {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}
 10479  do_test boundary3-2.55.lt.3 {
 10480    db eval {
 10481      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10482       WHERE t2.a=26
 10483       ORDER BY t1.rowid
 10484    }
 10485  } {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}
 10486  do_test boundary3-2.55.lt.4 {
 10487    db eval {
 10488      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10489       WHERE t2.a=26
 10490       ORDER BY t1.rowid DESC
 10491    }
 10492  } {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}
 10493  do_test boundary3-2.55.lt.5 {
 10494    db eval {
 10495      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10496       WHERE t2.a=26
 10497       ORDER BY x
 10498    }
 10499  } {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}
 10500  do_test boundary3-2.55.le.1 {
 10501    db eval {
 10502      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10503       WHERE t1.rowid <= 281474976710656 ORDER BY t2.a
 10504    }
 10505  } {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}
 10506  do_test boundary3-2.55.le.2 {
 10507    db eval {
 10508      SELECT t2.a FROM t2 NATURAL JOIN t1
 10509       WHERE t1.rowid <= 281474976710656 ORDER BY t1.a DESC
 10510    }
 10511  } {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}
 10512  do_test boundary3-2.55.le.3 {
 10513    db eval {
 10514      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10515       WHERE t2.a=26
 10516       ORDER BY t1.rowid
 10517    }
 10518  } {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}
 10519  do_test boundary3-2.55.le.4 {
 10520    db eval {
 10521      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10522       WHERE t2.a=26
 10523       ORDER BY t1.rowid DESC
 10524    }
 10525  } {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}
 10526  do_test boundary3-2.55.le.5 {
 10527    db eval {
 10528      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10529       WHERE t2.a=26
 10530       ORDER BY x
 10531    }
 10532  } {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}
 10533  do_test boundary3-2.56.1 {
 10534    db eval {
 10535      SELECT t1.* FROM t1, t2 WHERE t1.rowid=32767 AND t2.a=t1.a
 10536    }
 10537  } {23 0000000000007fff}
 10538  do_test boundary3-2.56.2 {
 10539    db eval {
 10540      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000007fff'
 10541    }
 10542  } {32767 23}
 10543  do_test boundary3-2.56.3 {
 10544    db eval {
 10545      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=23
 10546    }
 10547  } {32767 0000000000007fff}
 10548  do_test boundary3-2.56.gt.1 {
 10549    db eval {
 10550      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10551       WHERE t1.rowid > 32767 ORDER BY t2.a
 10552    }
 10553  } {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}
 10554  do_test boundary3-2.56.gt.2 {
 10555    db eval {
 10556      SELECT t2.a FROM t2 NATURAL JOIN t1
 10557       WHERE t1.rowid > 32767 ORDER BY t1.a DESC
 10558    }
 10559  } {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}
 10560  do_test boundary3-2.56.gt.3 {
 10561    db eval {
 10562      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10563       WHERE t2.a=23
 10564       ORDER BY t1.rowid
 10565    }
 10566  } {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}
 10567  do_test boundary3-2.56.gt.4 {
 10568    db eval {
 10569      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10570       WHERE t2.a=23
 10571       ORDER BY t1.rowid DESC
 10572    }
 10573  } {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}
 10574  do_test boundary3-2.56.gt.5 {
 10575    db eval {
 10576      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10577       WHERE t2.a=23
 10578       ORDER BY x
 10579    }
 10580  } {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}
 10581  do_test boundary3-2.56.gt.10 {
 10582    db eval {
 10583      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 10584       WHERE t2.a=23
 10585       ORDER BY t1.rowid
 10586    }
 10587  } {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}
 10588  do_test boundary3-2.56.gt.11 {
 10589    db eval {
 10590      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 10591       WHERE t2.a=23
 10592       ORDER BY t1.rowid DESC
 10593    }
 10594  } {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}
 10595  do_test boundary3-2.56.ge.1 {
 10596    db eval {
 10597      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10598       WHERE t1.rowid >= 32767 ORDER BY t2.a
 10599    }
 10600  } {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}
 10601  do_test boundary3-2.56.ge.2 {
 10602    db eval {
 10603      SELECT t2.a FROM t2 NATURAL JOIN t1
 10604       WHERE t1.rowid >= 32767 ORDER BY t1.a DESC
 10605    }
 10606  } {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}
 10607  do_test boundary3-2.56.ge.3 {
 10608    db eval {
 10609      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10610       WHERE t2.a=23
 10611       ORDER BY t1.rowid
 10612    }
 10613  } {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}
 10614  do_test boundary3-2.56.ge.4 {
 10615    db eval {
 10616      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10617       WHERE t2.a=23
 10618       ORDER BY t1.rowid DESC
 10619    }
 10620  } {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}
 10621  do_test boundary3-2.56.ge.5 {
 10622    db eval {
 10623      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10624       WHERE t2.a=23
 10625       ORDER BY x
 10626    }
 10627  } {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}
 10628  do_test boundary3-2.56.ge.10 {
 10629    db eval {
 10630      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 10631       WHERE t2.a=23
 10632       ORDER BY t1.rowid
 10633    }
 10634  } {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}
 10635  do_test boundary3-2.56.ge.11 {
 10636    db eval {
 10637      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 10638       WHERE t2.a=23
 10639       ORDER BY t1.rowid DESC
 10640    }
 10641  } {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}
 10642  do_test boundary3-2.56.lt.1 {
 10643    db eval {
 10644      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10645       WHERE t1.rowid < 32767 ORDER BY t2.a
 10646    }
 10647  } {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}
 10648  do_test boundary3-2.56.lt.2 {
 10649    db eval {
 10650      SELECT t2.a FROM t2 NATURAL JOIN t1
 10651       WHERE t1.rowid < 32767 ORDER BY t1.a DESC
 10652    }
 10653  } {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}
 10654  do_test boundary3-2.56.lt.3 {
 10655    db eval {
 10656      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10657       WHERE t2.a=23
 10658       ORDER BY t1.rowid
 10659    }
 10660  } {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}
 10661  do_test boundary3-2.56.lt.4 {
 10662    db eval {
 10663      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10664       WHERE t2.a=23
 10665       ORDER BY t1.rowid DESC
 10666    }
 10667  } {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}
 10668  do_test boundary3-2.56.lt.5 {
 10669    db eval {
 10670      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10671       WHERE t2.a=23
 10672       ORDER BY x
 10673    }
 10674  } {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}
 10675  do_test boundary3-2.56.lt.10 {
 10676    db eval {
 10677      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 10678       WHERE t2.a=23
 10679       ORDER BY t1.rowid
 10680    }
 10681  } {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}
 10682  do_test boundary3-2.56.lt.11 {
 10683    db eval {
 10684      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 10685       WHERE t2.a=23
 10686       ORDER BY t1.rowid DESC
 10687    }
 10688  } {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}
 10689  do_test boundary3-2.56.le.1 {
 10690    db eval {
 10691      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10692       WHERE t1.rowid <= 32767 ORDER BY t2.a
 10693    }
 10694  } {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}
 10695  do_test boundary3-2.56.le.2 {
 10696    db eval {
 10697      SELECT t2.a FROM t2 NATURAL JOIN t1
 10698       WHERE t1.rowid <= 32767 ORDER BY t1.a DESC
 10699    }
 10700  } {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}
 10701  do_test boundary3-2.56.le.3 {
 10702    db eval {
 10703      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10704       WHERE t2.a=23
 10705       ORDER BY t1.rowid
 10706    }
 10707  } {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}
 10708  do_test boundary3-2.56.le.4 {
 10709    db eval {
 10710      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10711       WHERE t2.a=23
 10712       ORDER BY t1.rowid DESC
 10713    }
 10714  } {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}
 10715  do_test boundary3-2.56.le.5 {
 10716    db eval {
 10717      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10718       WHERE t2.a=23
 10719       ORDER BY x
 10720    }
 10721  } {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}
 10722  do_test boundary3-2.56.le.10 {
 10723    db eval {
 10724      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 10725       WHERE t2.a=23
 10726       ORDER BY t1.rowid
 10727    }
 10728  } {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}
 10729  do_test boundary3-2.56.le.11 {
 10730    db eval {
 10731      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 10732       WHERE t2.a=23
 10733       ORDER BY t1.rowid DESC
 10734    }
 10735  } {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}
 10736  do_test boundary3-2.57.1 {
 10737    db eval {
 10738      SELECT t1.* FROM t1, t2 WHERE t1.rowid=127 AND t2.a=t1.a
 10739    }
 10740  } {4 000000000000007f}
 10741  do_test boundary3-2.57.2 {
 10742    db eval {
 10743      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000000000007f'
 10744    }
 10745  } {127 4}
 10746  do_test boundary3-2.57.3 {
 10747    db eval {
 10748      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=4
 10749    }
 10750  } {127 000000000000007f}
 10751  do_test boundary3-2.57.gt.1 {
 10752    db eval {
 10753      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10754       WHERE t1.rowid > 127 ORDER BY t2.a
 10755    }
 10756  } {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}
 10757  do_test boundary3-2.57.gt.2 {
 10758    db eval {
 10759      SELECT t2.a FROM t2 NATURAL JOIN t1
 10760       WHERE t1.rowid > 127 ORDER BY t1.a DESC
 10761    }
 10762  } {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}
 10763  do_test boundary3-2.57.gt.3 {
 10764    db eval {
 10765      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10766       WHERE t2.a=4
 10767       ORDER BY t1.rowid
 10768    }
 10769  } {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}
 10770  do_test boundary3-2.57.gt.4 {
 10771    db eval {
 10772      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10773       WHERE t2.a=4
 10774       ORDER BY t1.rowid DESC
 10775    }
 10776  } {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}
 10777  do_test boundary3-2.57.gt.5 {
 10778    db eval {
 10779      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10780       WHERE t2.a=4
 10781       ORDER BY x
 10782    }
 10783  } {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}
 10784  do_test boundary3-2.57.gt.10 {
 10785    db eval {
 10786      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 10787       WHERE t2.a=4
 10788       ORDER BY t1.rowid
 10789    }
 10790  } {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}
 10791  do_test boundary3-2.57.gt.11 {
 10792    db eval {
 10793      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 10794       WHERE t2.a=4
 10795       ORDER BY t1.rowid DESC
 10796    }
 10797  } {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}
 10798  do_test boundary3-2.57.ge.1 {
 10799    db eval {
 10800      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10801       WHERE t1.rowid >= 127 ORDER BY t2.a
 10802    }
 10803  } {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}
 10804  do_test boundary3-2.57.ge.2 {
 10805    db eval {
 10806      SELECT t2.a FROM t2 NATURAL JOIN t1
 10807       WHERE t1.rowid >= 127 ORDER BY t1.a DESC
 10808    }
 10809  } {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}
 10810  do_test boundary3-2.57.ge.3 {
 10811    db eval {
 10812      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10813       WHERE t2.a=4
 10814       ORDER BY t1.rowid
 10815    }
 10816  } {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}
 10817  do_test boundary3-2.57.ge.4 {
 10818    db eval {
 10819      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10820       WHERE t2.a=4
 10821       ORDER BY t1.rowid DESC
 10822    }
 10823  } {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}
 10824  do_test boundary3-2.57.ge.5 {
 10825    db eval {
 10826      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 10827       WHERE t2.a=4
 10828       ORDER BY x
 10829    }
 10830  } {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}
 10831  do_test boundary3-2.57.ge.10 {
 10832    db eval {
 10833      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 10834       WHERE t2.a=4
 10835       ORDER BY t1.rowid
 10836    }
 10837  } {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}
 10838  do_test boundary3-2.57.ge.11 {
 10839    db eval {
 10840      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 10841       WHERE t2.a=4
 10842       ORDER BY t1.rowid DESC
 10843    }
 10844  } {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}
 10845  do_test boundary3-2.57.lt.1 {
 10846    db eval {
 10847      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10848       WHERE t1.rowid < 127 ORDER BY t2.a
 10849    }
 10850  } {1 2 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
 10851  do_test boundary3-2.57.lt.2 {
 10852    db eval {
 10853      SELECT t2.a FROM t2 NATURAL JOIN t1
 10854       WHERE t1.rowid < 127 ORDER BY t1.a DESC
 10855    }
 10856  } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 2 1}
 10857  do_test boundary3-2.57.lt.3 {
 10858    db eval {
 10859      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10860       WHERE t2.a=4
 10861       ORDER BY t1.rowid
 10862    }
 10863  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31}
 10864  do_test boundary3-2.57.lt.4 {
 10865    db eval {
 10866      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10867       WHERE t2.a=4
 10868       ORDER BY t1.rowid DESC
 10869    }
 10870  } {31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 10871  do_test boundary3-2.57.lt.5 {
 10872    db eval {
 10873      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 10874       WHERE t2.a=4
 10875       ORDER BY x
 10876    }
 10877  } {59 60 41 5 31 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
 10878  do_test boundary3-2.57.lt.10 {
 10879    db eval {
 10880      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 10881       WHERE t2.a=4
 10882       ORDER BY t1.rowid
 10883    }
 10884  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31}
 10885  do_test boundary3-2.57.lt.11 {
 10886    db eval {
 10887      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 10888       WHERE t2.a=4
 10889       ORDER BY t1.rowid DESC
 10890    }
 10891  } {31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 10892  do_test boundary3-2.57.le.1 {
 10893    db eval {
 10894      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10895       WHERE t1.rowid <= 127 ORDER BY t2.a
 10896    }
 10897  } {1 2 4 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
 10898  do_test boundary3-2.57.le.2 {
 10899    db eval {
 10900      SELECT t2.a FROM t2 NATURAL JOIN t1
 10901       WHERE t1.rowid <= 127 ORDER BY t1.a DESC
 10902    }
 10903  } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 4 2 1}
 10904  do_test boundary3-2.57.le.3 {
 10905    db eval {
 10906      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10907       WHERE t2.a=4
 10908       ORDER BY t1.rowid
 10909    }
 10910  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4}
 10911  do_test boundary3-2.57.le.4 {
 10912    db eval {
 10913      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10914       WHERE t2.a=4
 10915       ORDER BY t1.rowid DESC
 10916    }
 10917  } {4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 10918  do_test boundary3-2.57.le.5 {
 10919    db eval {
 10920      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 10921       WHERE t2.a=4
 10922       ORDER BY x
 10923    }
 10924  } {59 60 41 5 31 4 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
 10925  do_test boundary3-2.57.le.10 {
 10926    db eval {
 10927      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 10928       WHERE t2.a=4
 10929       ORDER BY t1.rowid
 10930    }
 10931  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4}
 10932  do_test boundary3-2.57.le.11 {
 10933    db eval {
 10934      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 10935       WHERE t2.a=4
 10936       ORDER BY t1.rowid DESC
 10937    }
 10938  } {4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 10939  do_test boundary3-2.58.1 {
 10940    db eval {
 10941      SELECT t1.* FROM t1, t2 WHERE t1.rowid=36028797018963967 AND t2.a=t1.a
 10942    }
 10943  } {27 007fffffffffffff}
 10944  do_test boundary3-2.58.2 {
 10945    db eval {
 10946      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='007fffffffffffff'
 10947    }
 10948  } {36028797018963967 27}
 10949  do_test boundary3-2.58.3 {
 10950    db eval {
 10951      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=27
 10952    }
 10953  } {36028797018963967 007fffffffffffff}
 10954  do_test boundary3-2.58.gt.1 {
 10955    db eval {
 10956      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10957       WHERE t1.rowid > 36028797018963967 ORDER BY t2.a
 10958    }
 10959  } {3 17 28 45}
 10960  do_test boundary3-2.58.gt.2 {
 10961    db eval {
 10962      SELECT t2.a FROM t2 NATURAL JOIN t1
 10963       WHERE t1.rowid > 36028797018963967 ORDER BY t1.a DESC
 10964    }
 10965  } {45 28 17 3}
 10966  do_test boundary3-2.58.gt.3 {
 10967    db eval {
 10968      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10969       WHERE t2.a=27
 10970       ORDER BY t1.rowid
 10971    }
 10972  } {45 17 28 3}
 10973  do_test boundary3-2.58.gt.4 {
 10974    db eval {
 10975      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10976       WHERE t2.a=27
 10977       ORDER BY t1.rowid DESC
 10978    }
 10979  } {3 28 17 45}
 10980  do_test boundary3-2.58.gt.5 {
 10981    db eval {
 10982      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 10983       WHERE t2.a=27
 10984       ORDER BY x
 10985    }
 10986  } {45 17 28 3}
 10987  do_test boundary3-2.58.ge.1 {
 10988    db eval {
 10989      SELECT t2.a FROM t1 JOIN t2 USING(a)
 10990       WHERE t1.rowid >= 36028797018963967 ORDER BY t2.a
 10991    }
 10992  } {3 17 27 28 45}
 10993  do_test boundary3-2.58.ge.2 {
 10994    db eval {
 10995      SELECT t2.a FROM t2 NATURAL JOIN t1
 10996       WHERE t1.rowid >= 36028797018963967 ORDER BY t1.a DESC
 10997    }
 10998  } {45 28 27 17 3}
 10999  do_test boundary3-2.58.ge.3 {
 11000    db eval {
 11001      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11002       WHERE t2.a=27
 11003       ORDER BY t1.rowid
 11004    }
 11005  } {27 45 17 28 3}
 11006  do_test boundary3-2.58.ge.4 {
 11007    db eval {
 11008      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11009       WHERE t2.a=27
 11010       ORDER BY t1.rowid DESC
 11011    }
 11012  } {3 28 17 45 27}
 11013  do_test boundary3-2.58.ge.5 {
 11014    db eval {
 11015      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11016       WHERE t2.a=27
 11017       ORDER BY x
 11018    }
 11019  } {27 45 17 28 3}
 11020  do_test boundary3-2.58.lt.1 {
 11021    db eval {
 11022      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11023       WHERE t1.rowid < 36028797018963967 ORDER BY t2.a
 11024    }
 11025  } {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}
 11026  do_test boundary3-2.58.lt.2 {
 11027    db eval {
 11028      SELECT t2.a FROM t2 NATURAL JOIN t1
 11029       WHERE t1.rowid < 36028797018963967 ORDER BY t1.a DESC
 11030    }
 11031  } {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}
 11032  do_test boundary3-2.58.lt.3 {
 11033    db eval {
 11034      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11035       WHERE t2.a=27
 11036       ORDER BY t1.rowid
 11037    }
 11038  } {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}
 11039  do_test boundary3-2.58.lt.4 {
 11040    db eval {
 11041      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11042       WHERE t2.a=27
 11043       ORDER BY t1.rowid DESC
 11044    }
 11045  } {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}
 11046  do_test boundary3-2.58.lt.5 {
 11047    db eval {
 11048      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11049       WHERE t2.a=27
 11050       ORDER BY x
 11051    }
 11052  } {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}
 11053  do_test boundary3-2.58.le.1 {
 11054    db eval {
 11055      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11056       WHERE t1.rowid <= 36028797018963967 ORDER BY t2.a
 11057    }
 11058  } {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}
 11059  do_test boundary3-2.58.le.2 {
 11060    db eval {
 11061      SELECT t2.a FROM t2 NATURAL JOIN t1
 11062       WHERE t1.rowid <= 36028797018963967 ORDER BY t1.a DESC
 11063    }
 11064  } {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}
 11065  do_test boundary3-2.58.le.3 {
 11066    db eval {
 11067      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11068       WHERE t2.a=27
 11069       ORDER BY t1.rowid
 11070    }
 11071  } {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}
 11072  do_test boundary3-2.58.le.4 {
 11073    db eval {
 11074      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11075       WHERE t2.a=27
 11076       ORDER BY t1.rowid DESC
 11077    }
 11078  } {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}
 11079  do_test boundary3-2.58.le.5 {
 11080    db eval {
 11081      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11082       WHERE t2.a=27
 11083       ORDER BY x
 11084    }
 11085  } {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}
 11086  do_test boundary3-2.59.1 {
 11087    db eval {
 11088      SELECT t1.* FROM t1, t2 WHERE t1.rowid=4398046511104 AND t2.a=t1.a
 11089    }
 11090  } {56 0000040000000000}
 11091  do_test boundary3-2.59.2 {
 11092    db eval {
 11093      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000040000000000'
 11094    }
 11095  } {4398046511104 56}
 11096  do_test boundary3-2.59.3 {
 11097    db eval {
 11098      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=56
 11099    }
 11100  } {4398046511104 0000040000000000}
 11101  do_test boundary3-2.59.gt.1 {
 11102    db eval {
 11103      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11104       WHERE t1.rowid > 4398046511104 ORDER BY t2.a
 11105    }
 11106  } {3 10 13 17 25 26 27 28 34 43 45}
 11107  do_test boundary3-2.59.gt.2 {
 11108    db eval {
 11109      SELECT t2.a FROM t2 NATURAL JOIN t1
 11110       WHERE t1.rowid > 4398046511104 ORDER BY t1.a DESC
 11111    }
 11112  } {45 43 34 28 27 26 25 17 13 10 3}
 11113  do_test boundary3-2.59.gt.3 {
 11114    db eval {
 11115      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11116       WHERE t2.a=56
 11117       ORDER BY t1.rowid
 11118    }
 11119  } {25 34 10 26 13 43 27 45 17 28 3}
 11120  do_test boundary3-2.59.gt.4 {
 11121    db eval {
 11122      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11123       WHERE t2.a=56
 11124       ORDER BY t1.rowid DESC
 11125    }
 11126  } {3 28 17 45 27 43 13 26 10 34 25}
 11127  do_test boundary3-2.59.gt.5 {
 11128    db eval {
 11129      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11130       WHERE t2.a=56
 11131       ORDER BY x
 11132    }
 11133  } {25 34 10 26 13 43 27 45 17 28 3}
 11134  do_test boundary3-2.59.gt.10 {
 11135    db eval {
 11136      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 11137       WHERE t2.a=56
 11138       ORDER BY t1.rowid
 11139    }
 11140  } {25 34 10 26 13 43 27 45 17 28 3}
 11141  do_test boundary3-2.59.gt.11 {
 11142    db eval {
 11143      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 11144       WHERE t2.a=56
 11145       ORDER BY t1.rowid DESC
 11146    }
 11147  } {3 28 17 45 27 43 13 26 10 34 25}
 11148  do_test boundary3-2.59.ge.1 {
 11149    db eval {
 11150      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11151       WHERE t1.rowid >= 4398046511104 ORDER BY t2.a
 11152    }
 11153  } {3 10 13 17 25 26 27 28 34 43 45 56}
 11154  do_test boundary3-2.59.ge.2 {
 11155    db eval {
 11156      SELECT t2.a FROM t2 NATURAL JOIN t1
 11157       WHERE t1.rowid >= 4398046511104 ORDER BY t1.a DESC
 11158    }
 11159  } {56 45 43 34 28 27 26 25 17 13 10 3}
 11160  do_test boundary3-2.59.ge.3 {
 11161    db eval {
 11162      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11163       WHERE t2.a=56
 11164       ORDER BY t1.rowid
 11165    }
 11166  } {56 25 34 10 26 13 43 27 45 17 28 3}
 11167  do_test boundary3-2.59.ge.4 {
 11168    db eval {
 11169      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11170       WHERE t2.a=56
 11171       ORDER BY t1.rowid DESC
 11172    }
 11173  } {3 28 17 45 27 43 13 26 10 34 25 56}
 11174  do_test boundary3-2.59.ge.5 {
 11175    db eval {
 11176      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11177       WHERE t2.a=56
 11178       ORDER BY x
 11179    }
 11180  } {56 25 34 10 26 13 43 27 45 17 28 3}
 11181  do_test boundary3-2.59.ge.10 {
 11182    db eval {
 11183      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 11184       WHERE t2.a=56
 11185       ORDER BY t1.rowid
 11186    }
 11187  } {56 25 34 10 26 13 43 27 45 17 28 3}
 11188  do_test boundary3-2.59.ge.11 {
 11189    db eval {
 11190      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 11191       WHERE t2.a=56
 11192       ORDER BY t1.rowid DESC
 11193    }
 11194  } {3 28 17 45 27 43 13 26 10 34 25 56}
 11195  do_test boundary3-2.59.lt.1 {
 11196    db eval {
 11197      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11198       WHERE t1.rowid < 4398046511104 ORDER BY t2.a
 11199    }
 11200  } {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}
 11201  do_test boundary3-2.59.lt.2 {
 11202    db eval {
 11203      SELECT t2.a FROM t2 NATURAL JOIN t1
 11204       WHERE t1.rowid < 4398046511104 ORDER BY t1.a DESC
 11205    }
 11206  } {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}
 11207  do_test boundary3-2.59.lt.3 {
 11208    db eval {
 11209      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11210       WHERE t2.a=56
 11211       ORDER BY t1.rowid
 11212    }
 11213  } {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}
 11214  do_test boundary3-2.59.lt.4 {
 11215    db eval {
 11216      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11217       WHERE t2.a=56
 11218       ORDER BY t1.rowid DESC
 11219    }
 11220  } {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}
 11221  do_test boundary3-2.59.lt.5 {
 11222    db eval {
 11223      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11224       WHERE t2.a=56
 11225       ORDER BY x
 11226    }
 11227  } {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}
 11228  do_test boundary3-2.59.lt.10 {
 11229    db eval {
 11230      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 11231       WHERE t2.a=56
 11232       ORDER BY t1.rowid
 11233    }
 11234  } {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}
 11235  do_test boundary3-2.59.lt.11 {
 11236    db eval {
 11237      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 11238       WHERE t2.a=56
 11239       ORDER BY t1.rowid DESC
 11240    }
 11241  } {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}
 11242  do_test boundary3-2.59.le.1 {
 11243    db eval {
 11244      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11245       WHERE t1.rowid <= 4398046511104 ORDER BY t2.a
 11246    }
 11247  } {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}
 11248  do_test boundary3-2.59.le.2 {
 11249    db eval {
 11250      SELECT t2.a FROM t2 NATURAL JOIN t1
 11251       WHERE t1.rowid <= 4398046511104 ORDER BY t1.a DESC
 11252    }
 11253  } {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}
 11254  do_test boundary3-2.59.le.3 {
 11255    db eval {
 11256      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11257       WHERE t2.a=56
 11258       ORDER BY t1.rowid
 11259    }
 11260  } {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}
 11261  do_test boundary3-2.59.le.4 {
 11262    db eval {
 11263      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11264       WHERE t2.a=56
 11265       ORDER BY t1.rowid DESC
 11266    }
 11267  } {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}
 11268  do_test boundary3-2.59.le.5 {
 11269    db eval {
 11270      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11271       WHERE t2.a=56
 11272       ORDER BY x
 11273    }
 11274  } {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}
 11275  do_test boundary3-2.59.le.10 {
 11276    db eval {
 11277      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 11278       WHERE t2.a=56
 11279       ORDER BY t1.rowid
 11280    }
 11281  } {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}
 11282  do_test boundary3-2.59.le.11 {
 11283    db eval {
 11284      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 11285       WHERE t2.a=56
 11286       ORDER BY t1.rowid DESC
 11287    }
 11288  } {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}
 11289  do_test boundary3-2.60.1 {
 11290    db eval {
 11291      SELECT t1.* FROM t1, t2 WHERE t1.rowid=1 AND t2.a=t1.a
 11292    }
 11293  } {60 0000000000000001}
 11294  do_test boundary3-2.60.2 {
 11295    db eval {
 11296      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000001'
 11297    }
 11298  } {1 60}
 11299  do_test boundary3-2.60.3 {
 11300    db eval {
 11301      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=60
 11302    }
 11303  } {1 0000000000000001}
 11304  do_test boundary3-2.60.gt.1 {
 11305    db eval {
 11306      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11307       WHERE t1.rowid > 1 ORDER BY t2.a
 11308    }
 11309  } {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}
 11310  do_test boundary3-2.60.gt.2 {
 11311    db eval {
 11312      SELECT t2.a FROM t2 NATURAL JOIN t1
 11313       WHERE t1.rowid > 1 ORDER BY t1.a DESC
 11314    }
 11315  } {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}
 11316  do_test boundary3-2.60.gt.3 {
 11317    db eval {
 11318      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11319       WHERE t2.a=60
 11320       ORDER BY t1.rowid
 11321    }
 11322  } {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}
 11323  do_test boundary3-2.60.gt.4 {
 11324    db eval {
 11325      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11326       WHERE t2.a=60
 11327       ORDER BY t1.rowid DESC
 11328    }
 11329  } {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}
 11330  do_test boundary3-2.60.gt.5 {
 11331    db eval {
 11332      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11333       WHERE t2.a=60
 11334       ORDER BY x
 11335    }
 11336  } {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}
 11337  do_test boundary3-2.60.gt.10 {
 11338    db eval {
 11339      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 11340       WHERE t2.a=60
 11341       ORDER BY t1.rowid
 11342    }
 11343  } {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}
 11344  do_test boundary3-2.60.gt.11 {
 11345    db eval {
 11346      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 11347       WHERE t2.a=60
 11348       ORDER BY t1.rowid DESC
 11349    }
 11350  } {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}
 11351  do_test boundary3-2.60.ge.1 {
 11352    db eval {
 11353      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11354       WHERE t1.rowid >= 1 ORDER BY t2.a
 11355    }
 11356  } {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}
 11357  do_test boundary3-2.60.ge.2 {
 11358    db eval {
 11359      SELECT t2.a FROM t2 NATURAL JOIN t1
 11360       WHERE t1.rowid >= 1 ORDER BY t1.a DESC
 11361    }
 11362  } {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}
 11363  do_test boundary3-2.60.ge.3 {
 11364    db eval {
 11365      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11366       WHERE t2.a=60
 11367       ORDER BY t1.rowid
 11368    }
 11369  } {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}
 11370  do_test boundary3-2.60.ge.4 {
 11371    db eval {
 11372      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11373       WHERE t2.a=60
 11374       ORDER BY t1.rowid DESC
 11375    }
 11376  } {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}
 11377  do_test boundary3-2.60.ge.5 {
 11378    db eval {
 11379      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11380       WHERE t2.a=60
 11381       ORDER BY x
 11382    }
 11383  } {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}
 11384  do_test boundary3-2.60.ge.10 {
 11385    db eval {
 11386      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 11387       WHERE t2.a=60
 11388       ORDER BY t1.rowid
 11389    }
 11390  } {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}
 11391  do_test boundary3-2.60.ge.11 {
 11392    db eval {
 11393      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 11394       WHERE t2.a=60
 11395       ORDER BY t1.rowid DESC
 11396    }
 11397  } {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}
 11398  do_test boundary3-2.60.lt.1 {
 11399    db eval {
 11400      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11401       WHERE t1.rowid < 1 ORDER BY t2.a
 11402    }
 11403  } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 63 64}
 11404  do_test boundary3-2.60.lt.2 {
 11405    db eval {
 11406      SELECT t2.a FROM t2 NATURAL JOIN t1
 11407       WHERE t1.rowid < 1 ORDER BY t1.a DESC
 11408    }
 11409  } {64 63 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
 11410  do_test boundary3-2.60.lt.3 {
 11411    db eval {
 11412      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11413       WHERE t2.a=60
 11414       ORDER BY t1.rowid
 11415    }
 11416  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59}
 11417  do_test boundary3-2.60.lt.4 {
 11418    db eval {
 11419      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11420       WHERE t2.a=60
 11421       ORDER BY t1.rowid DESC
 11422    }
 11423  } {59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 11424  do_test boundary3-2.60.lt.5 {
 11425    db eval {
 11426      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11427       WHERE t2.a=60
 11428       ORDER BY x
 11429    }
 11430  } {59 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
 11431  do_test boundary3-2.60.lt.10 {
 11432    db eval {
 11433      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 11434       WHERE t2.a=60
 11435       ORDER BY t1.rowid
 11436    }
 11437  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59}
 11438  do_test boundary3-2.60.lt.11 {
 11439    db eval {
 11440      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 11441       WHERE t2.a=60
 11442       ORDER BY t1.rowid DESC
 11443    }
 11444  } {59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 11445  do_test boundary3-2.60.le.1 {
 11446    db eval {
 11447      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11448       WHERE t1.rowid <= 1 ORDER BY t2.a
 11449    }
 11450  } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 60 63 64}
 11451  do_test boundary3-2.60.le.2 {
 11452    db eval {
 11453      SELECT t2.a FROM t2 NATURAL JOIN t1
 11454       WHERE t1.rowid <= 1 ORDER BY t1.a DESC
 11455    }
 11456  } {64 63 60 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
 11457  do_test boundary3-2.60.le.3 {
 11458    db eval {
 11459      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11460       WHERE t2.a=60
 11461       ORDER BY t1.rowid
 11462    }
 11463  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60}
 11464  do_test boundary3-2.60.le.4 {
 11465    db eval {
 11466      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11467       WHERE t2.a=60
 11468       ORDER BY t1.rowid DESC
 11469    }
 11470  } {60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 11471  do_test boundary3-2.60.le.5 {
 11472    db eval {
 11473      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11474       WHERE t2.a=60
 11475       ORDER BY x
 11476    }
 11477  } {59 60 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
 11478  do_test boundary3-2.60.le.10 {
 11479    db eval {
 11480      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 11481       WHERE t2.a=60
 11482       ORDER BY t1.rowid
 11483    }
 11484  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60}
 11485  do_test boundary3-2.60.le.11 {
 11486    db eval {
 11487      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 11488       WHERE t2.a=60
 11489       ORDER BY t1.rowid DESC
 11490    }
 11491  } {60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 11492  do_test boundary3-2.61.1 {
 11493    db eval {
 11494      SELECT t1.* FROM t1, t2 WHERE t1.rowid=36028797018963968 AND t2.a=t1.a
 11495    }
 11496  } {45 0080000000000000}
 11497  do_test boundary3-2.61.2 {
 11498    db eval {
 11499      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0080000000000000'
 11500    }
 11501  } {36028797018963968 45}
 11502  do_test boundary3-2.61.3 {
 11503    db eval {
 11504      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=45
 11505    }
 11506  } {36028797018963968 0080000000000000}
 11507  do_test boundary3-2.61.gt.1 {
 11508    db eval {
 11509      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11510       WHERE t1.rowid > 36028797018963968 ORDER BY t2.a
 11511    }
 11512  } {3 17 28}
 11513  do_test boundary3-2.61.gt.2 {
 11514    db eval {
 11515      SELECT t2.a FROM t2 NATURAL JOIN t1
 11516       WHERE t1.rowid > 36028797018963968 ORDER BY t1.a DESC
 11517    }
 11518  } {28 17 3}
 11519  do_test boundary3-2.61.gt.3 {
 11520    db eval {
 11521      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11522       WHERE t2.a=45
 11523       ORDER BY t1.rowid
 11524    }
 11525  } {17 28 3}
 11526  do_test boundary3-2.61.gt.4 {
 11527    db eval {
 11528      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11529       WHERE t2.a=45
 11530       ORDER BY t1.rowid DESC
 11531    }
 11532  } {3 28 17}
 11533  do_test boundary3-2.61.gt.5 {
 11534    db eval {
 11535      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11536       WHERE t2.a=45
 11537       ORDER BY x
 11538    }
 11539  } {17 28 3}
 11540  do_test boundary3-2.61.ge.1 {
 11541    db eval {
 11542      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11543       WHERE t1.rowid >= 36028797018963968 ORDER BY t2.a
 11544    }
 11545  } {3 17 28 45}
 11546  do_test boundary3-2.61.ge.2 {
 11547    db eval {
 11548      SELECT t2.a FROM t2 NATURAL JOIN t1
 11549       WHERE t1.rowid >= 36028797018963968 ORDER BY t1.a DESC
 11550    }
 11551  } {45 28 17 3}
 11552  do_test boundary3-2.61.ge.3 {
 11553    db eval {
 11554      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11555       WHERE t2.a=45
 11556       ORDER BY t1.rowid
 11557    }
 11558  } {45 17 28 3}
 11559  do_test boundary3-2.61.ge.4 {
 11560    db eval {
 11561      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11562       WHERE t2.a=45
 11563       ORDER BY t1.rowid DESC
 11564    }
 11565  } {3 28 17 45}
 11566  do_test boundary3-2.61.ge.5 {
 11567    db eval {
 11568      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11569       WHERE t2.a=45
 11570       ORDER BY x
 11571    }
 11572  } {45 17 28 3}
 11573  do_test boundary3-2.61.lt.1 {
 11574    db eval {
 11575      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11576       WHERE t1.rowid < 36028797018963968 ORDER BY t2.a
 11577    }
 11578  } {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}
 11579  do_test boundary3-2.61.lt.2 {
 11580    db eval {
 11581      SELECT t2.a FROM t2 NATURAL JOIN t1
 11582       WHERE t1.rowid < 36028797018963968 ORDER BY t1.a DESC
 11583    }
 11584  } {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}
 11585  do_test boundary3-2.61.lt.3 {
 11586    db eval {
 11587      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11588       WHERE t2.a=45
 11589       ORDER BY t1.rowid
 11590    }
 11591  } {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}
 11592  do_test boundary3-2.61.lt.4 {
 11593    db eval {
 11594      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11595       WHERE t2.a=45
 11596       ORDER BY t1.rowid DESC
 11597    }
 11598  } {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}
 11599  do_test boundary3-2.61.lt.5 {
 11600    db eval {
 11601      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11602       WHERE t2.a=45
 11603       ORDER BY x
 11604    }
 11605  } {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}
 11606  do_test boundary3-2.61.le.1 {
 11607    db eval {
 11608      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11609       WHERE t1.rowid <= 36028797018963968 ORDER BY t2.a
 11610    }
 11611  } {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}
 11612  do_test boundary3-2.61.le.2 {
 11613    db eval {
 11614      SELECT t2.a FROM t2 NATURAL JOIN t1
 11615       WHERE t1.rowid <= 36028797018963968 ORDER BY t1.a DESC
 11616    }
 11617  } {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}
 11618  do_test boundary3-2.61.le.3 {
 11619    db eval {
 11620      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11621       WHERE t2.a=45
 11622       ORDER BY t1.rowid
 11623    }
 11624  } {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}
 11625  do_test boundary3-2.61.le.4 {
 11626    db eval {
 11627      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11628       WHERE t2.a=45
 11629       ORDER BY t1.rowid DESC
 11630    }
 11631  } {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}
 11632  do_test boundary3-2.61.le.5 {
 11633    db eval {
 11634      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11635       WHERE t2.a=45
 11636       ORDER BY x
 11637    }
 11638  } {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}
 11639  do_test boundary3-2.62.1 {
 11640    db eval {
 11641      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-2147483649 AND t2.a=t1.a
 11642    }
 11643  } {47 ffffffff7fffffff}
 11644  do_test boundary3-2.62.2 {
 11645    db eval {
 11646      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffff7fffffff'
 11647    }
 11648  } {-2147483649 47}
 11649  do_test boundary3-2.62.3 {
 11650    db eval {
 11651      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=47
 11652    }
 11653  } {-2147483649 ffffffff7fffffff}
 11654  do_test boundary3-2.62.gt.1 {
 11655    db eval {
 11656      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11657       WHERE t1.rowid > -2147483649 ORDER BY t2.a
 11658    }
 11659  } {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}
 11660  do_test boundary3-2.62.gt.2 {
 11661    db eval {
 11662      SELECT t2.a FROM t2 NATURAL JOIN t1
 11663       WHERE t1.rowid > -2147483649 ORDER BY t1.a DESC
 11664    }
 11665  } {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}
 11666  do_test boundary3-2.62.gt.3 {
 11667    db eval {
 11668      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11669       WHERE t2.a=47
 11670       ORDER BY t1.rowid
 11671    }
 11672  } {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}
 11673  do_test boundary3-2.62.gt.4 {
 11674    db eval {
 11675      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11676       WHERE t2.a=47
 11677       ORDER BY t1.rowid DESC
 11678    }
 11679  } {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}
 11680  do_test boundary3-2.62.gt.5 {
 11681    db eval {
 11682      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11683       WHERE t2.a=47
 11684       ORDER BY x
 11685    }
 11686  } {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}
 11687  do_test boundary3-2.62.gt.10 {
 11688    db eval {
 11689      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 11690       WHERE t2.a=47
 11691       ORDER BY t1.rowid
 11692    }
 11693  } {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}
 11694  do_test boundary3-2.62.gt.11 {
 11695    db eval {
 11696      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 11697       WHERE t2.a=47
 11698       ORDER BY t1.rowid DESC
 11699    }
 11700  } {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}
 11701  do_test boundary3-2.62.ge.1 {
 11702    db eval {
 11703      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11704       WHERE t1.rowid >= -2147483649 ORDER BY t2.a
 11705    }
 11706  } {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}
 11707  do_test boundary3-2.62.ge.2 {
 11708    db eval {
 11709      SELECT t2.a FROM t2 NATURAL JOIN t1
 11710       WHERE t1.rowid >= -2147483649 ORDER BY t1.a DESC
 11711    }
 11712  } {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}
 11713  do_test boundary3-2.62.ge.3 {
 11714    db eval {
 11715      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11716       WHERE t2.a=47
 11717       ORDER BY t1.rowid
 11718    }
 11719  } {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}
 11720  do_test boundary3-2.62.ge.4 {
 11721    db eval {
 11722      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11723       WHERE t2.a=47
 11724       ORDER BY t1.rowid DESC
 11725    }
 11726  } {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}
 11727  do_test boundary3-2.62.ge.5 {
 11728    db eval {
 11729      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11730       WHERE t2.a=47
 11731       ORDER BY x
 11732    }
 11733  } {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}
 11734  do_test boundary3-2.62.ge.10 {
 11735    db eval {
 11736      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 11737       WHERE t2.a=47
 11738       ORDER BY t1.rowid
 11739    }
 11740  } {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}
 11741  do_test boundary3-2.62.ge.11 {
 11742    db eval {
 11743      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 11744       WHERE t2.a=47
 11745       ORDER BY t1.rowid DESC
 11746    }
 11747  } {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}
 11748  do_test boundary3-2.62.lt.1 {
 11749    db eval {
 11750      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11751       WHERE t1.rowid < -2147483649 ORDER BY t2.a
 11752    }
 11753  } {2 21 44 55 58 63 64}
 11754  do_test boundary3-2.62.lt.2 {
 11755    db eval {
 11756      SELECT t2.a FROM t2 NATURAL JOIN t1
 11757       WHERE t1.rowid < -2147483649 ORDER BY t1.a DESC
 11758    }
 11759  } {64 63 58 55 44 21 2}
 11760  do_test boundary3-2.62.lt.3 {
 11761    db eval {
 11762      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11763       WHERE t2.a=47
 11764       ORDER BY t1.rowid
 11765    }
 11766  } {55 2 64 21 44 58 63}
 11767  do_test boundary3-2.62.lt.4 {
 11768    db eval {
 11769      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11770       WHERE t2.a=47
 11771       ORDER BY t1.rowid DESC
 11772    }
 11773  } {63 58 44 21 64 2 55}
 11774  do_test boundary3-2.62.lt.5 {
 11775    db eval {
 11776      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11777       WHERE t2.a=47
 11778       ORDER BY x
 11779    }
 11780  } {55 2 64 21 44 58 63}
 11781  do_test boundary3-2.62.lt.10 {
 11782    db eval {
 11783      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 11784       WHERE t2.a=47
 11785       ORDER BY t1.rowid
 11786    }
 11787  } {55 2 64 21 44 58 63}
 11788  do_test boundary3-2.62.lt.11 {
 11789    db eval {
 11790      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 11791       WHERE t2.a=47
 11792       ORDER BY t1.rowid DESC
 11793    }
 11794  } {63 58 44 21 64 2 55}
 11795  do_test boundary3-2.62.le.1 {
 11796    db eval {
 11797      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11798       WHERE t1.rowid <= -2147483649 ORDER BY t2.a
 11799    }
 11800  } {2 21 44 47 55 58 63 64}
 11801  do_test boundary3-2.62.le.2 {
 11802    db eval {
 11803      SELECT t2.a FROM t2 NATURAL JOIN t1
 11804       WHERE t1.rowid <= -2147483649 ORDER BY t1.a DESC
 11805    }
 11806  } {64 63 58 55 47 44 21 2}
 11807  do_test boundary3-2.62.le.3 {
 11808    db eval {
 11809      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11810       WHERE t2.a=47
 11811       ORDER BY t1.rowid
 11812    }
 11813  } {55 2 64 21 44 58 63 47}
 11814  do_test boundary3-2.62.le.4 {
 11815    db eval {
 11816      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11817       WHERE t2.a=47
 11818       ORDER BY t1.rowid DESC
 11819    }
 11820  } {47 63 58 44 21 64 2 55}
 11821  do_test boundary3-2.62.le.5 {
 11822    db eval {
 11823      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11824       WHERE t2.a=47
 11825       ORDER BY x
 11826    }
 11827  } {55 2 64 21 44 58 63 47}
 11828  do_test boundary3-2.62.le.10 {
 11829    db eval {
 11830      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 11831       WHERE t2.a=47
 11832       ORDER BY t1.rowid
 11833    }
 11834  } {55 2 64 21 44 58 63 47}
 11835  do_test boundary3-2.62.le.11 {
 11836    db eval {
 11837      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 11838       WHERE t2.a=47
 11839       ORDER BY t1.rowid DESC
 11840    }
 11841  } {47 63 58 44 21 64 2 55}
 11842  do_test boundary3-2.63.1 {
 11843    db eval {
 11844      SELECT t1.* FROM t1, t2 WHERE t1.rowid=-36028797018963969 AND t2.a=t1.a
 11845    }
 11846  } {2 ff7fffffffffffff}
 11847  do_test boundary3-2.63.2 {
 11848    db eval {
 11849      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ff7fffffffffffff'
 11850    }
 11851  } {-36028797018963969 2}
 11852  do_test boundary3-2.63.3 {
 11853    db eval {
 11854      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=2
 11855    }
 11856  } {-36028797018963969 ff7fffffffffffff}
 11857  do_test boundary3-2.63.gt.1 {
 11858    db eval {
 11859      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11860       WHERE t1.rowid > -36028797018963969 ORDER BY t2.a
 11861    }
 11862  } {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}
 11863  do_test boundary3-2.63.gt.2 {
 11864    db eval {
 11865      SELECT t2.a FROM t2 NATURAL JOIN t1
 11866       WHERE t1.rowid > -36028797018963969 ORDER BY t1.a DESC
 11867    }
 11868  } {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}
 11869  do_test boundary3-2.63.gt.3 {
 11870    db eval {
 11871      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11872       WHERE t2.a=2
 11873       ORDER BY t1.rowid
 11874    }
 11875  } {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}
 11876  do_test boundary3-2.63.gt.4 {
 11877    db eval {
 11878      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11879       WHERE t2.a=2
 11880       ORDER BY t1.rowid DESC
 11881    }
 11882  } {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}
 11883  do_test boundary3-2.63.gt.5 {
 11884    db eval {
 11885      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 11886       WHERE t2.a=2
 11887       ORDER BY x
 11888    }
 11889  } {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}
 11890  do_test boundary3-2.63.ge.1 {
 11891    db eval {
 11892      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11893       WHERE t1.rowid >= -36028797018963969 ORDER BY t2.a
 11894    }
 11895  } {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}
 11896  do_test boundary3-2.63.ge.2 {
 11897    db eval {
 11898      SELECT t2.a FROM t2 NATURAL JOIN t1
 11899       WHERE t1.rowid >= -36028797018963969 ORDER BY t1.a DESC
 11900    }
 11901  } {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}
 11902  do_test boundary3-2.63.ge.3 {
 11903    db eval {
 11904      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11905       WHERE t2.a=2
 11906       ORDER BY t1.rowid
 11907    }
 11908  } {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}
 11909  do_test boundary3-2.63.ge.4 {
 11910    db eval {
 11911      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11912       WHERE t2.a=2
 11913       ORDER BY t1.rowid DESC
 11914    }
 11915  } {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}
 11916  do_test boundary3-2.63.ge.5 {
 11917    db eval {
 11918      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 11919       WHERE t2.a=2
 11920       ORDER BY x
 11921    }
 11922  } {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}
 11923  do_test boundary3-2.63.lt.1 {
 11924    db eval {
 11925      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11926       WHERE t1.rowid < -36028797018963969 ORDER BY t2.a
 11927    }
 11928  } {55}
 11929  do_test boundary3-2.63.lt.2 {
 11930    db eval {
 11931      SELECT t2.a FROM t2 NATURAL JOIN t1
 11932       WHERE t1.rowid < -36028797018963969 ORDER BY t1.a DESC
 11933    }
 11934  } {55}
 11935  do_test boundary3-2.63.lt.3 {
 11936    db eval {
 11937      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11938       WHERE t2.a=2
 11939       ORDER BY t1.rowid
 11940    }
 11941  } {55}
 11942  do_test boundary3-2.63.lt.4 {
 11943    db eval {
 11944      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11945       WHERE t2.a=2
 11946       ORDER BY t1.rowid DESC
 11947    }
 11948  } {55}
 11949  do_test boundary3-2.63.lt.5 {
 11950    db eval {
 11951      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 11952       WHERE t2.a=2
 11953       ORDER BY x
 11954    }
 11955  } {55}
 11956  do_test boundary3-2.63.le.1 {
 11957    db eval {
 11958      SELECT t2.a FROM t1 JOIN t2 USING(a)
 11959       WHERE t1.rowid <= -36028797018963969 ORDER BY t2.a
 11960    }
 11961  } {2 55}
 11962  do_test boundary3-2.63.le.2 {
 11963    db eval {
 11964      SELECT t2.a FROM t2 NATURAL JOIN t1
 11965       WHERE t1.rowid <= -36028797018963969 ORDER BY t1.a DESC
 11966    }
 11967  } {55 2}
 11968  do_test boundary3-2.63.le.3 {
 11969    db eval {
 11970      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11971       WHERE t2.a=2
 11972       ORDER BY t1.rowid
 11973    }
 11974  } {55 2}
 11975  do_test boundary3-2.63.le.4 {
 11976    db eval {
 11977      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11978       WHERE t2.a=2
 11979       ORDER BY t1.rowid DESC
 11980    }
 11981  } {2 55}
 11982  do_test boundary3-2.63.le.5 {
 11983    db eval {
 11984      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 11985       WHERE t2.a=2
 11986       ORDER BY x
 11987    }
 11988  } {55 2}
 11989  do_test boundary3-2.64.1 {
 11990    db eval {
 11991      SELECT t1.* FROM t1, t2 WHERE t1.rowid=3 AND t2.a=t1.a
 11992    }
 11993  } {5 0000000000000003}
 11994  do_test boundary3-2.64.2 {
 11995    db eval {
 11996      SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000003'
 11997    }
 11998  } {3 5}
 11999  do_test boundary3-2.64.3 {
 12000    db eval {
 12001      SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=5
 12002    }
 12003  } {3 0000000000000003}
 12004  do_test boundary3-2.64.gt.1 {
 12005    db eval {
 12006      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12007       WHERE t1.rowid > 3 ORDER BY t2.a
 12008    }
 12009  } {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}
 12010  do_test boundary3-2.64.gt.2 {
 12011    db eval {
 12012      SELECT t2.a FROM t2 NATURAL JOIN t1
 12013       WHERE t1.rowid > 3 ORDER BY t1.a DESC
 12014    }
 12015  } {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}
 12016  do_test boundary3-2.64.gt.3 {
 12017    db eval {
 12018      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 12019       WHERE t2.a=5
 12020       ORDER BY t1.rowid
 12021    }
 12022  } {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}
 12023  do_test boundary3-2.64.gt.4 {
 12024    db eval {
 12025      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 12026       WHERE t2.a=5
 12027       ORDER BY t1.rowid DESC
 12028    }
 12029  } {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}
 12030  do_test boundary3-2.64.gt.5 {
 12031    db eval {
 12032      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 12033       WHERE t2.a=5
 12034       ORDER BY x
 12035    }
 12036  } {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}
 12037  do_test boundary3-2.64.gt.10 {
 12038    db eval {
 12039      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 12040       WHERE t2.a=5
 12041       ORDER BY t1.rowid
 12042    }
 12043  } {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}
 12044  do_test boundary3-2.64.gt.11 {
 12045    db eval {
 12046      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
 12047       WHERE t2.a=5
 12048       ORDER BY t1.rowid DESC
 12049    }
 12050  } {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}
 12051  do_test boundary3-2.64.ge.1 {
 12052    db eval {
 12053      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12054       WHERE t1.rowid >= 3 ORDER BY t2.a
 12055    }
 12056  } {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}
 12057  do_test boundary3-2.64.ge.2 {
 12058    db eval {
 12059      SELECT t2.a FROM t2 NATURAL JOIN t1
 12060       WHERE t1.rowid >= 3 ORDER BY t1.a DESC
 12061    }
 12062  } {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}
 12063  do_test boundary3-2.64.ge.3 {
 12064    db eval {
 12065      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 12066       WHERE t2.a=5
 12067       ORDER BY t1.rowid
 12068    }
 12069  } {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}
 12070  do_test boundary3-2.64.ge.4 {
 12071    db eval {
 12072      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 12073       WHERE t2.a=5
 12074       ORDER BY t1.rowid DESC
 12075    }
 12076  } {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}
 12077  do_test boundary3-2.64.ge.5 {
 12078    db eval {
 12079      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 12080       WHERE t2.a=5
 12081       ORDER BY x
 12082    }
 12083  } {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}
 12084  do_test boundary3-2.64.ge.10 {
 12085    db eval {
 12086      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 12087       WHERE t2.a=5
 12088       ORDER BY t1.rowid
 12089    }
 12090  } {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}
 12091  do_test boundary3-2.64.ge.11 {
 12092    db eval {
 12093      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
 12094       WHERE t2.a=5
 12095       ORDER BY t1.rowid DESC
 12096    }
 12097  } {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}
 12098  do_test boundary3-2.64.lt.1 {
 12099    db eval {
 12100      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12101       WHERE t1.rowid < 3 ORDER BY t2.a
 12102    }
 12103  } {1 2 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
 12104  do_test boundary3-2.64.lt.2 {
 12105    db eval {
 12106      SELECT t2.a FROM t2 NATURAL JOIN t1
 12107       WHERE t1.rowid < 3 ORDER BY t1.a DESC
 12108    }
 12109  } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 2 1}
 12110  do_test boundary3-2.64.lt.3 {
 12111    db eval {
 12112      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 12113       WHERE t2.a=5
 12114       ORDER BY t1.rowid
 12115    }
 12116  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41}
 12117  do_test boundary3-2.64.lt.4 {
 12118    db eval {
 12119      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 12120       WHERE t2.a=5
 12121       ORDER BY t1.rowid DESC
 12122    }
 12123  } {41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 12124  do_test boundary3-2.64.lt.5 {
 12125    db eval {
 12126      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 12127       WHERE t2.a=5
 12128       ORDER BY x
 12129    }
 12130  } {59 60 41 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
 12131  do_test boundary3-2.64.lt.10 {
 12132    db eval {
 12133      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 12134       WHERE t2.a=5
 12135       ORDER BY t1.rowid
 12136    }
 12137  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41}
 12138  do_test boundary3-2.64.lt.11 {
 12139    db eval {
 12140      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
 12141       WHERE t2.a=5
 12142       ORDER BY t1.rowid DESC
 12143    }
 12144  } {41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 12145  do_test boundary3-2.64.le.1 {
 12146    db eval {
 12147      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12148       WHERE t1.rowid <= 3 ORDER BY t2.a
 12149    }
 12150  } {1 2 5 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
 12151  do_test boundary3-2.64.le.2 {
 12152    db eval {
 12153      SELECT t2.a FROM t2 NATURAL JOIN t1
 12154       WHERE t1.rowid <= 3 ORDER BY t1.a DESC
 12155    }
 12156  } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 5 2 1}
 12157  do_test boundary3-2.64.le.3 {
 12158    db eval {
 12159      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 12160       WHERE t2.a=5
 12161       ORDER BY t1.rowid
 12162    }
 12163  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5}
 12164  do_test boundary3-2.64.le.4 {
 12165    db eval {
 12166      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 12167       WHERE t2.a=5
 12168       ORDER BY t1.rowid DESC
 12169    }
 12170  } {5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 12171  do_test boundary3-2.64.le.5 {
 12172    db eval {
 12173      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 12174       WHERE t2.a=5
 12175       ORDER BY x
 12176    }
 12177  } {59 60 41 5 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
 12178  do_test boundary3-2.64.le.10 {
 12179    db eval {
 12180      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 12181       WHERE t2.a=5
 12182       ORDER BY t1.rowid
 12183    }
 12184  } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5}
 12185  do_test boundary3-2.64.le.11 {
 12186    db eval {
 12187      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
 12188       WHERE t2.a=5
 12189       ORDER BY t1.rowid DESC
 12190    }
 12191  } {5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
 12192  do_test boundary3-2.65.gt.1 {
 12193    db eval {
 12194      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12195       WHERE t1.rowid > 9.22337303685477580800e+18 ORDER BY t2.a
 12196    }
 12197  } {}
 12198  do_test boundary3-2.65.gt.2 {
 12199    db eval {
 12200      SELECT t2.a FROM t2 NATURAL JOIN t1
 12201       WHERE t1.rowid > 9.22337303685477580800e+18 ORDER BY t1.a DESC
 12202    }
 12203  } {}
 12204  do_test boundary3-2.65.gt.3 {
 12205    db eval {
 12206      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 12207       WHERE t2.a=65
 12208       ORDER BY t1.rowid
 12209    }
 12210  } {}
 12211  do_test boundary3-2.65.gt.4 {
 12212    db eval {
 12213      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 12214       WHERE t2.a=65
 12215       ORDER BY t1.rowid DESC
 12216    }
 12217  } {}
 12218  do_test boundary3-2.65.gt.5 {
 12219    db eval {
 12220      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 12221       WHERE t2.a=65
 12222       ORDER BY x
 12223    }
 12224  } {}
 12225  do_test boundary3-2.65.ge.1 {
 12226    db eval {
 12227      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12228       WHERE t1.rowid >= 9.22337303685477580800e+18 ORDER BY t2.a
 12229    }
 12230  } {}
 12231  do_test boundary3-2.65.ge.2 {
 12232    db eval {
 12233      SELECT t2.a FROM t2 NATURAL JOIN t1
 12234       WHERE t1.rowid >= 9.22337303685477580800e+18 ORDER BY t1.a DESC
 12235    }
 12236  } {}
 12237  do_test boundary3-2.65.ge.3 {
 12238    db eval {
 12239      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 12240       WHERE t2.a=65
 12241       ORDER BY t1.rowid
 12242    }
 12243  } {}
 12244  do_test boundary3-2.65.ge.4 {
 12245    db eval {
 12246      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 12247       WHERE t2.a=65
 12248       ORDER BY t1.rowid DESC
 12249    }
 12250  } {}
 12251  do_test boundary3-2.65.ge.5 {
 12252    db eval {
 12253      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 12254       WHERE t2.a=65
 12255       ORDER BY x
 12256    }
 12257  } {}
 12258  do_test boundary3-2.65.lt.1 {
 12259    db eval {
 12260      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12261       WHERE t1.rowid < 9.22337303685477580800e+18 ORDER BY t2.a
 12262    }
 12263  } {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}
 12264  do_test boundary3-2.65.lt.2 {
 12265    db eval {
 12266      SELECT t2.a FROM t2 NATURAL JOIN t1
 12267       WHERE t1.rowid < 9.22337303685477580800e+18 ORDER BY t1.a DESC
 12268    }
 12269  } {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}
 12270  do_test boundary3-2.65.lt.3 {
 12271    db eval {
 12272      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 12273       WHERE t2.a=65
 12274       ORDER BY t1.rowid
 12275    }
 12276  } {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}
 12277  do_test boundary3-2.65.lt.4 {
 12278    db eval {
 12279      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 12280       WHERE t2.a=65
 12281       ORDER BY t1.rowid DESC
 12282    }
 12283  } {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}
 12284  do_test boundary3-2.65.lt.5 {
 12285    db eval {
 12286      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 12287       WHERE t2.a=65
 12288       ORDER BY x
 12289    }
 12290  } {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}
 12291  do_test boundary3-2.65.le.1 {
 12292    db eval {
 12293      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12294       WHERE t1.rowid <= 9.22337303685477580800e+18 ORDER BY t2.a
 12295    }
 12296  } {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}
 12297  do_test boundary3-2.65.le.2 {
 12298    db eval {
 12299      SELECT t2.a FROM t2 NATURAL JOIN t1
 12300       WHERE t1.rowid <= 9.22337303685477580800e+18 ORDER BY t1.a DESC
 12301    }
 12302  } {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}
 12303  do_test boundary3-2.65.le.3 {
 12304    db eval {
 12305      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 12306       WHERE t2.a=65
 12307       ORDER BY t1.rowid
 12308    }
 12309  } {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}
 12310  do_test boundary3-2.65.le.4 {
 12311    db eval {
 12312      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 12313       WHERE t2.a=65
 12314       ORDER BY t1.rowid DESC
 12315    }
 12316  } {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}
 12317  do_test boundary3-2.65.le.5 {
 12318    db eval {
 12319      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 12320       WHERE t2.a=65
 12321       ORDER BY x
 12322    }
 12323  } {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}
 12324  do_test boundary3-2.66.gt.1 {
 12325    db eval {
 12326      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12327       WHERE t1.rowid > -9.22337303685477580800e+18 ORDER BY t2.a
 12328    }
 12329  } {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}
 12330  do_test boundary3-2.66.gt.2 {
 12331    db eval {
 12332      SELECT t2.a FROM t2 NATURAL JOIN t1
 12333       WHERE t1.rowid > -9.22337303685477580800e+18 ORDER BY t1.a DESC
 12334    }
 12335  } {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}
 12336  do_test boundary3-2.66.gt.3 {
 12337    db eval {
 12338      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 12339       WHERE t2.a=66
 12340       ORDER BY t1.rowid
 12341    }
 12342  } {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}
 12343  do_test boundary3-2.66.gt.4 {
 12344    db eval {
 12345      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 12346       WHERE t2.a=66
 12347       ORDER BY t1.rowid DESC
 12348    }
 12349  } {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}
 12350  do_test boundary3-2.66.gt.5 {
 12351    db eval {
 12352      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
 12353       WHERE t2.a=66
 12354       ORDER BY x
 12355    }
 12356  } {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}
 12357  do_test boundary3-2.66.ge.1 {
 12358    db eval {
 12359      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12360       WHERE t1.rowid >= -9.22337303685477580800e+18 ORDER BY t2.a
 12361    }
 12362  } {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}
 12363  do_test boundary3-2.66.ge.2 {
 12364    db eval {
 12365      SELECT t2.a FROM t2 NATURAL JOIN t1
 12366       WHERE t1.rowid >= -9.22337303685477580800e+18 ORDER BY t1.a DESC
 12367    }
 12368  } {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}
 12369  do_test boundary3-2.66.ge.3 {
 12370    db eval {
 12371      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 12372       WHERE t2.a=66
 12373       ORDER BY t1.rowid
 12374    }
 12375  } {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}
 12376  do_test boundary3-2.66.ge.4 {
 12377    db eval {
 12378      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 12379       WHERE t2.a=66
 12380       ORDER BY t1.rowid DESC
 12381    }
 12382  } {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}
 12383  do_test boundary3-2.66.ge.5 {
 12384    db eval {
 12385      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
 12386       WHERE t2.a=66
 12387       ORDER BY x
 12388    }
 12389  } {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}
 12390  do_test boundary3-2.66.lt.1 {
 12391    db eval {
 12392      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12393       WHERE t1.rowid < -9.22337303685477580800e+18 ORDER BY t2.a
 12394    }
 12395  } {}
 12396  do_test boundary3-2.66.lt.2 {
 12397    db eval {
 12398      SELECT t2.a FROM t2 NATURAL JOIN t1
 12399       WHERE t1.rowid < -9.22337303685477580800e+18 ORDER BY t1.a DESC
 12400    }
 12401  } {}
 12402  do_test boundary3-2.66.lt.3 {
 12403    db eval {
 12404      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 12405       WHERE t2.a=66
 12406       ORDER BY t1.rowid
 12407    }
 12408  } {}
 12409  do_test boundary3-2.66.lt.4 {
 12410    db eval {
 12411      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 12412       WHERE t2.a=66
 12413       ORDER BY t1.rowid DESC
 12414    }
 12415  } {}
 12416  do_test boundary3-2.66.lt.5 {
 12417    db eval {
 12418      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
 12419       WHERE t2.a=66
 12420       ORDER BY x
 12421    }
 12422  } {}
 12423  do_test boundary3-2.66.le.1 {
 12424    db eval {
 12425      SELECT t2.a FROM t1 JOIN t2 USING(a)
 12426       WHERE t1.rowid <= -9.22337303685477580800e+18 ORDER BY t2.a
 12427    }
 12428  } {}
 12429  do_test boundary3-2.66.le.2 {
 12430    db eval {
 12431      SELECT t2.a FROM t2 NATURAL JOIN t1
 12432       WHERE t1.rowid <= -9.22337303685477580800e+18 ORDER BY t1.a DESC
 12433    }
 12434  } {}
 12435  do_test boundary3-2.66.le.3 {
 12436    db eval {
 12437      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 12438       WHERE t2.a=66
 12439       ORDER BY t1.rowid
 12440    }
 12441  } {}
 12442  do_test boundary3-2.66.le.4 {
 12443    db eval {
 12444      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 12445       WHERE t2.a=66
 12446       ORDER BY t1.rowid DESC
 12447    }
 12448  } {}
 12449  do_test boundary3-2.66.le.5 {
 12450    db eval {
 12451      SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
 12452       WHERE t2.a=66
 12453       ORDER BY x
 12454    }
 12455  } {}
 12456  finish_test