add PRAGMA cipher_memory_security to control settings; lock/unlock memory in manager
[sqlcipher.git] / test / boundary3.test
blobdbe9abfa0a9fb7fc28987dae9b4ca9724c2860ec
1 # 2008 December 11
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
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.
10 #***********************************************************************
11 # This file implements regression tests for SQLite library.
13 # This file is automatically generated from a separate TCL script.
14 # This file seeks to exercise integer boundary values.
16 # $Id: boundary3.test,v 1.2 2009/01/02 15:45:48 shane Exp $
18 set testdir [file dirname $argv0]
19 source $testdir/tester.tcl
21 # Many of the boundary tests depend on a working 64-bit implementation.
22 if {![working_64bit_int]} { finish_test; return }
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