Annotation of embedaddon/sqlite3/test/boundary3.test, revision 1.1.1.1

1.1       misho       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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>