Annotation of embedaddon/sqlite3/test/boundary3.test, revision 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>