• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 2008 December 11
2#
3# The author disclaims copyright to this source code.  In place of
4# a legal notice, here is a blessing:
5#
6#    May you do good and not evil.
7#    May you find forgiveness for yourself and forgive others.
8#    May you share freely, never taking more than you give.
9#
10#***********************************************************************
11# This file implements regression tests for SQLite library.
12#
13# This file is automatically generated from a separate TCL script.
14# This file seeks to exercise integer boundary values.
15#
16# $Id: boundary3.test,v 1.2 2009/01/02 15:45:48 shane Exp $
17
18set testdir [file dirname $argv0]
19source $testdir/tester.tcl
20
21# Many of the boundary tests depend on a working 64-bit implementation.
22if {![working_64bit_int]} { finish_test; return }
23
24do_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} {}
95do_test boundary3-1.2 {
96  db eval {
97    SELECT count(*) FROM t1
98  }
99} {64}
100do_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}
111do_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}
116do_test boundary3-2.1.2 {
117  db eval {
118    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00ffffffffffffff'
119  }
120} {72057594037927935 17}
121do_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}
126do_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}
132do_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}
138do_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}
145do_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}
152do_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}
159do_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}
165do_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}
171do_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}
178do_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}
185do_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}
192do_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}
198do_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}
204do_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}
211do_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}
218do_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}
225do_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}
231do_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}
237do_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}
244do_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}
251do_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}
258do_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}
263do_test boundary3-2.2.2 {
264  db eval {
265    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000004000'
266  }
267} {16384 16}
268do_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}
273do_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}
279do_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}
285do_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}
292do_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}
299do_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}
306do_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}
313do_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}
320do_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}
326do_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}
332do_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}
339do_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}
346do_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}
353do_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}
360do_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}
367do_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}
373do_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}
379do_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}
386do_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}
393do_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}
400do_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}
407do_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}
414do_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}
420do_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}
426do_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}
433do_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}
440do_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}
447do_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}
454do_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}
461do_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}
466do_test boundary3-2.3.2 {
467  db eval {
468    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000100000000'
469  }
470} {4294967296 36}
471do_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}
476do_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}
482do_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}
488do_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}
495do_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}
502do_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}
509do_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}
516do_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}
523do_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}
529do_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}
535do_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}
542do_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}
549do_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}
556do_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}
563do_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}
570do_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}
576do_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}
582do_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}
589do_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}
596do_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}
603do_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}
610do_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}
617do_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}
623do_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}
629do_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}
636do_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}
643do_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}
650do_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}
657do_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}
664do_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}
669do_test boundary3-2.4.2 {
670  db eval {
671    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000001000000'
672  }
673} {16777216 6}
674do_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}
679do_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}
685do_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}
691do_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}
698do_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}
705do_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}
712do_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}
719do_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}
726do_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}
732do_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}
738do_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}
745do_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}
752do_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}
759do_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}
766do_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}
773do_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}
779do_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}
785do_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}
792do_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}
799do_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}
806do_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}
813do_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}
820do_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}
826do_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}
832do_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}
839do_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}
846do_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}
853do_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}
860do_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}
867do_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}
872do_test boundary3-2.5.2 {
873  db eval {
874    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffff7fff'
875  }
876} {-32769 29}
877do_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}
882do_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}
888do_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}
894do_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}
901do_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}
908do_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}
915do_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}
922do_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}
929do_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}
935do_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}
941do_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}
948do_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}
955do_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}
962do_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}
969do_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}
976do_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}
982do_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}
988do_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}
995do_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}
1002do_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}
1009do_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}
1016do_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}
1023do_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}
1029do_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}
1035do_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}
1042do_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}
1049do_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}
1056do_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}
1063do_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}
1070do_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}
1075do_test boundary3-2.6.2 {
1076  db eval {
1077    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffff7fffffffffff'
1078  }
1079} {-140737488355329 21}
1080do_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}
1085do_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}
1091do_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}
1097do_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}
1104do_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}
1111do_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}
1118do_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}
1124do_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}
1130do_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}
1137do_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}
1144do_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}
1151do_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}
1157do_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}
1163do_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}
1170do_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}
1177do_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}
1184do_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}
1190do_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}
1196do_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}
1203do_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}
1210do_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}
1217do_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}
1222do_test boundary3-2.7.2 {
1223  db eval {
1224    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000002'
1225  }
1226} {2 41}
1227do_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}
1232do_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}
1238do_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}
1244do_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}
1251do_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}
1258do_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}
1265do_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}
1272do_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}
1279do_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}
1285do_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}
1291do_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}
1298do_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}
1305do_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}
1312do_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}
1319do_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}
1326do_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}
1332do_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}
1338do_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}
1345do_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}
1352do_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}
1359do_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}
1366do_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}
1373do_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}
1379do_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}
1385do_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}
1392do_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}
1399do_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}
1406do_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}
1413do_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}
1420do_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}
1425do_test boundary3-2.8.2 {
1426  db eval {
1427    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000004'
1428  }
1429} {4 31}
1430do_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}
1435do_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}
1441do_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}
1447do_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}
1454do_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}
1461do_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}
1468do_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}
1475do_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}
1482do_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}
1488do_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}
1494do_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}
1501do_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}
1508do_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}
1515do_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}
1522do_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}
1529do_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}
1535do_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}
1541do_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}
1548do_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}
1555do_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}
1562do_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}
1569do_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}
1576do_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}
1582do_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}
1588do_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}
1595do_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}
1602do_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}
1609do_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}
1616do_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}
1623do_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}
1628do_test boundary3-2.9.2 {
1629  db eval {
1630    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0001ffffffffffff'
1631  }
1632} {562949953421311 13}
1633do_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}
1638do_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}
1644do_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}
1650do_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}
1657do_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}
1664do_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}
1671do_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}
1677do_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}
1683do_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}
1690do_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}
1697do_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}
1704do_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}
1710do_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}
1716do_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}
1723do_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}
1730do_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}
1737do_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}
1743do_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}
1749do_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}
1756do_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}
1763do_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}
1770do_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}
1775do_test boundary3-2.10.2 {
1776  db eval {
1777    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000100'
1778  }
1779} {256 61}
1780do_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}
1785do_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}
1791do_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}
1797do_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}
1804do_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}
1811do_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}
1818do_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}
1825do_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}
1832do_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}
1838do_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}
1844do_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}
1851do_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}
1858do_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}
1865do_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}
1872do_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}
1879do_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}
1885do_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}
1891do_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}
1898do_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}
1905do_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}
1912do_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}
1919do_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}
1926do_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}
1932do_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}
1938do_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}
1945do_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}
1952do_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}
1959do_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}
1966do_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}
1973do_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}
1978do_test boundary3-2.11.2 {
1979  db eval {
1980    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000800000000'
1981  }
1982} {34359738368 22}
1983do_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}
1988do_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}
1994do_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}
2000do_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}
2007do_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}
2014do_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}
2021do_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}
2028do_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}
2035do_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}
2041do_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}
2047do_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}
2054do_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}
2061do_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}
2068do_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}
2075do_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}
2082do_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}
2088do_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}
2094do_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}
2101do_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}
2108do_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}
2115do_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}
2122do_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}
2129do_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}
2135do_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}
2141do_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}
2148do_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}
2155do_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}
2162do_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}
2169do_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}
2176do_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}
2181do_test boundary3-2.12.2 {
2182  db eval {
2183    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000010000'
2184  }
2185} {65536 62}
2186do_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}
2191do_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}
2197do_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}
2203do_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}
2210do_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}
2217do_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}
2224do_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}
2231do_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}
2238do_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}
2244do_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}
2250do_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}
2257do_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}
2264do_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}
2271do_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}
2278do_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}
2285do_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}
2291do_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}
2297do_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}
2304do_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}
2311do_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}
2318do_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}
2325do_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}
2332do_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}
2338do_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}
2344do_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}
2351do_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}
2358do_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}
2365do_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}
2372do_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}
2379do_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}
2384do_test boundary3-2.13.2 {
2385  db eval {
2386    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000010000000'
2387  }
2388} {268435456 40}
2389do_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}
2394do_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}
2400do_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}
2406do_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}
2413do_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}
2420do_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}
2427do_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}
2434do_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}
2441do_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}
2447do_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}
2453do_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}
2460do_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}
2467do_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}
2474do_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}
2481do_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}
2488do_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}
2494do_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}
2500do_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}
2507do_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}
2514do_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}
2521do_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}
2528do_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}
2535do_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}
2541do_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}
2547do_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}
2554do_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}
2561do_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}
2568do_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}
2575do_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}
2582do_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}
2587do_test boundary3-2.14.2 {
2588  db eval {
2589    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffff800000000000'
2590  }
2591} {-140737488355328 44}
2592do_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}
2597do_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}
2603do_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}
2609do_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}
2616do_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}
2623do_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}
2630do_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}
2636do_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}
2642do_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}
2649do_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}
2656do_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}
2663do_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}
2669do_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}
2675do_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}
2682do_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}
2689do_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}
2696do_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}
2702do_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}
2708do_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}
2715do_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}
2722do_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}
2729do_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}
2734do_test boundary3-2.15.2 {
2735  db eval {
2736    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000010000000000'
2737  }
2738} {1099511627776 19}
2739do_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}
2744do_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}
2750do_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}
2756do_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}
2763do_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}
2770do_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}
2777do_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}
2784do_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}
2791do_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}
2797do_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}
2803do_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}
2810do_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}
2817do_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}
2824do_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}
2831do_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}
2838do_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}
2844do_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}
2850do_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}
2857do_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}
2864do_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}
2871do_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}
2878do_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}
2885do_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}
2891do_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}
2897do_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}
2904do_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}
2911do_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}
2918do_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}
2925do_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}
2932do_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} {}
2938do_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} {}
2944do_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} {}
2951do_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} {}
2958do_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} {}
2965do_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}
2971do_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}
2977do_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}
2984do_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}
2991do_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}
2998do_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}
3004do_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}
3010do_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}
3017do_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}
3024do_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}
3031do_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}
3037do_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}
3043do_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}
3050do_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}
3057do_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}
3064do_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}
3069do_test boundary3-2.17.2 {
3070  db eval {
3071    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000008000'
3072  }
3073} {32768 50}
3074do_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}
3079do_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}
3085do_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}
3091do_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}
3098do_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}
3105do_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}
3112do_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}
3119do_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}
3126do_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}
3132do_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}
3138do_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}
3145do_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}
3152do_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}
3159do_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}
3166do_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}
3173do_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}
3179do_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}
3185do_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}
3192do_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}
3199do_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}
3206do_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}
3213do_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}
3220do_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}
3226do_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}
3232do_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}
3239do_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}
3246do_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}
3253do_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}
3260do_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}
3267do_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}
3272do_test boundary3-2.18.2 {
3273  db eval {
3274    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ff80000000000000'
3275  }
3276} {-36028797018963968 64}
3277do_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}
3282do_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}
3288do_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}
3294do_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}
3301do_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}
3308do_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}
3315do_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}
3321do_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}
3327do_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}
3334do_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}
3341do_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}
3348do_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}
3354do_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}
3360do_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}
3367do_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}
3374do_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}
3381do_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}
3387do_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}
3393do_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}
3400do_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}
3407do_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}
3414do_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}
3419do_test boundary3-2.19.2 {
3420  db eval {
3421    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000000000ffff'
3422  }
3423} {65535 48}
3424do_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}
3429do_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}
3435do_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}
3441do_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}
3448do_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}
3455do_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}
3462do_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}
3469do_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}
3476do_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}
3482do_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}
3488do_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}
3495do_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}
3502do_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}
3509do_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}
3516do_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}
3523do_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}
3529do_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}
3535do_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}
3542do_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}
3549do_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}
3556do_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}
3563do_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}
3570do_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}
3576do_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}
3582do_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}
3589do_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}
3596do_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}
3603do_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}
3610do_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}
3617do_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}
3622do_test boundary3-2.20.2 {
3623  db eval {
3624    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000ffffffff'
3625  }
3626} {4294967295 14}
3627do_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}
3632do_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}
3638do_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}
3644do_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}
3651do_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}
3658do_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}
3665do_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}
3672do_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}
3679do_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}
3685do_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}
3691do_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}
3698do_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}
3705do_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}
3712do_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}
3719do_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}
3726do_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}
3732do_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}
3738do_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}
3745do_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}
3752do_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}
3759do_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}
3766do_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}
3773do_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}
3779do_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}
3785do_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}
3792do_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}
3799do_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}
3806do_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}
3813do_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}
3820do_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}
3825do_test boundary3-2.21.2 {
3826  db eval {
3827    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000ffffffffff'
3828  }
3829} {1099511627775 57}
3830do_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}
3835do_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}
3841do_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}
3847do_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}
3854do_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}
3861do_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}
3868do_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}
3875do_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}
3882do_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}
3888do_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}
3894do_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}
3901do_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}
3908do_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}
3915do_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}
3922do_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}
3929do_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}
3935do_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}
3941do_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}
3948do_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}
3955do_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}
3962do_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}
3969do_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}
3976do_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}
3982do_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}
3988do_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}
3995do_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}
4002do_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}
4009do_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}
4016do_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}
4023do_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}
4028do_test boundary3-2.22.2 {
4029  db eval {
4030    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffff800000'
4031  }
4032} {-8388608 37}
4033do_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}
4038do_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}
4044do_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}
4050do_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}
4057do_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}
4064do_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}
4071do_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}
4078do_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}
4085do_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}
4091do_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}
4097do_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}
4104do_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}
4111do_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}
4118do_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}
4125do_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}
4132do_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}
4138do_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}
4144do_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}
4151do_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}
4158do_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}
4165do_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}
4172do_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}
4179do_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}
4185do_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}
4191do_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}
4198do_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}
4205do_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}
4212do_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}
4219do_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}
4226do_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}
4231do_test boundary3-2.23.2 {
4232  db eval {
4233    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000008000000000'
4234  }
4235} {549755813888 35}
4236do_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}
4241do_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}
4247do_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}
4253do_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}
4260do_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}
4267do_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}
4274do_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}
4281do_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}
4288do_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}
4294do_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}
4300do_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}
4307do_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}
4314do_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}
4321do_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}
4328do_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}
4335do_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}
4341do_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}
4347do_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}
4354do_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}
4361do_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}
4368do_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}
4375do_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}
4382do_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}
4388do_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}
4394do_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}
4401do_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}
4408do_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}
4415do_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}
4422do_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}
4429do_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}
4434do_test boundary3-2.24.2 {
4435  db eval {
4436    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000007fffff'
4437  }
4438} {8388607 18}
4439do_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}
4444do_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}
4450do_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}
4456do_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}
4463do_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}
4470do_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}
4477do_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}
4484do_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}
4491do_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}
4497do_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}
4503do_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}
4510do_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}
4517do_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}
4524do_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}
4531do_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}
4538do_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}
4544do_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}
4550do_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}
4557do_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}
4564do_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}
4571do_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}
4578do_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}
4585do_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}
4591do_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}
4597do_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}
4604do_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}
4611do_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}
4618do_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}
4625do_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}
4632do_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}
4637do_test boundary3-2.25.2 {
4638  db eval {
4639    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='fffffffffffffffd'
4640  }
4641} {-3 52}
4642do_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}
4647do_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}
4653do_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}
4659do_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}
4666do_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}
4673do_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}
4680do_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}
4687do_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}
4694do_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}
4700do_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}
4706do_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}
4713do_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}
4720do_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}
4727do_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}
4734do_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}
4741do_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}
4747do_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}
4753do_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}
4760do_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}
4767do_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}
4774do_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}
4781do_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}
4788do_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}
4794do_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}
4800do_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}
4807do_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}
4814do_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}
4821do_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}
4828do_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}
4835do_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}
4840do_test boundary3-2.26.2 {
4841  db eval {
4842    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000000'
4843  }
4844} {0 59}
4845do_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}
4850do_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}
4856do_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}
4862do_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}
4869do_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}
4876do_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}
4883do_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}
4890do_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}
4897do_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}
4903do_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}
4909do_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}
4916do_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}
4923do_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}
4930do_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}
4937do_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}
4944do_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}
4950do_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}
4956do_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}
4963do_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}
4970do_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}
4977do_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}
4984do_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}
4991do_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}
4997do_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}
5003do_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}
5010do_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}
5017do_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}
5024do_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}
5031do_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}
5038do_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}
5043do_test boundary3-2.27.2 {
5044  db eval {
5045    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffffffff'
5046  }
5047} {-1 38}
5048do_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}
5053do_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}
5059do_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}
5065do_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}
5072do_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}
5079do_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}
5086do_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}
5093do_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}
5100do_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}
5106do_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}
5112do_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}
5119do_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}
5126do_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}
5133do_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}
5140do_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}
5147do_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}
5153do_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}
5159do_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}
5166do_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}
5173do_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}
5180do_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}
5187do_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}
5194do_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}
5200do_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}
5206do_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}
5213do_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}
5220do_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}
5227do_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}
5234do_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}
5241do_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}
5246do_test boundary3-2.28.2 {
5247  db eval {
5248    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='fffffffffffffffe'
5249  }
5250} {-2 33}
5251do_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}
5256do_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}
5262do_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}
5268do_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}
5275do_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}
5282do_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}
5289do_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}
5296do_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}
5303do_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}
5309do_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}
5315do_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}
5322do_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}
5329do_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}
5336do_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}
5343do_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}
5350do_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}
5356do_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}
5362do_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}
5369do_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}
5376do_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}
5383do_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}
5390do_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}
5397do_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}
5403do_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}
5409do_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}
5416do_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}
5423do_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}
5430do_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}
5437do_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}
5444do_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}
5449do_test boundary3-2.29.2 {
5450  db eval {
5451    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000200000'
5452  }
5453} {2097152 42}
5454do_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}
5459do_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}
5465do_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}
5471do_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}
5478do_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}
5485do_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}
5492do_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}
5499do_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}
5506do_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}
5512do_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}
5518do_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}
5525do_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}
5532do_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}
5539do_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}
5546do_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}
5553do_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}
5559do_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}
5565do_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}
5572do_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}
5579do_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}
5586do_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}
5593do_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}
5600do_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}
5606do_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}
5612do_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}
5619do_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}
5626do_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}
5633do_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}
5640do_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}
5647do_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}
5652do_test boundary3-2.30.2 {
5653  db eval {
5654    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000080'
5655  }
5656} {128 49}
5657do_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}
5662do_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}
5668do_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}
5674do_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}
5681do_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}
5688do_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}
5695do_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}
5702do_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}
5709do_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}
5715do_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}
5721do_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}
5728do_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}
5735do_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}
5742do_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}
5749do_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}
5756do_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}
5762do_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}
5768do_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}
5775do_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}
5782do_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}
5789do_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}
5796do_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}
5803do_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}
5809do_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}
5815do_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}
5822do_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}
5829do_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}
5836do_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}
5843do_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}
5850do_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}
5855do_test boundary3-2.31.2 {
5856  db eval {
5857    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000000000ff'
5858  }
5859} {255 30}
5860do_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}
5865do_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}
5871do_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}
5877do_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}
5884do_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}
5891do_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}
5898do_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}
5905do_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}
5912do_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}
5918do_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}
5924do_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}
5931do_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}
5938do_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}
5945do_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}
5952do_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}
5959do_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}
5965do_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}
5971do_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}
5978do_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}
5985do_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}
5992do_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}
5999do_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}
6006do_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}
6012do_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}
6018do_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}
6025do_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}
6032do_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}
6039do_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}
6046do_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}
6053do_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}
6058do_test boundary3-2.32.2 {
6059  db eval {
6060    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffff80000000'
6061  }
6062} {-2147483648 11}
6063do_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}
6068do_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}
6074do_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}
6080do_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}
6087do_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}
6094do_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}
6101do_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}
6108do_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}
6115do_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}
6121do_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}
6127do_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}
6134do_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}
6141do_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}
6148do_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}
6155do_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}
6162do_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}
6168do_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}
6174do_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}
6181do_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}
6188do_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}
6195do_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}
6202do_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}
6209do_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}
6215do_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}
6221do_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}
6228do_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}
6235do_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}
6242do_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}
6249do_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}
6256do_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}
6261do_test boundary3-2.33.2 {
6262  db eval {
6263    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000007ffffffff'
6264  }
6265} {34359738367 39}
6266do_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}
6271do_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}
6277do_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}
6283do_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}
6290do_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}
6297do_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}
6304do_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}
6311do_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}
6318do_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}
6324do_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}
6330do_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}
6337do_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}
6344do_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}
6351do_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}
6358do_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}
6365do_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}
6371do_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}
6377do_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}
6384do_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}
6391do_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}
6398do_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}
6405do_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}
6412do_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}
6418do_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}
6424do_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}
6431do_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}
6438do_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}
6445do_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}
6452do_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}
6459do_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}
6464do_test boundary3-2.34.2 {
6465  db eval {
6466    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffff7fffffffff'
6467  }
6468} {-549755813889 58}
6469do_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}
6474do_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}
6480do_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}
6486do_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}
6493do_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}
6500do_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}
6507do_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}
6514do_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}
6521do_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}
6527do_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}
6533do_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}
6540do_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}
6547do_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}
6554do_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}
6561do_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}
6568do_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}
6574do_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}
6580do_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}
6587do_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}
6594do_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}
6601do_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}
6608do_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}
6615do_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}
6621do_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}
6627do_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}
6634do_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}
6641do_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}
6648do_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}
6655do_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}
6662do_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}
6667do_test boundary3-2.35.2 {
6668  db eval {
6669    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffff8000'
6670  }
6671} {-32768 32}
6672do_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}
6677do_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}
6683do_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}
6689do_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}
6696do_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}
6703do_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}
6710do_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}
6717do_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}
6724do_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}
6730do_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}
6736do_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}
6743do_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}
6750do_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}
6757do_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}
6764do_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}
6771do_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}
6777do_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}
6783do_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}
6790do_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}
6797do_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}
6804do_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}
6811do_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}
6818do_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}
6824do_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}
6830do_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}
6837do_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}
6844do_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}
6851do_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}
6858do_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}
6865do_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}
6870do_test boundary3-2.36.2 {
6871  db eval {
6872    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000007fffffff'
6873  }
6874} {2147483647 20}
6875do_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}
6880do_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}
6886do_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}
6892do_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}
6899do_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}
6906do_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}
6913do_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}
6920do_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}
6927do_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}
6933do_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}
6939do_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}
6946do_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}
6953do_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}
6960do_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}
6967do_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}
6974do_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}
6980do_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}
6986do_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}
6993do_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}
7000do_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}
7007do_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}
7014do_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}
7021do_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}
7027do_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}
7033do_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}
7040do_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}
7047do_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}
7054do_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}
7061do_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}
7068do_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}
7073do_test boundary3-2.37.2 {
7074  db eval {
7075    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffffff7f'
7076  }
7077} {-129 54}
7078do_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}
7083do_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}
7089do_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}
7095do_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}
7102do_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}
7109do_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}
7116do_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}
7123do_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}
7130do_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}
7136do_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}
7142do_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}
7149do_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}
7156do_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}
7163do_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}
7170do_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}
7177do_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}
7183do_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}
7189do_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}
7196do_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}
7203do_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}
7210do_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}
7217do_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}
7224do_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}
7230do_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}
7236do_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}
7243do_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}
7250do_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}
7257do_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}
7264do_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}
7271do_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}
7276do_test boundary3-2.38.2 {
7277  db eval {
7278    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffffff80'
7279  }
7280} {-128 53}
7281do_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}
7286do_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}
7292do_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}
7298do_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}
7305do_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}
7312do_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}
7319do_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}
7326do_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}
7333do_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}
7339do_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}
7345do_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}
7352do_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}
7359do_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}
7366do_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}
7373do_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}
7380do_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}
7386do_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}
7392do_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}
7399do_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}
7406do_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}
7413do_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}
7420do_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}
7427do_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}
7433do_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}
7439do_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}
7446do_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}
7453do_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}
7460do_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}
7467do_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}
7474do_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}
7479do_test boundary3-2.39.2 {
7480  db eval {
7481    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0100000000000000'
7482  }
7483} {72057594037927936 28}
7484do_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}
7489do_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}
7495do_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}
7501do_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}
7508do_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}
7515do_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}
7522do_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}
7528do_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}
7534do_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}
7541do_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}
7548do_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}
7555do_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}
7561do_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}
7567do_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}
7574do_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}
7581do_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}
7588do_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}
7594do_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}
7600do_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}
7607do_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}
7614do_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}
7621do_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}
7626do_test boundary3-2.40.2 {
7627  db eval {
7628    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000080000000'
7629  }
7630} {2147483648 51}
7631do_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}
7636do_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}
7642do_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}
7648do_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}
7655do_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}
7662do_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}
7669do_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}
7676do_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}
7683do_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}
7689do_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}
7695do_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}
7702do_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}
7709do_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}
7716do_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}
7723do_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}
7730do_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}
7736do_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}
7742do_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}
7749do_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}
7756do_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}
7763do_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}
7770do_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}
7777do_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}
7783do_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}
7789do_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}
7796do_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}
7803do_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}
7810do_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}
7817do_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}
7824do_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}
7829do_test boundary3-2.41.2 {
7830  db eval {
7831    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000007fffffffff'
7832  }
7833} {549755813887 46}
7834do_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}
7839do_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}
7845do_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}
7851do_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}
7858do_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}
7865do_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}
7872do_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}
7879do_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}
7886do_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}
7892do_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}
7898do_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}
7905do_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}
7912do_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}
7919do_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}
7926do_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}
7933do_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}
7939do_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}
7945do_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}
7952do_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}
7959do_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}
7966do_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}
7973do_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}
7980do_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}
7986do_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}
7992do_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}
7999do_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}
8006do_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}
8013do_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}
8020do_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}
8027do_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}
8032do_test boundary3-2.42.2 {
8033  db eval {
8034    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffff8000000000'
8035  }
8036} {-549755813888 63}
8037do_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}
8042do_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}
8048do_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}
8054do_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}
8061do_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}
8068do_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}
8075do_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}
8082do_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}
8089do_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}
8095do_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}
8101do_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}
8108do_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}
8115do_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}
8122do_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}
8129do_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}
8136do_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}
8142do_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}
8148do_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}
8155do_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}
8162do_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}
8169do_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}
8176do_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}
8183do_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}
8189do_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}
8195do_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}
8202do_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}
8209do_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}
8216do_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}
8223do_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}
8230do_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}
8235do_test boundary3-2.43.2 {
8236  db eval {
8237    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000ffffffffffff'
8238  }
8239} {281474976710655 10}
8240do_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}
8245do_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}
8251do_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}
8257do_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}
8264do_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}
8271do_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}
8278do_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}
8284do_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}
8290do_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}
8297do_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}
8304do_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}
8311do_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}
8317do_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}
8323do_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}
8330do_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}
8337do_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}
8344do_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}
8350do_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}
8356do_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}
8363do_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}
8370do_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}
8377do_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}
8382do_test boundary3-2.44.2 {
8383  db eval {
8384    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000003ffffffffff'
8385  }
8386} {4398046511103 7}
8387do_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}
8392do_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}
8398do_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}
8404do_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}
8411do_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}
8418do_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}
8425do_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}
8432do_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}
8439do_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}
8445do_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}
8451do_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}
8458do_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}
8465do_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}
8472do_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}
8479do_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}
8486do_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}
8492do_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}
8498do_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}
8505do_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}
8512do_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}
8519do_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}
8526do_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}
8533do_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}
8539do_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}
8545do_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}
8552do_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}
8559do_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}
8566do_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}
8573do_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}
8580do_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}
8585do_test boundary3-2.45.2 {
8586  db eval {
8587    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000000fffffff'
8588  }
8589} {268435455 12}
8590do_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}
8595do_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}
8601do_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}
8607do_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}
8614do_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}
8621do_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}
8628do_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}
8635do_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}
8642do_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}
8648do_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}
8654do_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}
8661do_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}
8668do_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}
8675do_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}
8682do_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}
8689do_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}
8695do_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}
8701do_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}
8708do_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}
8715do_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}
8722do_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}
8729do_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}
8736do_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}
8742do_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}
8748do_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}
8755do_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}
8762do_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}
8769do_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}
8776do_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}
8783do_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}
8788do_test boundary3-2.46.2 {
8789  db eval {
8790    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='8000000000000000'
8791  }
8792} {-9223372036854775808 55}
8793do_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}
8798do_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}
8804do_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}
8810do_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}
8817do_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}
8824do_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}
8831do_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}
8837do_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}
8843do_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}
8850do_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}
8857do_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}
8864do_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} {}
8870do_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} {}
8876do_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} {}
8883do_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} {}
8890do_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} {}
8897do_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}
8903do_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}
8909do_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}
8916do_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}
8923do_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}
8930do_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}
8935do_test boundary3-2.47.2 {
8936  db eval {
8937    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0002000000000000'
8938  }
8939} {562949953421312 43}
8940do_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}
8945do_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}
8951do_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}
8957do_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}
8964do_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}
8971do_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}
8978do_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}
8984do_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}
8990do_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}
8997do_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}
9004do_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}
9011do_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}
9017do_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}
9023do_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}
9030do_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}
9037do_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}
9044do_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}
9050do_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}
9056do_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}
9063do_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}
9070do_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}
9077do_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}
9082do_test boundary3-2.48.2 {
9083  db eval {
9084    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffff7fffff'
9085  }
9086} {-8388609 1}
9087do_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}
9092do_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}
9098do_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}
9104do_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}
9111do_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}
9118do_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}
9125do_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}
9132do_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}
9139do_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}
9145do_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}
9151do_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}
9158do_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}
9165do_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}
9172do_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}
9179do_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}
9186do_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}
9192do_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}
9198do_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}
9205do_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}
9212do_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}
9219do_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}
9226do_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}
9233do_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}
9239do_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}
9245do_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}
9252do_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}
9259do_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}
9266do_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}
9273do_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}
9280do_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}
9285do_test boundary3-2.49.2 {
9286  db eval {
9287    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000ffffff'
9288  }
9289} {16777215 9}
9290do_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}
9295do_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}
9301do_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}
9307do_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}
9314do_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}
9321do_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}
9328do_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}
9335do_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}
9342do_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}
9348do_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}
9354do_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}
9361do_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}
9368do_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}
9375do_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}
9382do_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}
9389do_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}
9395do_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}
9401do_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}
9408do_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}
9415do_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}
9422do_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}
9429do_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}
9436do_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}
9442do_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}
9448do_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}
9455do_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}
9462do_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}
9469do_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}
9476do_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}
9483do_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}
9488do_test boundary3-2.50.2 {
9489  db eval {
9490    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000800000'
9491  }
9492} {8388608 24}
9493do_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}
9498do_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}
9504do_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}
9510do_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}
9517do_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}
9524do_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}
9531do_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}
9538do_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}
9545do_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}
9551do_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}
9557do_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}
9564do_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}
9571do_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}
9578do_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}
9585do_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}
9592do_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}
9598do_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}
9604do_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}
9611do_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}
9618do_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}
9625do_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}
9632do_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}
9639do_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}
9645do_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}
9651do_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}
9658do_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}
9665do_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}
9672do_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}
9679do_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}
9686do_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}
9691do_test boundary3-2.51.2 {
9692  db eval {
9693    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000003fff'
9694  }
9695} {16383 8}
9696do_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}
9701do_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}
9707do_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}
9713do_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}
9720do_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}
9727do_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}
9734do_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}
9741do_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}
9748do_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}
9754do_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}
9760do_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}
9767do_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}
9774do_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}
9781do_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}
9788do_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}
9795do_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}
9801do_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}
9807do_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}
9814do_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}
9821do_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}
9828do_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}
9835do_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}
9842do_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}
9848do_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}
9854do_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}
9861do_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}
9868do_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}
9875do_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}
9882do_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}
9889do_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}
9894do_test boundary3-2.52.2 {
9895  db eval {
9896    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000800000000000'
9897  }
9898} {140737488355328 34}
9899do_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}
9904do_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}
9910do_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}
9916do_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}
9923do_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}
9930do_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}
9937do_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}
9943do_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}
9949do_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}
9956do_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}
9963do_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}
9970do_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}
9976do_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}
9982do_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}
9989do_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}
9996do_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}
10003do_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}
10009do_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}
10015do_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}
10022do_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}
10029do_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}
10036do_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}
10041do_test boundary3-2.53.2 {
10042  db eval {
10043    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000001fffff'
10044  }
10045} {2097151 15}
10046do_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}
10051do_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}
10057do_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}
10063do_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}
10070do_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}
10077do_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}
10084do_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}
10091do_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}
10098do_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}
10104do_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}
10110do_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}
10117do_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}
10124do_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}
10131do_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}
10138do_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}
10145do_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}
10151do_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}
10157do_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}
10164do_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}
10171do_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}
10178do_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}
10185do_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}
10192do_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}
10198do_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}
10204do_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}
10211do_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}
10218do_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}
10225do_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}
10232do_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}
10239do_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}
10244do_test boundary3-2.54.2 {
10245  db eval {
10246    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00007fffffffffff'
10247  }
10248} {140737488355327 25}
10249do_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}
10254do_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}
10260do_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}
10266do_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}
10273do_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}
10280do_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}
10287do_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}
10293do_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}
10299do_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}
10306do_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}
10313do_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}
10320do_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}
10326do_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}
10332do_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}
10339do_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}
10346do_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}
10353do_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}
10359do_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}
10365do_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}
10372do_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}
10379do_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}
10386do_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}
10391do_test boundary3-2.55.2 {
10392  db eval {
10393    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0001000000000000'
10394  }
10395} {281474976710656 26}
10396do_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}
10401do_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}
10407do_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}
10413do_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}
10420do_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}
10427do_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}
10434do_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}
10440do_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}
10446do_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}
10453do_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}
10460do_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}
10467do_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}
10473do_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}
10479do_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}
10486do_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}
10493do_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}
10500do_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}
10506do_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}
10512do_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}
10519do_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}
10526do_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}
10533do_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}
10538do_test boundary3-2.56.2 {
10539  db eval {
10540    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000007fff'
10541  }
10542} {32767 23}
10543do_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}
10548do_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}
10554do_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}
10560do_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}
10567do_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}
10574do_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}
10581do_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}
10588do_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}
10595do_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}
10601do_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}
10607do_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}
10614do_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}
10621do_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}
10628do_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}
10635do_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}
10642do_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}
10648do_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}
10654do_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}
10661do_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}
10668do_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}
10675do_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}
10682do_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}
10689do_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}
10695do_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}
10701do_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}
10708do_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}
10715do_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}
10722do_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}
10729do_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}
10736do_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}
10741do_test boundary3-2.57.2 {
10742  db eval {
10743    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000000000007f'
10744  }
10745} {127 4}
10746do_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}
10751do_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}
10757do_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}
10763do_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}
10770do_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}
10777do_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}
10784do_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}
10791do_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}
10798do_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}
10804do_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}
10810do_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}
10817do_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}
10824do_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}
10831do_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}
10838do_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}
10845do_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}
10851do_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}
10857do_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}
10864do_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}
10871do_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}
10878do_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}
10885do_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}
10892do_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}
10898do_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}
10904do_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}
10911do_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}
10918do_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}
10925do_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}
10932do_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}
10939do_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}
10944do_test boundary3-2.58.2 {
10945  db eval {
10946    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='007fffffffffffff'
10947  }
10948} {36028797018963967 27}
10949do_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}
10954do_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}
10960do_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}
10966do_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}
10973do_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}
10980do_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}
10987do_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}
10993do_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}
10999do_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}
11006do_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}
11013do_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}
11020do_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}
11026do_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}
11032do_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}
11039do_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}
11046do_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}
11053do_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}
11059do_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}
11065do_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}
11072do_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}
11079do_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}
11086do_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}
11091do_test boundary3-2.59.2 {
11092  db eval {
11093    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000040000000000'
11094  }
11095} {4398046511104 56}
11096do_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}
11101do_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}
11107do_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}
11113do_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}
11120do_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}
11127do_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}
11134do_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}
11141do_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}
11148do_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}
11154do_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}
11160do_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}
11167do_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}
11174do_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}
11181do_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}
11188do_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}
11195do_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}
11201do_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}
11207do_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}
11214do_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}
11221do_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}
11228do_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}
11235do_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}
11242do_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}
11248do_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}
11254do_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}
11261do_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}
11268do_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}
11275do_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}
11282do_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}
11289do_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}
11294do_test boundary3-2.60.2 {
11295  db eval {
11296    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000001'
11297  }
11298} {1 60}
11299do_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}
11304do_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}
11310do_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}
11316do_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}
11323do_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}
11330do_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}
11337do_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}
11344do_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}
11351do_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}
11357do_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}
11363do_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}
11370do_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}
11377do_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}
11384do_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}
11391do_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}
11398do_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}
11404do_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}
11410do_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}
11417do_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}
11424do_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}
11431do_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}
11438do_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}
11445do_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}
11451do_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}
11457do_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}
11464do_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}
11471do_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}
11478do_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}
11485do_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}
11492do_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}
11497do_test boundary3-2.61.2 {
11498  db eval {
11499    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0080000000000000'
11500  }
11501} {36028797018963968 45}
11502do_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}
11507do_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}
11513do_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}
11519do_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}
11526do_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}
11533do_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}
11540do_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}
11546do_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}
11552do_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}
11559do_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}
11566do_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}
11573do_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}
11579do_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}
11585do_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}
11592do_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}
11599do_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}
11606do_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}
11612do_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}
11618do_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}
11625do_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}
11632do_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}
11639do_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}
11644do_test boundary3-2.62.2 {
11645  db eval {
11646    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffff7fffffff'
11647  }
11648} {-2147483649 47}
11649do_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}
11654do_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}
11660do_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}
11666do_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}
11673do_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}
11680do_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}
11687do_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}
11694do_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}
11701do_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}
11707do_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}
11713do_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}
11720do_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}
11727do_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}
11734do_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}
11741do_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}
11748do_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}
11754do_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}
11760do_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}
11767do_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}
11774do_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}
11781do_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}
11788do_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}
11795do_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}
11801do_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}
11807do_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}
11814do_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}
11821do_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}
11828do_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}
11835do_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}
11842do_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}
11847do_test boundary3-2.63.2 {
11848  db eval {
11849    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ff7fffffffffffff'
11850  }
11851} {-36028797018963969 2}
11852do_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}
11857do_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}
11863do_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}
11869do_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}
11876do_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}
11883do_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}
11890do_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}
11896do_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}
11902do_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}
11909do_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}
11916do_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}
11923do_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}
11929do_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}
11935do_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}
11942do_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}
11949do_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}
11956do_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}
11962do_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}
11968do_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}
11975do_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}
11982do_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}
11989do_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}
11994do_test boundary3-2.64.2 {
11995  db eval {
11996    SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000003'
11997  }
11998} {3 5}
11999do_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}
12004do_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}
12010do_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}
12016do_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}
12023do_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}
12030do_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}
12037do_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}
12044do_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}
12051do_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}
12057do_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}
12063do_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}
12070do_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}
12077do_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}
12084do_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}
12091do_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}
12098do_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}
12104do_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}
12110do_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}
12117do_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}
12124do_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}
12131do_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}
12138do_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}
12145do_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}
12151do_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}
12157do_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}
12164do_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}
12171do_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}
12178do_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}
12185do_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}
12192do_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} {}
12198do_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} {}
12204do_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} {}
12211do_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} {}
12218do_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} {}
12225do_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} {}
12231do_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} {}
12237do_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} {}
12244do_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} {}
12251do_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} {}
12258do_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}
12264do_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}
12270do_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}
12277do_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}
12284do_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}
12291do_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}
12297do_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}
12303do_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}
12310do_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}
12317do_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}
12324do_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}
12330do_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}
12336do_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}
12343do_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}
12350do_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}
12357do_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}
12363do_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}
12369do_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}
12376do_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}
12383do_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}
12390do_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} {}
12396do_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} {}
12402do_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} {}
12409do_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} {}
12416do_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} {}
12423do_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} {}
12429do_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} {}
12435do_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} {}
12442do_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} {}
12449do_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} {}
12456finish_test
12457