Annotation of embedaddon/sqlite3/test/boundary3.test, revision 1.1.1.1
1.1 misho 1: # 2008 December 11
2: #
3: # The author disclaims copyright to this source code. In place of
4: # a legal notice, here is a blessing:
5: #
6: # May you do good and not evil.
7: # May you find forgiveness for yourself and forgive others.
8: # May you share freely, never taking more than you give.
9: #
10: #***********************************************************************
11: # This file implements regression tests for SQLite library.
12: #
13: # This file is automatically generated from a separate TCL script.
14: # This file seeks to exercise integer boundary values.
15: #
16: # $Id: boundary3.test,v 1.2 2009/01/02 15:45:48 shane Exp $
17:
18: set testdir [file dirname $argv0]
19: source $testdir/tester.tcl
20:
21: # Many of the boundary tests depend on a working 64-bit implementation.
22: if {![working_64bit_int]} { finish_test; return }
23:
24: do_test boundary3-1.1 {
25: db eval {
26: CREATE TABLE t1(a,x);
27: INSERT INTO t1(oid,a,x) VALUES(-8388609,1,'ffffffffff7fffff');
28: INSERT INTO t1(oid,a,x) VALUES(-36028797018963969,2,'ff7fffffffffffff');
29: INSERT INTO t1(oid,a,x) VALUES(9223372036854775807,3,'7fffffffffffffff');
30: INSERT INTO t1(oid,a,x) VALUES(127,4,'000000000000007f');
31: INSERT INTO t1(oid,a,x) VALUES(3,5,'0000000000000003');
32: INSERT INTO t1(oid,a,x) VALUES(16777216,6,'0000000001000000');
33: INSERT INTO t1(oid,a,x) VALUES(4398046511103,7,'000003ffffffffff');
34: INSERT INTO t1(oid,a,x) VALUES(16383,8,'0000000000003fff');
35: INSERT INTO t1(oid,a,x) VALUES(16777215,9,'0000000000ffffff');
36: INSERT INTO t1(oid,a,x) VALUES(281474976710655,10,'0000ffffffffffff');
37: INSERT INTO t1(oid,a,x) VALUES(-2147483648,11,'ffffffff80000000');
38: INSERT INTO t1(oid,a,x) VALUES(268435455,12,'000000000fffffff');
39: INSERT INTO t1(oid,a,x) VALUES(562949953421311,13,'0001ffffffffffff');
40: INSERT INTO t1(oid,a,x) VALUES(4294967295,14,'00000000ffffffff');
41: INSERT INTO t1(oid,a,x) VALUES(2097151,15,'00000000001fffff');
42: INSERT INTO t1(oid,a,x) VALUES(16384,16,'0000000000004000');
43: INSERT INTO t1(oid,a,x) VALUES(72057594037927935,17,'00ffffffffffffff');
44: INSERT INTO t1(oid,a,x) VALUES(8388607,18,'00000000007fffff');
45: INSERT INTO t1(oid,a,x) VALUES(1099511627776,19,'0000010000000000');
46: INSERT INTO t1(oid,a,x) VALUES(2147483647,20,'000000007fffffff');
47: INSERT INTO t1(oid,a,x) VALUES(-140737488355329,21,'ffff7fffffffffff');
48: INSERT INTO t1(oid,a,x) VALUES(34359738368,22,'0000000800000000');
49: INSERT INTO t1(oid,a,x) VALUES(32767,23,'0000000000007fff');
50: INSERT INTO t1(oid,a,x) VALUES(8388608,24,'0000000000800000');
51: INSERT INTO t1(oid,a,x) VALUES(140737488355327,25,'00007fffffffffff');
52: INSERT INTO t1(oid,a,x) VALUES(281474976710656,26,'0001000000000000');
53: INSERT INTO t1(oid,a,x) VALUES(36028797018963967,27,'007fffffffffffff');
54: INSERT INTO t1(oid,a,x) VALUES(72057594037927936,28,'0100000000000000');
55: INSERT INTO t1(oid,a,x) VALUES(-32769,29,'ffffffffffff7fff');
56: INSERT INTO t1(oid,a,x) VALUES(255,30,'00000000000000ff');
57: INSERT INTO t1(oid,a,x) VALUES(4,31,'0000000000000004');
58: INSERT INTO t1(oid,a,x) VALUES(-32768,32,'ffffffffffff8000');
59: INSERT INTO t1(oid,a,x) VALUES(-2,33,'fffffffffffffffe');
60: INSERT INTO t1(oid,a,x) VALUES(140737488355328,34,'0000800000000000');
61: INSERT INTO t1(oid,a,x) VALUES(549755813888,35,'0000008000000000');
62: INSERT INTO t1(oid,a,x) VALUES(4294967296,36,'0000000100000000');
63: INSERT INTO t1(oid,a,x) VALUES(-8388608,37,'ffffffffff800000');
64: INSERT INTO t1(oid,a,x) VALUES(-1,38,'ffffffffffffffff');
65: INSERT INTO t1(oid,a,x) VALUES(34359738367,39,'00000007ffffffff');
66: INSERT INTO t1(oid,a,x) VALUES(268435456,40,'0000000010000000');
67: INSERT INTO t1(oid,a,x) VALUES(2,41,'0000000000000002');
68: INSERT INTO t1(oid,a,x) VALUES(2097152,42,'0000000000200000');
69: INSERT INTO t1(oid,a,x) VALUES(562949953421312,43,'0002000000000000');
70: INSERT INTO t1(oid,a,x) VALUES(-140737488355328,44,'ffff800000000000');
71: INSERT INTO t1(oid,a,x) VALUES(36028797018963968,45,'0080000000000000');
72: INSERT INTO t1(oid,a,x) VALUES(549755813887,46,'0000007fffffffff');
73: INSERT INTO t1(oid,a,x) VALUES(-2147483649,47,'ffffffff7fffffff');
74: INSERT INTO t1(oid,a,x) VALUES(65535,48,'000000000000ffff');
75: INSERT INTO t1(oid,a,x) VALUES(128,49,'0000000000000080');
76: INSERT INTO t1(oid,a,x) VALUES(32768,50,'0000000000008000');
77: INSERT INTO t1(oid,a,x) VALUES(2147483648,51,'0000000080000000');
78: INSERT INTO t1(oid,a,x) VALUES(-3,52,'fffffffffffffffd');
79: INSERT INTO t1(oid,a,x) VALUES(-128,53,'ffffffffffffff80');
80: INSERT INTO t1(oid,a,x) VALUES(-129,54,'ffffffffffffff7f');
81: INSERT INTO t1(oid,a,x) VALUES(-9223372036854775808,55,'8000000000000000');
82: INSERT INTO t1(oid,a,x) VALUES(4398046511104,56,'0000040000000000');
83: INSERT INTO t1(oid,a,x) VALUES(1099511627775,57,'000000ffffffffff');
84: INSERT INTO t1(oid,a,x) VALUES(-549755813889,58,'ffffff7fffffffff');
85: INSERT INTO t1(oid,a,x) VALUES(0,59,'0000000000000000');
86: INSERT INTO t1(oid,a,x) VALUES(1,60,'0000000000000001');
87: INSERT INTO t1(oid,a,x) VALUES(256,61,'0000000000000100');
88: INSERT INTO t1(oid,a,x) VALUES(65536,62,'0000000000010000');
89: INSERT INTO t1(oid,a,x) VALUES(-549755813888,63,'ffffff8000000000');
90: INSERT INTO t1(oid,a,x) VALUES(-36028797018963968,64,'ff80000000000000');
91: CREATE INDEX t1i1 ON t1(a);
92: CREATE INDEX t1i2 ON t1(x);
93: }
94: } {}
95: do_test boundary3-1.2 {
96: db eval {
97: SELECT count(*) FROM t1
98: }
99: } {64}
100: do_test boundary3-1.3 {
101: db eval {
102: CREATE TABLE t2(r,a);
103: INSERT INTO t2 SELECT rowid, a FROM t1;
104: CREATE INDEX t2i1 ON t2(r);
105: CREATE INDEX t2i2 ON t2(a);
106: INSERT INTO t2 VALUES(9.22337303685477580800e+18,65);
107: INSERT INTO t2 VALUES(-9.22337303685477580800e+18,66);
108: SELECT count(*) FROM t2;
109: }
110: } {66}
111: do_test boundary3-2.1.1 {
112: db eval {
113: SELECT t1.* FROM t1, t2 WHERE t1.rowid=72057594037927935 AND t2.a=t1.a
114: }
115: } {17 00ffffffffffffff}
116: do_test boundary3-2.1.2 {
117: db eval {
118: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00ffffffffffffff'
119: }
120: } {72057594037927935 17}
121: do_test boundary3-2.1.3 {
122: db eval {
123: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=17
124: }
125: } {72057594037927935 00ffffffffffffff}
126: do_test boundary3-2.1.gt.1 {
127: db eval {
128: SELECT t2.a FROM t1 JOIN t2 USING(a)
129: WHERE t1.rowid > 72057594037927935 ORDER BY t2.a
130: }
131: } {3 28}
132: do_test boundary3-2.1.gt.2 {
133: db eval {
134: SELECT t2.a FROM t2 NATURAL JOIN t1
135: WHERE t1.rowid > 72057594037927935 ORDER BY t1.a DESC
136: }
137: } {28 3}
138: do_test boundary3-2.1.gt.3 {
139: db eval {
140: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
141: WHERE t2.a=17
142: ORDER BY t1.rowid
143: }
144: } {28 3}
145: do_test boundary3-2.1.gt.4 {
146: db eval {
147: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
148: WHERE t2.a=17
149: ORDER BY t1.rowid DESC
150: }
151: } {3 28}
152: do_test boundary3-2.1.gt.5 {
153: db eval {
154: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
155: WHERE t2.a=17
156: ORDER BY x
157: }
158: } {28 3}
159: do_test boundary3-2.1.ge.1 {
160: db eval {
161: SELECT t2.a FROM t1 JOIN t2 USING(a)
162: WHERE t1.rowid >= 72057594037927935 ORDER BY t2.a
163: }
164: } {3 17 28}
165: do_test boundary3-2.1.ge.2 {
166: db eval {
167: SELECT t2.a FROM t2 NATURAL JOIN t1
168: WHERE t1.rowid >= 72057594037927935 ORDER BY t1.a DESC
169: }
170: } {28 17 3}
171: do_test boundary3-2.1.ge.3 {
172: db eval {
173: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
174: WHERE t2.a=17
175: ORDER BY t1.rowid
176: }
177: } {17 28 3}
178: do_test boundary3-2.1.ge.4 {
179: db eval {
180: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
181: WHERE t2.a=17
182: ORDER BY t1.rowid DESC
183: }
184: } {3 28 17}
185: do_test boundary3-2.1.ge.5 {
186: db eval {
187: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
188: WHERE t2.a=17
189: ORDER BY x
190: }
191: } {17 28 3}
192: do_test boundary3-2.1.lt.1 {
193: db eval {
194: SELECT t2.a FROM t1 JOIN t2 USING(a)
195: WHERE t1.rowid < 72057594037927935 ORDER BY t2.a
196: }
197: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
198: do_test boundary3-2.1.lt.2 {
199: db eval {
200: SELECT t2.a FROM t2 NATURAL JOIN t1
201: WHERE t1.rowid < 72057594037927935 ORDER BY t1.a DESC
202: }
203: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
204: do_test boundary3-2.1.lt.3 {
205: db eval {
206: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
207: WHERE t2.a=17
208: ORDER BY t1.rowid
209: }
210: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45}
211: do_test boundary3-2.1.lt.4 {
212: db eval {
213: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
214: WHERE t2.a=17
215: ORDER BY t1.rowid DESC
216: }
217: } {45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
218: do_test boundary3-2.1.lt.5 {
219: db eval {
220: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
221: WHERE t2.a=17
222: ORDER BY x
223: }
224: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
225: do_test boundary3-2.1.le.1 {
226: db eval {
227: SELECT t2.a FROM t1 JOIN t2 USING(a)
228: WHERE t1.rowid <= 72057594037927935 ORDER BY t2.a
229: }
230: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
231: do_test boundary3-2.1.le.2 {
232: db eval {
233: SELECT t2.a FROM t2 NATURAL JOIN t1
234: WHERE t1.rowid <= 72057594037927935 ORDER BY t1.a DESC
235: }
236: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
237: do_test boundary3-2.1.le.3 {
238: db eval {
239: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
240: WHERE t2.a=17
241: ORDER BY t1.rowid
242: }
243: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17}
244: do_test boundary3-2.1.le.4 {
245: db eval {
246: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
247: WHERE t2.a=17
248: ORDER BY t1.rowid DESC
249: }
250: } {17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
251: do_test boundary3-2.1.le.5 {
252: db eval {
253: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
254: WHERE t2.a=17
255: ORDER BY x
256: }
257: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
258: do_test boundary3-2.2.1 {
259: db eval {
260: SELECT t1.* FROM t1, t2 WHERE t1.rowid=16384 AND t2.a=t1.a
261: }
262: } {16 0000000000004000}
263: do_test boundary3-2.2.2 {
264: db eval {
265: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000004000'
266: }
267: } {16384 16}
268: do_test boundary3-2.2.3 {
269: db eval {
270: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=16
271: }
272: } {16384 0000000000004000}
273: do_test boundary3-2.2.gt.1 {
274: db eval {
275: SELECT t2.a FROM t1 JOIN t2 USING(a)
276: WHERE t1.rowid > 16384 ORDER BY t2.a
277: }
278: } {3 6 7 9 10 12 13 14 15 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
279: do_test boundary3-2.2.gt.2 {
280: db eval {
281: SELECT t2.a FROM t2 NATURAL JOIN t1
282: WHERE t1.rowid > 16384 ORDER BY t1.a DESC
283: }
284: } {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
285: do_test boundary3-2.2.gt.3 {
286: db eval {
287: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
288: WHERE t2.a=16
289: ORDER BY t1.rowid
290: }
291: } {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
292: do_test boundary3-2.2.gt.4 {
293: db eval {
294: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
295: WHERE t2.a=16
296: ORDER BY t1.rowid DESC
297: }
298: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23}
299: do_test boundary3-2.2.gt.5 {
300: db eval {
301: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
302: WHERE t2.a=16
303: ORDER BY x
304: }
305: } {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
306: do_test boundary3-2.2.gt.10 {
307: db eval {
308: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
309: WHERE t2.a=16
310: ORDER BY t1.rowid
311: }
312: } {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
313: do_test boundary3-2.2.gt.11 {
314: db eval {
315: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
316: WHERE t2.a=16
317: ORDER BY t1.rowid DESC
318: }
319: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23}
320: do_test boundary3-2.2.ge.1 {
321: db eval {
322: SELECT t2.a FROM t1 JOIN t2 USING(a)
323: WHERE t1.rowid >= 16384 ORDER BY t2.a
324: }
325: } {3 6 7 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
326: do_test boundary3-2.2.ge.2 {
327: db eval {
328: SELECT t2.a FROM t2 NATURAL JOIN t1
329: WHERE t1.rowid >= 16384 ORDER BY t1.a DESC
330: }
331: } {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 7 6 3}
332: do_test boundary3-2.2.ge.3 {
333: db eval {
334: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
335: WHERE t2.a=16
336: ORDER BY t1.rowid
337: }
338: } {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
339: do_test boundary3-2.2.ge.4 {
340: db eval {
341: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
342: WHERE t2.a=16
343: ORDER BY t1.rowid DESC
344: }
345: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16}
346: do_test boundary3-2.2.ge.5 {
347: db eval {
348: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
349: WHERE t2.a=16
350: ORDER BY x
351: }
352: } {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
353: do_test boundary3-2.2.ge.10 {
354: db eval {
355: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
356: WHERE t2.a=16
357: ORDER BY t1.rowid
358: }
359: } {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
360: do_test boundary3-2.2.ge.11 {
361: db eval {
362: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
363: WHERE t2.a=16
364: ORDER BY t1.rowid DESC
365: }
366: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16}
367: do_test boundary3-2.2.lt.1 {
368: db eval {
369: SELECT t2.a FROM t1 JOIN t2 USING(a)
370: WHERE t1.rowid < 16384 ORDER BY t2.a
371: }
372: } {1 2 4 5 8 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
373: do_test boundary3-2.2.lt.2 {
374: db eval {
375: SELECT t2.a FROM t2 NATURAL JOIN t1
376: WHERE t1.rowid < 16384 ORDER BY t1.a DESC
377: }
378: } {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 8 5 4 2 1}
379: do_test boundary3-2.2.lt.3 {
380: db eval {
381: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
382: WHERE t2.a=16
383: ORDER BY t1.rowid
384: }
385: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8}
386: do_test boundary3-2.2.lt.4 {
387: db eval {
388: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
389: WHERE t2.a=16
390: ORDER BY t1.rowid DESC
391: }
392: } {8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
393: do_test boundary3-2.2.lt.5 {
394: db eval {
395: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
396: WHERE t2.a=16
397: ORDER BY x
398: }
399: } {59 60 41 5 31 4 49 30 61 8 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
400: do_test boundary3-2.2.lt.10 {
401: db eval {
402: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
403: WHERE t2.a=16
404: ORDER BY t1.rowid
405: }
406: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8}
407: do_test boundary3-2.2.lt.11 {
408: db eval {
409: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
410: WHERE t2.a=16
411: ORDER BY t1.rowid DESC
412: }
413: } {8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
414: do_test boundary3-2.2.le.1 {
415: db eval {
416: SELECT t2.a FROM t1 JOIN t2 USING(a)
417: WHERE t1.rowid <= 16384 ORDER BY t2.a
418: }
419: } {1 2 4 5 8 11 16 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
420: do_test boundary3-2.2.le.2 {
421: db eval {
422: SELECT t2.a FROM t2 NATURAL JOIN t1
423: WHERE t1.rowid <= 16384 ORDER BY t1.a DESC
424: }
425: } {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 16 11 8 5 4 2 1}
426: do_test boundary3-2.2.le.3 {
427: db eval {
428: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
429: WHERE t2.a=16
430: ORDER BY t1.rowid
431: }
432: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16}
433: do_test boundary3-2.2.le.4 {
434: db eval {
435: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
436: WHERE t2.a=16
437: ORDER BY t1.rowid DESC
438: }
439: } {16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
440: do_test boundary3-2.2.le.5 {
441: db eval {
442: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
443: WHERE t2.a=16
444: ORDER BY x
445: }
446: } {59 60 41 5 31 4 49 30 61 8 16 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
447: do_test boundary3-2.2.le.10 {
448: db eval {
449: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
450: WHERE t2.a=16
451: ORDER BY t1.rowid
452: }
453: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16}
454: do_test boundary3-2.2.le.11 {
455: db eval {
456: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
457: WHERE t2.a=16
458: ORDER BY t1.rowid DESC
459: }
460: } {16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
461: do_test boundary3-2.3.1 {
462: db eval {
463: SELECT t1.* FROM t1, t2 WHERE t1.rowid=4294967296 AND t2.a=t1.a
464: }
465: } {36 0000000100000000}
466: do_test boundary3-2.3.2 {
467: db eval {
468: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000100000000'
469: }
470: } {4294967296 36}
471: do_test boundary3-2.3.3 {
472: db eval {
473: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=36
474: }
475: } {4294967296 0000000100000000}
476: do_test boundary3-2.3.gt.1 {
477: db eval {
478: SELECT t2.a FROM t1 JOIN t2 USING(a)
479: WHERE t1.rowid > 4294967296 ORDER BY t2.a
480: }
481: } {3 7 10 13 17 19 22 25 26 27 28 34 35 39 43 45 46 56 57}
482: do_test boundary3-2.3.gt.2 {
483: db eval {
484: SELECT t2.a FROM t2 NATURAL JOIN t1
485: WHERE t1.rowid > 4294967296 ORDER BY t1.a DESC
486: }
487: } {57 56 46 45 43 39 35 34 28 27 26 25 22 19 17 13 10 7 3}
488: do_test boundary3-2.3.gt.3 {
489: db eval {
490: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
491: WHERE t2.a=36
492: ORDER BY t1.rowid
493: }
494: } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
495: do_test boundary3-2.3.gt.4 {
496: db eval {
497: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
498: WHERE t2.a=36
499: ORDER BY t1.rowid DESC
500: }
501: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}
502: do_test boundary3-2.3.gt.5 {
503: db eval {
504: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
505: WHERE t2.a=36
506: ORDER BY x
507: }
508: } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
509: do_test boundary3-2.3.gt.10 {
510: db eval {
511: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
512: WHERE t2.a=36
513: ORDER BY t1.rowid
514: }
515: } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
516: do_test boundary3-2.3.gt.11 {
517: db eval {
518: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
519: WHERE t2.a=36
520: ORDER BY t1.rowid DESC
521: }
522: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}
523: do_test boundary3-2.3.ge.1 {
524: db eval {
525: SELECT t2.a FROM t1 JOIN t2 USING(a)
526: WHERE t1.rowid >= 4294967296 ORDER BY t2.a
527: }
528: } {3 7 10 13 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
529: do_test boundary3-2.3.ge.2 {
530: db eval {
531: SELECT t2.a FROM t2 NATURAL JOIN t1
532: WHERE t1.rowid >= 4294967296 ORDER BY t1.a DESC
533: }
534: } {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 13 10 7 3}
535: do_test boundary3-2.3.ge.3 {
536: db eval {
537: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
538: WHERE t2.a=36
539: ORDER BY t1.rowid
540: }
541: } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
542: do_test boundary3-2.3.ge.4 {
543: db eval {
544: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
545: WHERE t2.a=36
546: ORDER BY t1.rowid DESC
547: }
548: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}
549: do_test boundary3-2.3.ge.5 {
550: db eval {
551: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
552: WHERE t2.a=36
553: ORDER BY x
554: }
555: } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
556: do_test boundary3-2.3.ge.10 {
557: db eval {
558: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
559: WHERE t2.a=36
560: ORDER BY t1.rowid
561: }
562: } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
563: do_test boundary3-2.3.ge.11 {
564: db eval {
565: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
566: WHERE t2.a=36
567: ORDER BY t1.rowid DESC
568: }
569: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}
570: do_test boundary3-2.3.lt.1 {
571: db eval {
572: SELECT t2.a FROM t1 JOIN t2 USING(a)
573: WHERE t1.rowid < 4294967296 ORDER BY t2.a
574: }
575: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
576: do_test boundary3-2.3.lt.2 {
577: db eval {
578: SELECT t2.a FROM t2 NATURAL JOIN t1
579: WHERE t1.rowid < 4294967296 ORDER BY t1.a DESC
580: }
581: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
582: do_test boundary3-2.3.lt.3 {
583: db eval {
584: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
585: WHERE t2.a=36
586: ORDER BY t1.rowid
587: }
588: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14}
589: do_test boundary3-2.3.lt.4 {
590: db eval {
591: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
592: WHERE t2.a=36
593: ORDER BY t1.rowid DESC
594: }
595: } {14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
596: do_test boundary3-2.3.lt.5 {
597: db eval {
598: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
599: WHERE t2.a=36
600: ORDER BY x
601: }
602: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
603: do_test boundary3-2.3.lt.10 {
604: db eval {
605: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
606: WHERE t2.a=36
607: ORDER BY t1.rowid
608: }
609: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14}
610: do_test boundary3-2.3.lt.11 {
611: db eval {
612: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
613: WHERE t2.a=36
614: ORDER BY t1.rowid DESC
615: }
616: } {14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
617: do_test boundary3-2.3.le.1 {
618: db eval {
619: SELECT t2.a FROM t1 JOIN t2 USING(a)
620: WHERE t1.rowid <= 4294967296 ORDER BY t2.a
621: }
622: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 36 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
623: do_test boundary3-2.3.le.2 {
624: db eval {
625: SELECT t2.a FROM t2 NATURAL JOIN t1
626: WHERE t1.rowid <= 4294967296 ORDER BY t1.a DESC
627: }
628: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 36 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
629: do_test boundary3-2.3.le.3 {
630: db eval {
631: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
632: WHERE t2.a=36
633: ORDER BY t1.rowid
634: }
635: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36}
636: do_test boundary3-2.3.le.4 {
637: db eval {
638: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
639: WHERE t2.a=36
640: ORDER BY t1.rowid DESC
641: }
642: } {36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
643: do_test boundary3-2.3.le.5 {
644: db eval {
645: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
646: WHERE t2.a=36
647: ORDER BY x
648: }
649: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
650: do_test boundary3-2.3.le.10 {
651: db eval {
652: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
653: WHERE t2.a=36
654: ORDER BY t1.rowid
655: }
656: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36}
657: do_test boundary3-2.3.le.11 {
658: db eval {
659: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
660: WHERE t2.a=36
661: ORDER BY t1.rowid DESC
662: }
663: } {36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
664: do_test boundary3-2.4.1 {
665: db eval {
666: SELECT t1.* FROM t1, t2 WHERE t1.rowid=16777216 AND t2.a=t1.a
667: }
668: } {6 0000000001000000}
669: do_test boundary3-2.4.2 {
670: db eval {
671: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000001000000'
672: }
673: } {16777216 6}
674: do_test boundary3-2.4.3 {
675: db eval {
676: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=6
677: }
678: } {16777216 0000000001000000}
679: do_test boundary3-2.4.gt.1 {
680: db eval {
681: SELECT t2.a FROM t1 JOIN t2 USING(a)
682: WHERE t1.rowid > 16777216 ORDER BY t2.a
683: }
684: } {3 7 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
685: do_test boundary3-2.4.gt.2 {
686: db eval {
687: SELECT t2.a FROM t2 NATURAL JOIN t1
688: WHERE t1.rowid > 16777216 ORDER BY t1.a DESC
689: }
690: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 7 3}
691: do_test boundary3-2.4.gt.3 {
692: db eval {
693: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
694: WHERE t2.a=6
695: ORDER BY t1.rowid
696: }
697: } {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
698: do_test boundary3-2.4.gt.4 {
699: db eval {
700: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
701: WHERE t2.a=6
702: ORDER BY t1.rowid DESC
703: }
704: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12}
705: do_test boundary3-2.4.gt.5 {
706: db eval {
707: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
708: WHERE t2.a=6
709: ORDER BY x
710: }
711: } {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
712: do_test boundary3-2.4.gt.10 {
713: db eval {
714: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
715: WHERE t2.a=6
716: ORDER BY t1.rowid
717: }
718: } {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
719: do_test boundary3-2.4.gt.11 {
720: db eval {
721: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
722: WHERE t2.a=6
723: ORDER BY t1.rowid DESC
724: }
725: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12}
726: do_test boundary3-2.4.ge.1 {
727: db eval {
728: SELECT t2.a FROM t1 JOIN t2 USING(a)
729: WHERE t1.rowid >= 16777216 ORDER BY t2.a
730: }
731: } {3 6 7 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
732: do_test boundary3-2.4.ge.2 {
733: db eval {
734: SELECT t2.a FROM t2 NATURAL JOIN t1
735: WHERE t1.rowid >= 16777216 ORDER BY t1.a DESC
736: }
737: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 7 6 3}
738: do_test boundary3-2.4.ge.3 {
739: db eval {
740: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
741: WHERE t2.a=6
742: ORDER BY t1.rowid
743: }
744: } {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
745: do_test boundary3-2.4.ge.4 {
746: db eval {
747: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
748: WHERE t2.a=6
749: ORDER BY t1.rowid DESC
750: }
751: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6}
752: do_test boundary3-2.4.ge.5 {
753: db eval {
754: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
755: WHERE t2.a=6
756: ORDER BY x
757: }
758: } {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
759: do_test boundary3-2.4.ge.10 {
760: db eval {
761: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
762: WHERE t2.a=6
763: ORDER BY t1.rowid
764: }
765: } {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
766: do_test boundary3-2.4.ge.11 {
767: db eval {
768: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
769: WHERE t2.a=6
770: ORDER BY t1.rowid DESC
771: }
772: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6}
773: do_test boundary3-2.4.lt.1 {
774: db eval {
775: SELECT t2.a FROM t1 JOIN t2 USING(a)
776: WHERE t1.rowid < 16777216 ORDER BY t2.a
777: }
778: } {1 2 4 5 8 9 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
779: do_test boundary3-2.4.lt.2 {
780: db eval {
781: SELECT t2.a FROM t2 NATURAL JOIN t1
782: WHERE t1.rowid < 16777216 ORDER BY t1.a DESC
783: }
784: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 9 8 5 4 2 1}
785: do_test boundary3-2.4.lt.3 {
786: db eval {
787: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
788: WHERE t2.a=6
789: ORDER BY t1.rowid
790: }
791: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9}
792: do_test boundary3-2.4.lt.4 {
793: db eval {
794: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
795: WHERE t2.a=6
796: ORDER BY t1.rowid DESC
797: }
798: } {9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
799: do_test boundary3-2.4.lt.5 {
800: db eval {
801: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
802: WHERE t2.a=6
803: ORDER BY x
804: }
805: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
806: do_test boundary3-2.4.lt.10 {
807: db eval {
808: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
809: WHERE t2.a=6
810: ORDER BY t1.rowid
811: }
812: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9}
813: do_test boundary3-2.4.lt.11 {
814: db eval {
815: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
816: WHERE t2.a=6
817: ORDER BY t1.rowid DESC
818: }
819: } {9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
820: do_test boundary3-2.4.le.1 {
821: db eval {
822: SELECT t2.a FROM t1 JOIN t2 USING(a)
823: WHERE t1.rowid <= 16777216 ORDER BY t2.a
824: }
825: } {1 2 4 5 6 8 9 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
826: do_test boundary3-2.4.le.2 {
827: db eval {
828: SELECT t2.a FROM t2 NATURAL JOIN t1
829: WHERE t1.rowid <= 16777216 ORDER BY t1.a DESC
830: }
831: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 9 8 6 5 4 2 1}
832: do_test boundary3-2.4.le.3 {
833: db eval {
834: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
835: WHERE t2.a=6
836: ORDER BY t1.rowid
837: }
838: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6}
839: do_test boundary3-2.4.le.4 {
840: db eval {
841: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
842: WHERE t2.a=6
843: ORDER BY t1.rowid DESC
844: }
845: } {6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
846: do_test boundary3-2.4.le.5 {
847: db eval {
848: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
849: WHERE t2.a=6
850: ORDER BY x
851: }
852: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
853: do_test boundary3-2.4.le.10 {
854: db eval {
855: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
856: WHERE t2.a=6
857: ORDER BY t1.rowid
858: }
859: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6}
860: do_test boundary3-2.4.le.11 {
861: db eval {
862: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
863: WHERE t2.a=6
864: ORDER BY t1.rowid DESC
865: }
866: } {6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
867: do_test boundary3-2.5.1 {
868: db eval {
869: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-32769 AND t2.a=t1.a
870: }
871: } {29 ffffffffffff7fff}
872: do_test boundary3-2.5.2 {
873: db eval {
874: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffff7fff'
875: }
876: } {-32769 29}
877: do_test boundary3-2.5.3 {
878: db eval {
879: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=29
880: }
881: } {-32769 ffffffffffff7fff}
882: do_test boundary3-2.5.gt.1 {
883: db eval {
884: SELECT t2.a FROM t1 JOIN t2 USING(a)
885: WHERE t1.rowid > -32769 ORDER BY t2.a
886: }
887: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 32 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
888: do_test boundary3-2.5.gt.2 {
889: db eval {
890: SELECT t2.a FROM t2 NATURAL JOIN t1
891: WHERE t1.rowid > -32769 ORDER BY t1.a DESC
892: }
893: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 32 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
894: do_test boundary3-2.5.gt.3 {
895: db eval {
896: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
897: WHERE t2.a=29
898: ORDER BY t1.rowid
899: }
900: } {32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
901: do_test boundary3-2.5.gt.4 {
902: db eval {
903: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
904: WHERE t2.a=29
905: ORDER BY t1.rowid DESC
906: }
907: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32}
908: do_test boundary3-2.5.gt.5 {
909: db eval {
910: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
911: WHERE t2.a=29
912: ORDER BY x
913: }
914: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 32 54 53 52 33 38}
915: do_test boundary3-2.5.gt.10 {
916: db eval {
917: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
918: WHERE t2.a=29
919: ORDER BY t1.rowid
920: }
921: } {32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
922: do_test boundary3-2.5.gt.11 {
923: db eval {
924: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
925: WHERE t2.a=29
926: ORDER BY t1.rowid DESC
927: }
928: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32}
929: do_test boundary3-2.5.ge.1 {
930: db eval {
931: SELECT t2.a FROM t1 JOIN t2 USING(a)
932: WHERE t1.rowid >= -32769 ORDER BY t2.a
933: }
934: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
935: do_test boundary3-2.5.ge.2 {
936: db eval {
937: SELECT t2.a FROM t2 NATURAL JOIN t1
938: WHERE t1.rowid >= -32769 ORDER BY t1.a DESC
939: }
940: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
941: do_test boundary3-2.5.ge.3 {
942: db eval {
943: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
944: WHERE t2.a=29
945: ORDER BY t1.rowid
946: }
947: } {29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
948: do_test boundary3-2.5.ge.4 {
949: db eval {
950: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
951: WHERE t2.a=29
952: ORDER BY t1.rowid DESC
953: }
954: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29}
955: do_test boundary3-2.5.ge.5 {
956: db eval {
957: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
958: WHERE t2.a=29
959: ORDER BY x
960: }
961: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 29 32 54 53 52 33 38}
962: do_test boundary3-2.5.ge.10 {
963: db eval {
964: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
965: WHERE t2.a=29
966: ORDER BY t1.rowid
967: }
968: } {29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
969: do_test boundary3-2.5.ge.11 {
970: db eval {
971: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
972: WHERE t2.a=29
973: ORDER BY t1.rowid DESC
974: }
975: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29}
976: do_test boundary3-2.5.lt.1 {
977: db eval {
978: SELECT t2.a FROM t1 JOIN t2 USING(a)
979: WHERE t1.rowid < -32769 ORDER BY t2.a
980: }
981: } {1 2 11 21 37 44 47 55 58 63 64}
982: do_test boundary3-2.5.lt.2 {
983: db eval {
984: SELECT t2.a FROM t2 NATURAL JOIN t1
985: WHERE t1.rowid < -32769 ORDER BY t1.a DESC
986: }
987: } {64 63 58 55 47 44 37 21 11 2 1}
988: do_test boundary3-2.5.lt.3 {
989: db eval {
990: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
991: WHERE t2.a=29
992: ORDER BY t1.rowid
993: }
994: } {55 2 64 21 44 58 63 47 11 1 37}
995: do_test boundary3-2.5.lt.4 {
996: db eval {
997: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
998: WHERE t2.a=29
999: ORDER BY t1.rowid DESC
1000: }
1001: } {37 1 11 47 63 58 44 21 64 2 55}
1002: do_test boundary3-2.5.lt.5 {
1003: db eval {
1004: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1005: WHERE t2.a=29
1006: ORDER BY x
1007: }
1008: } {55 2 64 21 44 58 63 47 11 1 37}
1009: do_test boundary3-2.5.lt.10 {
1010: db eval {
1011: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
1012: WHERE t2.a=29
1013: ORDER BY t1.rowid
1014: }
1015: } {55 2 64 21 44 58 63 47 11 1 37}
1016: do_test boundary3-2.5.lt.11 {
1017: db eval {
1018: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
1019: WHERE t2.a=29
1020: ORDER BY t1.rowid DESC
1021: }
1022: } {37 1 11 47 63 58 44 21 64 2 55}
1023: do_test boundary3-2.5.le.1 {
1024: db eval {
1025: SELECT t2.a FROM t1 JOIN t2 USING(a)
1026: WHERE t1.rowid <= -32769 ORDER BY t2.a
1027: }
1028: } {1 2 11 21 29 37 44 47 55 58 63 64}
1029: do_test boundary3-2.5.le.2 {
1030: db eval {
1031: SELECT t2.a FROM t2 NATURAL JOIN t1
1032: WHERE t1.rowid <= -32769 ORDER BY t1.a DESC
1033: }
1034: } {64 63 58 55 47 44 37 29 21 11 2 1}
1035: do_test boundary3-2.5.le.3 {
1036: db eval {
1037: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1038: WHERE t2.a=29
1039: ORDER BY t1.rowid
1040: }
1041: } {55 2 64 21 44 58 63 47 11 1 37 29}
1042: do_test boundary3-2.5.le.4 {
1043: db eval {
1044: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1045: WHERE t2.a=29
1046: ORDER BY t1.rowid DESC
1047: }
1048: } {29 37 1 11 47 63 58 44 21 64 2 55}
1049: do_test boundary3-2.5.le.5 {
1050: db eval {
1051: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1052: WHERE t2.a=29
1053: ORDER BY x
1054: }
1055: } {55 2 64 21 44 58 63 47 11 1 37 29}
1056: do_test boundary3-2.5.le.10 {
1057: db eval {
1058: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
1059: WHERE t2.a=29
1060: ORDER BY t1.rowid
1061: }
1062: } {55 2 64 21 44 58 63 47 11 1 37 29}
1063: do_test boundary3-2.5.le.11 {
1064: db eval {
1065: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
1066: WHERE t2.a=29
1067: ORDER BY t1.rowid DESC
1068: }
1069: } {29 37 1 11 47 63 58 44 21 64 2 55}
1070: do_test boundary3-2.6.1 {
1071: db eval {
1072: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-140737488355329 AND t2.a=t1.a
1073: }
1074: } {21 ffff7fffffffffff}
1075: do_test boundary3-2.6.2 {
1076: db eval {
1077: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffff7fffffffffff'
1078: }
1079: } {-140737488355329 21}
1080: do_test boundary3-2.6.3 {
1081: db eval {
1082: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=21
1083: }
1084: } {-140737488355329 ffff7fffffffffff}
1085: do_test boundary3-2.6.gt.1 {
1086: db eval {
1087: SELECT t2.a FROM t1 JOIN t2 USING(a)
1088: WHERE t1.rowid > -140737488355329 ORDER BY t2.a
1089: }
1090: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
1091: do_test boundary3-2.6.gt.2 {
1092: db eval {
1093: SELECT t2.a FROM t2 NATURAL JOIN t1
1094: WHERE t1.rowid > -140737488355329 ORDER BY t1.a DESC
1095: }
1096: } {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
1097: do_test boundary3-2.6.gt.3 {
1098: db eval {
1099: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1100: WHERE t2.a=21
1101: ORDER BY t1.rowid
1102: }
1103: } {44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1104: do_test boundary3-2.6.gt.4 {
1105: db eval {
1106: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1107: WHERE t2.a=21
1108: ORDER BY t1.rowid DESC
1109: }
1110: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44}
1111: do_test boundary3-2.6.gt.5 {
1112: db eval {
1113: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1114: WHERE t2.a=21
1115: ORDER BY x
1116: }
1117: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
1118: do_test boundary3-2.6.ge.1 {
1119: db eval {
1120: SELECT t2.a FROM t1 JOIN t2 USING(a)
1121: WHERE t1.rowid >= -140737488355329 ORDER BY t2.a
1122: }
1123: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
1124: do_test boundary3-2.6.ge.2 {
1125: db eval {
1126: SELECT t2.a FROM t2 NATURAL JOIN t1
1127: WHERE t1.rowid >= -140737488355329 ORDER BY t1.a DESC
1128: }
1129: } {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
1130: do_test boundary3-2.6.ge.3 {
1131: db eval {
1132: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1133: WHERE t2.a=21
1134: ORDER BY t1.rowid
1135: }
1136: } {21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1137: do_test boundary3-2.6.ge.4 {
1138: db eval {
1139: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1140: WHERE t2.a=21
1141: ORDER BY t1.rowid DESC
1142: }
1143: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21}
1144: do_test boundary3-2.6.ge.5 {
1145: db eval {
1146: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1147: WHERE t2.a=21
1148: ORDER BY x
1149: }
1150: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
1151: do_test boundary3-2.6.lt.1 {
1152: db eval {
1153: SELECT t2.a FROM t1 JOIN t2 USING(a)
1154: WHERE t1.rowid < -140737488355329 ORDER BY t2.a
1155: }
1156: } {2 55 64}
1157: do_test boundary3-2.6.lt.2 {
1158: db eval {
1159: SELECT t2.a FROM t2 NATURAL JOIN t1
1160: WHERE t1.rowid < -140737488355329 ORDER BY t1.a DESC
1161: }
1162: } {64 55 2}
1163: do_test boundary3-2.6.lt.3 {
1164: db eval {
1165: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1166: WHERE t2.a=21
1167: ORDER BY t1.rowid
1168: }
1169: } {55 2 64}
1170: do_test boundary3-2.6.lt.4 {
1171: db eval {
1172: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1173: WHERE t2.a=21
1174: ORDER BY t1.rowid DESC
1175: }
1176: } {64 2 55}
1177: do_test boundary3-2.6.lt.5 {
1178: db eval {
1179: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1180: WHERE t2.a=21
1181: ORDER BY x
1182: }
1183: } {55 2 64}
1184: do_test boundary3-2.6.le.1 {
1185: db eval {
1186: SELECT t2.a FROM t1 JOIN t2 USING(a)
1187: WHERE t1.rowid <= -140737488355329 ORDER BY t2.a
1188: }
1189: } {2 21 55 64}
1190: do_test boundary3-2.6.le.2 {
1191: db eval {
1192: SELECT t2.a FROM t2 NATURAL JOIN t1
1193: WHERE t1.rowid <= -140737488355329 ORDER BY t1.a DESC
1194: }
1195: } {64 55 21 2}
1196: do_test boundary3-2.6.le.3 {
1197: db eval {
1198: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1199: WHERE t2.a=21
1200: ORDER BY t1.rowid
1201: }
1202: } {55 2 64 21}
1203: do_test boundary3-2.6.le.4 {
1204: db eval {
1205: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1206: WHERE t2.a=21
1207: ORDER BY t1.rowid DESC
1208: }
1209: } {21 64 2 55}
1210: do_test boundary3-2.6.le.5 {
1211: db eval {
1212: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1213: WHERE t2.a=21
1214: ORDER BY x
1215: }
1216: } {55 2 64 21}
1217: do_test boundary3-2.7.1 {
1218: db eval {
1219: SELECT t1.* FROM t1, t2 WHERE t1.rowid=2 AND t2.a=t1.a
1220: }
1221: } {41 0000000000000002}
1222: do_test boundary3-2.7.2 {
1223: db eval {
1224: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000002'
1225: }
1226: } {2 41}
1227: do_test boundary3-2.7.3 {
1228: db eval {
1229: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=41
1230: }
1231: } {2 0000000000000002}
1232: do_test boundary3-2.7.gt.1 {
1233: db eval {
1234: SELECT t2.a FROM t1 JOIN t2 USING(a)
1235: WHERE t1.rowid > 2 ORDER BY t2.a
1236: }
1237: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
1238: do_test boundary3-2.7.gt.2 {
1239: db eval {
1240: SELECT t2.a FROM t2 NATURAL JOIN t1
1241: WHERE t1.rowid > 2 ORDER BY t1.a DESC
1242: }
1243: } {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
1244: do_test boundary3-2.7.gt.3 {
1245: db eval {
1246: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1247: WHERE t2.a=41
1248: ORDER BY t1.rowid
1249: }
1250: } {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1251: do_test boundary3-2.7.gt.4 {
1252: db eval {
1253: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1254: WHERE t2.a=41
1255: ORDER BY t1.rowid DESC
1256: }
1257: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5}
1258: do_test boundary3-2.7.gt.5 {
1259: db eval {
1260: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1261: WHERE t2.a=41
1262: ORDER BY x
1263: }
1264: } {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1265: do_test boundary3-2.7.gt.10 {
1266: db eval {
1267: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
1268: WHERE t2.a=41
1269: ORDER BY t1.rowid
1270: }
1271: } {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1272: do_test boundary3-2.7.gt.11 {
1273: db eval {
1274: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
1275: WHERE t2.a=41
1276: ORDER BY t1.rowid DESC
1277: }
1278: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5}
1279: do_test boundary3-2.7.ge.1 {
1280: db eval {
1281: SELECT t2.a FROM t1 JOIN t2 USING(a)
1282: WHERE t1.rowid >= 2 ORDER BY t2.a
1283: }
1284: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 61 62}
1285: do_test boundary3-2.7.ge.2 {
1286: db eval {
1287: SELECT t2.a FROM t2 NATURAL JOIN t1
1288: WHERE t1.rowid >= 2 ORDER BY t1.a DESC
1289: }
1290: } {62 61 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
1291: do_test boundary3-2.7.ge.3 {
1292: db eval {
1293: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1294: WHERE t2.a=41
1295: ORDER BY t1.rowid
1296: }
1297: } {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1298: do_test boundary3-2.7.ge.4 {
1299: db eval {
1300: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1301: WHERE t2.a=41
1302: ORDER BY t1.rowid DESC
1303: }
1304: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41}
1305: do_test boundary3-2.7.ge.5 {
1306: db eval {
1307: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1308: WHERE t2.a=41
1309: ORDER BY x
1310: }
1311: } {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1312: do_test boundary3-2.7.ge.10 {
1313: db eval {
1314: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
1315: WHERE t2.a=41
1316: ORDER BY t1.rowid
1317: }
1318: } {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1319: do_test boundary3-2.7.ge.11 {
1320: db eval {
1321: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
1322: WHERE t2.a=41
1323: ORDER BY t1.rowid DESC
1324: }
1325: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41}
1326: do_test boundary3-2.7.lt.1 {
1327: db eval {
1328: SELECT t2.a FROM t1 JOIN t2 USING(a)
1329: WHERE t1.rowid < 2 ORDER BY t2.a
1330: }
1331: } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 60 63 64}
1332: do_test boundary3-2.7.lt.2 {
1333: db eval {
1334: SELECT t2.a FROM t2 NATURAL JOIN t1
1335: WHERE t1.rowid < 2 ORDER BY t1.a DESC
1336: }
1337: } {64 63 60 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
1338: do_test boundary3-2.7.lt.3 {
1339: db eval {
1340: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1341: WHERE t2.a=41
1342: ORDER BY t1.rowid
1343: }
1344: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60}
1345: do_test boundary3-2.7.lt.4 {
1346: db eval {
1347: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1348: WHERE t2.a=41
1349: ORDER BY t1.rowid DESC
1350: }
1351: } {60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1352: do_test boundary3-2.7.lt.5 {
1353: db eval {
1354: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1355: WHERE t2.a=41
1356: ORDER BY x
1357: }
1358: } {59 60 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
1359: do_test boundary3-2.7.lt.10 {
1360: db eval {
1361: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
1362: WHERE t2.a=41
1363: ORDER BY t1.rowid
1364: }
1365: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60}
1366: do_test boundary3-2.7.lt.11 {
1367: db eval {
1368: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
1369: WHERE t2.a=41
1370: ORDER BY t1.rowid DESC
1371: }
1372: } {60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1373: do_test boundary3-2.7.le.1 {
1374: db eval {
1375: SELECT t2.a FROM t1 JOIN t2 USING(a)
1376: WHERE t1.rowid <= 2 ORDER BY t2.a
1377: }
1378: } {1 2 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
1379: do_test boundary3-2.7.le.2 {
1380: db eval {
1381: SELECT t2.a FROM t2 NATURAL JOIN t1
1382: WHERE t1.rowid <= 2 ORDER BY t1.a DESC
1383: }
1384: } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 2 1}
1385: do_test boundary3-2.7.le.3 {
1386: db eval {
1387: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1388: WHERE t2.a=41
1389: ORDER BY t1.rowid
1390: }
1391: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41}
1392: do_test boundary3-2.7.le.4 {
1393: db eval {
1394: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1395: WHERE t2.a=41
1396: ORDER BY t1.rowid DESC
1397: }
1398: } {41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1399: do_test boundary3-2.7.le.5 {
1400: db eval {
1401: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1402: WHERE t2.a=41
1403: ORDER BY x
1404: }
1405: } {59 60 41 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
1406: do_test boundary3-2.7.le.10 {
1407: db eval {
1408: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
1409: WHERE t2.a=41
1410: ORDER BY t1.rowid
1411: }
1412: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41}
1413: do_test boundary3-2.7.le.11 {
1414: db eval {
1415: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
1416: WHERE t2.a=41
1417: ORDER BY t1.rowid DESC
1418: }
1419: } {41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1420: do_test boundary3-2.8.1 {
1421: db eval {
1422: SELECT t1.* FROM t1, t2 WHERE t1.rowid=4 AND t2.a=t1.a
1423: }
1424: } {31 0000000000000004}
1425: do_test boundary3-2.8.2 {
1426: db eval {
1427: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000004'
1428: }
1429: } {4 31}
1430: do_test boundary3-2.8.3 {
1431: db eval {
1432: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=31
1433: }
1434: } {4 0000000000000004}
1435: do_test boundary3-2.8.gt.1 {
1436: db eval {
1437: SELECT t2.a FROM t1 JOIN t2 USING(a)
1438: WHERE t1.rowid > 4 ORDER BY t2.a
1439: }
1440: } {3 4 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
1441: do_test boundary3-2.8.gt.2 {
1442: db eval {
1443: SELECT t2.a FROM t2 NATURAL JOIN t1
1444: WHERE t1.rowid > 4 ORDER BY t1.a DESC
1445: }
1446: } {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 4 3}
1447: do_test boundary3-2.8.gt.3 {
1448: db eval {
1449: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1450: WHERE t2.a=31
1451: ORDER BY t1.rowid
1452: }
1453: } {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1454: do_test boundary3-2.8.gt.4 {
1455: db eval {
1456: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1457: WHERE t2.a=31
1458: ORDER BY t1.rowid DESC
1459: }
1460: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4}
1461: do_test boundary3-2.8.gt.5 {
1462: db eval {
1463: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1464: WHERE t2.a=31
1465: ORDER BY x
1466: }
1467: } {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1468: do_test boundary3-2.8.gt.10 {
1469: db eval {
1470: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
1471: WHERE t2.a=31
1472: ORDER BY t1.rowid
1473: }
1474: } {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1475: do_test boundary3-2.8.gt.11 {
1476: db eval {
1477: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
1478: WHERE t2.a=31
1479: ORDER BY t1.rowid DESC
1480: }
1481: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4}
1482: do_test boundary3-2.8.ge.1 {
1483: db eval {
1484: SELECT t2.a FROM t1 JOIN t2 USING(a)
1485: WHERE t1.rowid >= 4 ORDER BY t2.a
1486: }
1487: } {3 4 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
1488: do_test boundary3-2.8.ge.2 {
1489: db eval {
1490: SELECT t2.a FROM t2 NATURAL JOIN t1
1491: WHERE t1.rowid >= 4 ORDER BY t1.a DESC
1492: }
1493: } {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 4 3}
1494: do_test boundary3-2.8.ge.3 {
1495: db eval {
1496: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1497: WHERE t2.a=31
1498: ORDER BY t1.rowid
1499: }
1500: } {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1501: do_test boundary3-2.8.ge.4 {
1502: db eval {
1503: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1504: WHERE t2.a=31
1505: ORDER BY t1.rowid DESC
1506: }
1507: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31}
1508: do_test boundary3-2.8.ge.5 {
1509: db eval {
1510: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1511: WHERE t2.a=31
1512: ORDER BY x
1513: }
1514: } {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1515: do_test boundary3-2.8.ge.10 {
1516: db eval {
1517: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
1518: WHERE t2.a=31
1519: ORDER BY t1.rowid
1520: }
1521: } {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1522: do_test boundary3-2.8.ge.11 {
1523: db eval {
1524: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
1525: WHERE t2.a=31
1526: ORDER BY t1.rowid DESC
1527: }
1528: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31}
1529: do_test boundary3-2.8.lt.1 {
1530: db eval {
1531: SELECT t2.a FROM t1 JOIN t2 USING(a)
1532: WHERE t1.rowid < 4 ORDER BY t2.a
1533: }
1534: } {1 2 5 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
1535: do_test boundary3-2.8.lt.2 {
1536: db eval {
1537: SELECT t2.a FROM t2 NATURAL JOIN t1
1538: WHERE t1.rowid < 4 ORDER BY t1.a DESC
1539: }
1540: } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 5 2 1}
1541: do_test boundary3-2.8.lt.3 {
1542: db eval {
1543: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1544: WHERE t2.a=31
1545: ORDER BY t1.rowid
1546: }
1547: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5}
1548: do_test boundary3-2.8.lt.4 {
1549: db eval {
1550: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1551: WHERE t2.a=31
1552: ORDER BY t1.rowid DESC
1553: }
1554: } {5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1555: do_test boundary3-2.8.lt.5 {
1556: db eval {
1557: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1558: WHERE t2.a=31
1559: ORDER BY x
1560: }
1561: } {59 60 41 5 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
1562: do_test boundary3-2.8.lt.10 {
1563: db eval {
1564: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
1565: WHERE t2.a=31
1566: ORDER BY t1.rowid
1567: }
1568: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5}
1569: do_test boundary3-2.8.lt.11 {
1570: db eval {
1571: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
1572: WHERE t2.a=31
1573: ORDER BY t1.rowid DESC
1574: }
1575: } {5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1576: do_test boundary3-2.8.le.1 {
1577: db eval {
1578: SELECT t2.a FROM t1 JOIN t2 USING(a)
1579: WHERE t1.rowid <= 4 ORDER BY t2.a
1580: }
1581: } {1 2 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
1582: do_test boundary3-2.8.le.2 {
1583: db eval {
1584: SELECT t2.a FROM t2 NATURAL JOIN t1
1585: WHERE t1.rowid <= 4 ORDER BY t1.a DESC
1586: }
1587: } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 2 1}
1588: do_test boundary3-2.8.le.3 {
1589: db eval {
1590: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1591: WHERE t2.a=31
1592: ORDER BY t1.rowid
1593: }
1594: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31}
1595: do_test boundary3-2.8.le.4 {
1596: db eval {
1597: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1598: WHERE t2.a=31
1599: ORDER BY t1.rowid DESC
1600: }
1601: } {31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1602: do_test boundary3-2.8.le.5 {
1603: db eval {
1604: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1605: WHERE t2.a=31
1606: ORDER BY x
1607: }
1608: } {59 60 41 5 31 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
1609: do_test boundary3-2.8.le.10 {
1610: db eval {
1611: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
1612: WHERE t2.a=31
1613: ORDER BY t1.rowid
1614: }
1615: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31}
1616: do_test boundary3-2.8.le.11 {
1617: db eval {
1618: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
1619: WHERE t2.a=31
1620: ORDER BY t1.rowid DESC
1621: }
1622: } {31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1623: do_test boundary3-2.9.1 {
1624: db eval {
1625: SELECT t1.* FROM t1, t2 WHERE t1.rowid=562949953421311 AND t2.a=t1.a
1626: }
1627: } {13 0001ffffffffffff}
1628: do_test boundary3-2.9.2 {
1629: db eval {
1630: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0001ffffffffffff'
1631: }
1632: } {562949953421311 13}
1633: do_test boundary3-2.9.3 {
1634: db eval {
1635: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=13
1636: }
1637: } {562949953421311 0001ffffffffffff}
1638: do_test boundary3-2.9.gt.1 {
1639: db eval {
1640: SELECT t2.a FROM t1 JOIN t2 USING(a)
1641: WHERE t1.rowid > 562949953421311 ORDER BY t2.a
1642: }
1643: } {3 17 27 28 43 45}
1644: do_test boundary3-2.9.gt.2 {
1645: db eval {
1646: SELECT t2.a FROM t2 NATURAL JOIN t1
1647: WHERE t1.rowid > 562949953421311 ORDER BY t1.a DESC
1648: }
1649: } {45 43 28 27 17 3}
1650: do_test boundary3-2.9.gt.3 {
1651: db eval {
1652: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1653: WHERE t2.a=13
1654: ORDER BY t1.rowid
1655: }
1656: } {43 27 45 17 28 3}
1657: do_test boundary3-2.9.gt.4 {
1658: db eval {
1659: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1660: WHERE t2.a=13
1661: ORDER BY t1.rowid DESC
1662: }
1663: } {3 28 17 45 27 43}
1664: do_test boundary3-2.9.gt.5 {
1665: db eval {
1666: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1667: WHERE t2.a=13
1668: ORDER BY x
1669: }
1670: } {43 27 45 17 28 3}
1671: do_test boundary3-2.9.ge.1 {
1672: db eval {
1673: SELECT t2.a FROM t1 JOIN t2 USING(a)
1674: WHERE t1.rowid >= 562949953421311 ORDER BY t2.a
1675: }
1676: } {3 13 17 27 28 43 45}
1677: do_test boundary3-2.9.ge.2 {
1678: db eval {
1679: SELECT t2.a FROM t2 NATURAL JOIN t1
1680: WHERE t1.rowid >= 562949953421311 ORDER BY t1.a DESC
1681: }
1682: } {45 43 28 27 17 13 3}
1683: do_test boundary3-2.9.ge.3 {
1684: db eval {
1685: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1686: WHERE t2.a=13
1687: ORDER BY t1.rowid
1688: }
1689: } {13 43 27 45 17 28 3}
1690: do_test boundary3-2.9.ge.4 {
1691: db eval {
1692: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1693: WHERE t2.a=13
1694: ORDER BY t1.rowid DESC
1695: }
1696: } {3 28 17 45 27 43 13}
1697: do_test boundary3-2.9.ge.5 {
1698: db eval {
1699: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1700: WHERE t2.a=13
1701: ORDER BY x
1702: }
1703: } {13 43 27 45 17 28 3}
1704: do_test boundary3-2.9.lt.1 {
1705: db eval {
1706: SELECT t2.a FROM t1 JOIN t2 USING(a)
1707: WHERE t1.rowid < 562949953421311 ORDER BY t2.a
1708: }
1709: } {1 2 4 5 6 7 8 9 10 11 12 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
1710: do_test boundary3-2.9.lt.2 {
1711: db eval {
1712: SELECT t2.a FROM t2 NATURAL JOIN t1
1713: WHERE t1.rowid < 562949953421311 ORDER BY t1.a DESC
1714: }
1715: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 12 11 10 9 8 7 6 5 4 2 1}
1716: do_test boundary3-2.9.lt.3 {
1717: db eval {
1718: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1719: WHERE t2.a=13
1720: ORDER BY t1.rowid
1721: }
1722: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26}
1723: do_test boundary3-2.9.lt.4 {
1724: db eval {
1725: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1726: WHERE t2.a=13
1727: ORDER BY t1.rowid DESC
1728: }
1729: } {26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1730: do_test boundary3-2.9.lt.5 {
1731: db eval {
1732: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1733: WHERE t2.a=13
1734: ORDER BY x
1735: }
1736: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
1737: do_test boundary3-2.9.le.1 {
1738: db eval {
1739: SELECT t2.a FROM t1 JOIN t2 USING(a)
1740: WHERE t1.rowid <= 562949953421311 ORDER BY t2.a
1741: }
1742: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
1743: do_test boundary3-2.9.le.2 {
1744: db eval {
1745: SELECT t2.a FROM t2 NATURAL JOIN t1
1746: WHERE t1.rowid <= 562949953421311 ORDER BY t1.a DESC
1747: }
1748: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
1749: do_test boundary3-2.9.le.3 {
1750: db eval {
1751: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1752: WHERE t2.a=13
1753: ORDER BY t1.rowid
1754: }
1755: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13}
1756: do_test boundary3-2.9.le.4 {
1757: db eval {
1758: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1759: WHERE t2.a=13
1760: ORDER BY t1.rowid DESC
1761: }
1762: } {13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1763: do_test boundary3-2.9.le.5 {
1764: db eval {
1765: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1766: WHERE t2.a=13
1767: ORDER BY x
1768: }
1769: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
1770: do_test boundary3-2.10.1 {
1771: db eval {
1772: SELECT t1.* FROM t1, t2 WHERE t1.rowid=256 AND t2.a=t1.a
1773: }
1774: } {61 0000000000000100}
1775: do_test boundary3-2.10.2 {
1776: db eval {
1777: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000100'
1778: }
1779: } {256 61}
1780: do_test boundary3-2.10.3 {
1781: db eval {
1782: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=61
1783: }
1784: } {256 0000000000000100}
1785: do_test boundary3-2.10.gt.1 {
1786: db eval {
1787: SELECT t2.a FROM t1 JOIN t2 USING(a)
1788: WHERE t1.rowid > 256 ORDER BY t2.a
1789: }
1790: } {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
1791: do_test boundary3-2.10.gt.2 {
1792: db eval {
1793: SELECT t2.a FROM t2 NATURAL JOIN t1
1794: WHERE t1.rowid > 256 ORDER BY t1.a DESC
1795: }
1796: } {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
1797: do_test boundary3-2.10.gt.3 {
1798: db eval {
1799: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1800: WHERE t2.a=61
1801: ORDER BY t1.rowid
1802: }
1803: } {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1804: do_test boundary3-2.10.gt.4 {
1805: db eval {
1806: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1807: WHERE t2.a=61
1808: ORDER BY t1.rowid DESC
1809: }
1810: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8}
1811: do_test boundary3-2.10.gt.5 {
1812: db eval {
1813: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
1814: WHERE t2.a=61
1815: ORDER BY x
1816: }
1817: } {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1818: do_test boundary3-2.10.gt.10 {
1819: db eval {
1820: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
1821: WHERE t2.a=61
1822: ORDER BY t1.rowid
1823: }
1824: } {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1825: do_test boundary3-2.10.gt.11 {
1826: db eval {
1827: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
1828: WHERE t2.a=61
1829: ORDER BY t1.rowid DESC
1830: }
1831: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8}
1832: do_test boundary3-2.10.ge.1 {
1833: db eval {
1834: SELECT t2.a FROM t1 JOIN t2 USING(a)
1835: WHERE t1.rowid >= 256 ORDER BY t2.a
1836: }
1837: } {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 61 62}
1838: do_test boundary3-2.10.ge.2 {
1839: db eval {
1840: SELECT t2.a FROM t2 NATURAL JOIN t1
1841: WHERE t1.rowid >= 256 ORDER BY t1.a DESC
1842: }
1843: } {62 61 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
1844: do_test boundary3-2.10.ge.3 {
1845: db eval {
1846: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1847: WHERE t2.a=61
1848: ORDER BY t1.rowid
1849: }
1850: } {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1851: do_test boundary3-2.10.ge.4 {
1852: db eval {
1853: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1854: WHERE t2.a=61
1855: ORDER BY t1.rowid DESC
1856: }
1857: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61}
1858: do_test boundary3-2.10.ge.5 {
1859: db eval {
1860: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
1861: WHERE t2.a=61
1862: ORDER BY x
1863: }
1864: } {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1865: do_test boundary3-2.10.ge.10 {
1866: db eval {
1867: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
1868: WHERE t2.a=61
1869: ORDER BY t1.rowid
1870: }
1871: } {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
1872: do_test boundary3-2.10.ge.11 {
1873: db eval {
1874: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
1875: WHERE t2.a=61
1876: ORDER BY t1.rowid DESC
1877: }
1878: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61}
1879: do_test boundary3-2.10.lt.1 {
1880: db eval {
1881: SELECT t2.a FROM t1 JOIN t2 USING(a)
1882: WHERE t1.rowid < 256 ORDER BY t2.a
1883: }
1884: } {1 2 4 5 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 63 64}
1885: do_test boundary3-2.10.lt.2 {
1886: db eval {
1887: SELECT t2.a FROM t2 NATURAL JOIN t1
1888: WHERE t1.rowid < 256 ORDER BY t1.a DESC
1889: }
1890: } {64 63 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 5 4 2 1}
1891: do_test boundary3-2.10.lt.3 {
1892: db eval {
1893: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1894: WHERE t2.a=61
1895: ORDER BY t1.rowid
1896: }
1897: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30}
1898: do_test boundary3-2.10.lt.4 {
1899: db eval {
1900: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1901: WHERE t2.a=61
1902: ORDER BY t1.rowid DESC
1903: }
1904: } {30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1905: do_test boundary3-2.10.lt.5 {
1906: db eval {
1907: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
1908: WHERE t2.a=61
1909: ORDER BY x
1910: }
1911: } {59 60 41 5 31 4 49 30 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
1912: do_test boundary3-2.10.lt.10 {
1913: db eval {
1914: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
1915: WHERE t2.a=61
1916: ORDER BY t1.rowid
1917: }
1918: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30}
1919: do_test boundary3-2.10.lt.11 {
1920: db eval {
1921: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
1922: WHERE t2.a=61
1923: ORDER BY t1.rowid DESC
1924: }
1925: } {30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1926: do_test boundary3-2.10.le.1 {
1927: db eval {
1928: SELECT t2.a FROM t1 JOIN t2 USING(a)
1929: WHERE t1.rowid <= 256 ORDER BY t2.a
1930: }
1931: } {1 2 4 5 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
1932: do_test boundary3-2.10.le.2 {
1933: db eval {
1934: SELECT t2.a FROM t2 NATURAL JOIN t1
1935: WHERE t1.rowid <= 256 ORDER BY t1.a DESC
1936: }
1937: } {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 5 4 2 1}
1938: do_test boundary3-2.10.le.3 {
1939: db eval {
1940: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1941: WHERE t2.a=61
1942: ORDER BY t1.rowid
1943: }
1944: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61}
1945: do_test boundary3-2.10.le.4 {
1946: db eval {
1947: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1948: WHERE t2.a=61
1949: ORDER BY t1.rowid DESC
1950: }
1951: } {61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1952: do_test boundary3-2.10.le.5 {
1953: db eval {
1954: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
1955: WHERE t2.a=61
1956: ORDER BY x
1957: }
1958: } {59 60 41 5 31 4 49 30 61 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
1959: do_test boundary3-2.10.le.10 {
1960: db eval {
1961: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
1962: WHERE t2.a=61
1963: ORDER BY t1.rowid
1964: }
1965: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61}
1966: do_test boundary3-2.10.le.11 {
1967: db eval {
1968: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
1969: WHERE t2.a=61
1970: ORDER BY t1.rowid DESC
1971: }
1972: } {61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
1973: do_test boundary3-2.11.1 {
1974: db eval {
1975: SELECT t1.* FROM t1, t2 WHERE t1.rowid=34359738368 AND t2.a=t1.a
1976: }
1977: } {22 0000000800000000}
1978: do_test boundary3-2.11.2 {
1979: db eval {
1980: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000800000000'
1981: }
1982: } {34359738368 22}
1983: do_test boundary3-2.11.3 {
1984: db eval {
1985: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=22
1986: }
1987: } {34359738368 0000000800000000}
1988: do_test boundary3-2.11.gt.1 {
1989: db eval {
1990: SELECT t2.a FROM t1 JOIN t2 USING(a)
1991: WHERE t1.rowid > 34359738368 ORDER BY t2.a
1992: }
1993: } {3 7 10 13 17 19 25 26 27 28 34 35 43 45 46 56 57}
1994: do_test boundary3-2.11.gt.2 {
1995: db eval {
1996: SELECT t2.a FROM t2 NATURAL JOIN t1
1997: WHERE t1.rowid > 34359738368 ORDER BY t1.a DESC
1998: }
1999: } {57 56 46 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
2000: do_test boundary3-2.11.gt.3 {
2001: db eval {
2002: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2003: WHERE t2.a=22
2004: ORDER BY t1.rowid
2005: }
2006: } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2007: do_test boundary3-2.11.gt.4 {
2008: db eval {
2009: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2010: WHERE t2.a=22
2011: ORDER BY t1.rowid DESC
2012: }
2013: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46}
2014: do_test boundary3-2.11.gt.5 {
2015: db eval {
2016: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2017: WHERE t2.a=22
2018: ORDER BY x
2019: }
2020: } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2021: do_test boundary3-2.11.gt.10 {
2022: db eval {
2023: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
2024: WHERE t2.a=22
2025: ORDER BY t1.rowid
2026: }
2027: } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2028: do_test boundary3-2.11.gt.11 {
2029: db eval {
2030: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
2031: WHERE t2.a=22
2032: ORDER BY t1.rowid DESC
2033: }
2034: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46}
2035: do_test boundary3-2.11.ge.1 {
2036: db eval {
2037: SELECT t2.a FROM t1 JOIN t2 USING(a)
2038: WHERE t1.rowid >= 34359738368 ORDER BY t2.a
2039: }
2040: } {3 7 10 13 17 19 22 25 26 27 28 34 35 43 45 46 56 57}
2041: do_test boundary3-2.11.ge.2 {
2042: db eval {
2043: SELECT t2.a FROM t2 NATURAL JOIN t1
2044: WHERE t1.rowid >= 34359738368 ORDER BY t1.a DESC
2045: }
2046: } {57 56 46 45 43 35 34 28 27 26 25 22 19 17 13 10 7 3}
2047: do_test boundary3-2.11.ge.3 {
2048: db eval {
2049: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2050: WHERE t2.a=22
2051: ORDER BY t1.rowid
2052: }
2053: } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2054: do_test boundary3-2.11.ge.4 {
2055: db eval {
2056: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2057: WHERE t2.a=22
2058: ORDER BY t1.rowid DESC
2059: }
2060: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22}
2061: do_test boundary3-2.11.ge.5 {
2062: db eval {
2063: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2064: WHERE t2.a=22
2065: ORDER BY x
2066: }
2067: } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2068: do_test boundary3-2.11.ge.10 {
2069: db eval {
2070: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
2071: WHERE t2.a=22
2072: ORDER BY t1.rowid
2073: }
2074: } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2075: do_test boundary3-2.11.ge.11 {
2076: db eval {
2077: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
2078: WHERE t2.a=22
2079: ORDER BY t1.rowid DESC
2080: }
2081: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22}
2082: do_test boundary3-2.11.lt.1 {
2083: db eval {
2084: SELECT t2.a FROM t1 JOIN t2 USING(a)
2085: WHERE t1.rowid < 34359738368 ORDER BY t2.a
2086: }
2087: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
2088: do_test boundary3-2.11.lt.2 {
2089: db eval {
2090: SELECT t2.a FROM t2 NATURAL JOIN t1
2091: WHERE t1.rowid < 34359738368 ORDER BY t1.a DESC
2092: }
2093: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
2094: do_test boundary3-2.11.lt.3 {
2095: db eval {
2096: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2097: WHERE t2.a=22
2098: ORDER BY t1.rowid
2099: }
2100: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39}
2101: do_test boundary3-2.11.lt.4 {
2102: db eval {
2103: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2104: WHERE t2.a=22
2105: ORDER BY t1.rowid DESC
2106: }
2107: } {39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2108: do_test boundary3-2.11.lt.5 {
2109: db eval {
2110: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2111: WHERE t2.a=22
2112: ORDER BY x
2113: }
2114: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
2115: do_test boundary3-2.11.lt.10 {
2116: db eval {
2117: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
2118: WHERE t2.a=22
2119: ORDER BY t1.rowid
2120: }
2121: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39}
2122: do_test boundary3-2.11.lt.11 {
2123: db eval {
2124: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
2125: WHERE t2.a=22
2126: ORDER BY t1.rowid DESC
2127: }
2128: } {39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2129: do_test boundary3-2.11.le.1 {
2130: db eval {
2131: SELECT t2.a FROM t1 JOIN t2 USING(a)
2132: WHERE t1.rowid <= 34359738368 ORDER BY t2.a
2133: }
2134: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
2135: do_test boundary3-2.11.le.2 {
2136: db eval {
2137: SELECT t2.a FROM t2 NATURAL JOIN t1
2138: WHERE t1.rowid <= 34359738368 ORDER BY t1.a DESC
2139: }
2140: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
2141: do_test boundary3-2.11.le.3 {
2142: db eval {
2143: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2144: WHERE t2.a=22
2145: ORDER BY t1.rowid
2146: }
2147: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22}
2148: do_test boundary3-2.11.le.4 {
2149: db eval {
2150: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2151: WHERE t2.a=22
2152: ORDER BY t1.rowid DESC
2153: }
2154: } {22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2155: do_test boundary3-2.11.le.5 {
2156: db eval {
2157: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2158: WHERE t2.a=22
2159: ORDER BY x
2160: }
2161: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
2162: do_test boundary3-2.11.le.10 {
2163: db eval {
2164: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
2165: WHERE t2.a=22
2166: ORDER BY t1.rowid
2167: }
2168: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22}
2169: do_test boundary3-2.11.le.11 {
2170: db eval {
2171: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
2172: WHERE t2.a=22
2173: ORDER BY t1.rowid DESC
2174: }
2175: } {22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2176: do_test boundary3-2.12.1 {
2177: db eval {
2178: SELECT t1.* FROM t1, t2 WHERE t1.rowid=65536 AND t2.a=t1.a
2179: }
2180: } {62 0000000000010000}
2181: do_test boundary3-2.12.2 {
2182: db eval {
2183: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000010000'
2184: }
2185: } {65536 62}
2186: do_test boundary3-2.12.3 {
2187: db eval {
2188: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=62
2189: }
2190: } {65536 0000000000010000}
2191: do_test boundary3-2.12.gt.1 {
2192: db eval {
2193: SELECT t2.a FROM t1 JOIN t2 USING(a)
2194: WHERE t1.rowid > 65536 ORDER BY t2.a
2195: }
2196: } {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57}
2197: do_test boundary3-2.12.gt.2 {
2198: db eval {
2199: SELECT t2.a FROM t2 NATURAL JOIN t1
2200: WHERE t1.rowid > 65536 ORDER BY t1.a DESC
2201: }
2202: } {57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
2203: do_test boundary3-2.12.gt.3 {
2204: db eval {
2205: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2206: WHERE t2.a=62
2207: ORDER BY t1.rowid
2208: }
2209: } {15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2210: do_test boundary3-2.12.gt.4 {
2211: db eval {
2212: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2213: WHERE t2.a=62
2214: ORDER BY t1.rowid DESC
2215: }
2216: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15}
2217: do_test boundary3-2.12.gt.5 {
2218: db eval {
2219: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2220: WHERE t2.a=62
2221: ORDER BY x
2222: }
2223: } {15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2224: do_test boundary3-2.12.gt.10 {
2225: db eval {
2226: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
2227: WHERE t2.a=62
2228: ORDER BY t1.rowid
2229: }
2230: } {15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2231: do_test boundary3-2.12.gt.11 {
2232: db eval {
2233: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
2234: WHERE t2.a=62
2235: ORDER BY t1.rowid DESC
2236: }
2237: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15}
2238: do_test boundary3-2.12.ge.1 {
2239: db eval {
2240: SELECT t2.a FROM t1 JOIN t2 USING(a)
2241: WHERE t1.rowid >= 65536 ORDER BY t2.a
2242: }
2243: } {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57 62}
2244: do_test boundary3-2.12.ge.2 {
2245: db eval {
2246: SELECT t2.a FROM t2 NATURAL JOIN t1
2247: WHERE t1.rowid >= 65536 ORDER BY t1.a DESC
2248: }
2249: } {62 57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
2250: do_test boundary3-2.12.ge.3 {
2251: db eval {
2252: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2253: WHERE t2.a=62
2254: ORDER BY t1.rowid
2255: }
2256: } {62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2257: do_test boundary3-2.12.ge.4 {
2258: db eval {
2259: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2260: WHERE t2.a=62
2261: ORDER BY t1.rowid DESC
2262: }
2263: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62}
2264: do_test boundary3-2.12.ge.5 {
2265: db eval {
2266: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2267: WHERE t2.a=62
2268: ORDER BY x
2269: }
2270: } {62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2271: do_test boundary3-2.12.ge.10 {
2272: db eval {
2273: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
2274: WHERE t2.a=62
2275: ORDER BY t1.rowid
2276: }
2277: } {62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2278: do_test boundary3-2.12.ge.11 {
2279: db eval {
2280: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
2281: WHERE t2.a=62
2282: ORDER BY t1.rowid DESC
2283: }
2284: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62}
2285: do_test boundary3-2.12.lt.1 {
2286: db eval {
2287: SELECT t2.a FROM t1 JOIN t2 USING(a)
2288: WHERE t1.rowid < 65536 ORDER BY t2.a
2289: }
2290: } {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 63 64}
2291: do_test boundary3-2.12.lt.2 {
2292: db eval {
2293: SELECT t2.a FROM t2 NATURAL JOIN t1
2294: WHERE t1.rowid < 65536 ORDER BY t1.a DESC
2295: }
2296: } {64 63 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
2297: do_test boundary3-2.12.lt.3 {
2298: db eval {
2299: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2300: WHERE t2.a=62
2301: ORDER BY t1.rowid
2302: }
2303: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48}
2304: do_test boundary3-2.12.lt.4 {
2305: db eval {
2306: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2307: WHERE t2.a=62
2308: ORDER BY t1.rowid DESC
2309: }
2310: } {48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2311: do_test boundary3-2.12.lt.5 {
2312: db eval {
2313: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2314: WHERE t2.a=62
2315: ORDER BY x
2316: }
2317: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
2318: do_test boundary3-2.12.lt.10 {
2319: db eval {
2320: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
2321: WHERE t2.a=62
2322: ORDER BY t1.rowid
2323: }
2324: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48}
2325: do_test boundary3-2.12.lt.11 {
2326: db eval {
2327: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
2328: WHERE t2.a=62
2329: ORDER BY t1.rowid DESC
2330: }
2331: } {48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2332: do_test boundary3-2.12.le.1 {
2333: db eval {
2334: SELECT t2.a FROM t1 JOIN t2 USING(a)
2335: WHERE t1.rowid <= 65536 ORDER BY t2.a
2336: }
2337: } {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
2338: do_test boundary3-2.12.le.2 {
2339: db eval {
2340: SELECT t2.a FROM t2 NATURAL JOIN t1
2341: WHERE t1.rowid <= 65536 ORDER BY t1.a DESC
2342: }
2343: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
2344: do_test boundary3-2.12.le.3 {
2345: db eval {
2346: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2347: WHERE t2.a=62
2348: ORDER BY t1.rowid
2349: }
2350: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62}
2351: do_test boundary3-2.12.le.4 {
2352: db eval {
2353: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2354: WHERE t2.a=62
2355: ORDER BY t1.rowid DESC
2356: }
2357: } {62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2358: do_test boundary3-2.12.le.5 {
2359: db eval {
2360: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2361: WHERE t2.a=62
2362: ORDER BY x
2363: }
2364: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
2365: do_test boundary3-2.12.le.10 {
2366: db eval {
2367: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
2368: WHERE t2.a=62
2369: ORDER BY t1.rowid
2370: }
2371: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62}
2372: do_test boundary3-2.12.le.11 {
2373: db eval {
2374: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
2375: WHERE t2.a=62
2376: ORDER BY t1.rowid DESC
2377: }
2378: } {62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2379: do_test boundary3-2.13.1 {
2380: db eval {
2381: SELECT t1.* FROM t1, t2 WHERE t1.rowid=268435456 AND t2.a=t1.a
2382: }
2383: } {40 0000000010000000}
2384: do_test boundary3-2.13.2 {
2385: db eval {
2386: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000010000000'
2387: }
2388: } {268435456 40}
2389: do_test boundary3-2.13.3 {
2390: db eval {
2391: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=40
2392: }
2393: } {268435456 0000000010000000}
2394: do_test boundary3-2.13.gt.1 {
2395: db eval {
2396: SELECT t2.a FROM t1 JOIN t2 USING(a)
2397: WHERE t1.rowid > 268435456 ORDER BY t2.a
2398: }
2399: } {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
2400: do_test boundary3-2.13.gt.2 {
2401: db eval {
2402: SELECT t2.a FROM t2 NATURAL JOIN t1
2403: WHERE t1.rowid > 268435456 ORDER BY t1.a DESC
2404: }
2405: } {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
2406: do_test boundary3-2.13.gt.3 {
2407: db eval {
2408: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2409: WHERE t2.a=40
2410: ORDER BY t1.rowid
2411: }
2412: } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2413: do_test boundary3-2.13.gt.4 {
2414: db eval {
2415: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2416: WHERE t2.a=40
2417: ORDER BY t1.rowid DESC
2418: }
2419: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20}
2420: do_test boundary3-2.13.gt.5 {
2421: db eval {
2422: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2423: WHERE t2.a=40
2424: ORDER BY x
2425: }
2426: } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2427: do_test boundary3-2.13.gt.10 {
2428: db eval {
2429: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
2430: WHERE t2.a=40
2431: ORDER BY t1.rowid
2432: }
2433: } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2434: do_test boundary3-2.13.gt.11 {
2435: db eval {
2436: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
2437: WHERE t2.a=40
2438: ORDER BY t1.rowid DESC
2439: }
2440: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20}
2441: do_test boundary3-2.13.ge.1 {
2442: db eval {
2443: SELECT t2.a FROM t1 JOIN t2 USING(a)
2444: WHERE t1.rowid >= 268435456 ORDER BY t2.a
2445: }
2446: } {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
2447: do_test boundary3-2.13.ge.2 {
2448: db eval {
2449: SELECT t2.a FROM t2 NATURAL JOIN t1
2450: WHERE t1.rowid >= 268435456 ORDER BY t1.a DESC
2451: }
2452: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
2453: do_test boundary3-2.13.ge.3 {
2454: db eval {
2455: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2456: WHERE t2.a=40
2457: ORDER BY t1.rowid
2458: }
2459: } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2460: do_test boundary3-2.13.ge.4 {
2461: db eval {
2462: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2463: WHERE t2.a=40
2464: ORDER BY t1.rowid DESC
2465: }
2466: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40}
2467: do_test boundary3-2.13.ge.5 {
2468: db eval {
2469: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2470: WHERE t2.a=40
2471: ORDER BY x
2472: }
2473: } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2474: do_test boundary3-2.13.ge.10 {
2475: db eval {
2476: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
2477: WHERE t2.a=40
2478: ORDER BY t1.rowid
2479: }
2480: } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2481: do_test boundary3-2.13.ge.11 {
2482: db eval {
2483: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
2484: WHERE t2.a=40
2485: ORDER BY t1.rowid DESC
2486: }
2487: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40}
2488: do_test boundary3-2.13.lt.1 {
2489: db eval {
2490: SELECT t2.a FROM t1 JOIN t2 USING(a)
2491: WHERE t1.rowid < 268435456 ORDER BY t2.a
2492: }
2493: } {1 2 4 5 6 8 9 11 12 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
2494: do_test boundary3-2.13.lt.2 {
2495: db eval {
2496: SELECT t2.a FROM t2 NATURAL JOIN t1
2497: WHERE t1.rowid < 268435456 ORDER BY t1.a DESC
2498: }
2499: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 12 11 9 8 6 5 4 2 1}
2500: do_test boundary3-2.13.lt.3 {
2501: db eval {
2502: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2503: WHERE t2.a=40
2504: ORDER BY t1.rowid
2505: }
2506: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12}
2507: do_test boundary3-2.13.lt.4 {
2508: db eval {
2509: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2510: WHERE t2.a=40
2511: ORDER BY t1.rowid DESC
2512: }
2513: } {12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2514: do_test boundary3-2.13.lt.5 {
2515: db eval {
2516: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2517: WHERE t2.a=40
2518: ORDER BY x
2519: }
2520: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
2521: do_test boundary3-2.13.lt.10 {
2522: db eval {
2523: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
2524: WHERE t2.a=40
2525: ORDER BY t1.rowid
2526: }
2527: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12}
2528: do_test boundary3-2.13.lt.11 {
2529: db eval {
2530: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
2531: WHERE t2.a=40
2532: ORDER BY t1.rowid DESC
2533: }
2534: } {12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2535: do_test boundary3-2.13.le.1 {
2536: db eval {
2537: SELECT t2.a FROM t1 JOIN t2 USING(a)
2538: WHERE t1.rowid <= 268435456 ORDER BY t2.a
2539: }
2540: } {1 2 4 5 6 8 9 11 12 15 16 18 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
2541: do_test boundary3-2.13.le.2 {
2542: db eval {
2543: SELECT t2.a FROM t2 NATURAL JOIN t1
2544: WHERE t1.rowid <= 268435456 ORDER BY t1.a DESC
2545: }
2546: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 18 16 15 12 11 9 8 6 5 4 2 1}
2547: do_test boundary3-2.13.le.3 {
2548: db eval {
2549: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2550: WHERE t2.a=40
2551: ORDER BY t1.rowid
2552: }
2553: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40}
2554: do_test boundary3-2.13.le.4 {
2555: db eval {
2556: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2557: WHERE t2.a=40
2558: ORDER BY t1.rowid DESC
2559: }
2560: } {40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2561: do_test boundary3-2.13.le.5 {
2562: db eval {
2563: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2564: WHERE t2.a=40
2565: ORDER BY x
2566: }
2567: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
2568: do_test boundary3-2.13.le.10 {
2569: db eval {
2570: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
2571: WHERE t2.a=40
2572: ORDER BY t1.rowid
2573: }
2574: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40}
2575: do_test boundary3-2.13.le.11 {
2576: db eval {
2577: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
2578: WHERE t2.a=40
2579: ORDER BY t1.rowid DESC
2580: }
2581: } {40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2582: do_test boundary3-2.14.1 {
2583: db eval {
2584: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-140737488355328 AND t2.a=t1.a
2585: }
2586: } {44 ffff800000000000}
2587: do_test boundary3-2.14.2 {
2588: db eval {
2589: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffff800000000000'
2590: }
2591: } {-140737488355328 44}
2592: do_test boundary3-2.14.3 {
2593: db eval {
2594: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=44
2595: }
2596: } {-140737488355328 ffff800000000000}
2597: do_test boundary3-2.14.gt.1 {
2598: db eval {
2599: SELECT t2.a FROM t1 JOIN t2 USING(a)
2600: WHERE t1.rowid > -140737488355328 ORDER BY t2.a
2601: }
2602: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
2603: do_test boundary3-2.14.gt.2 {
2604: db eval {
2605: SELECT t2.a FROM t2 NATURAL JOIN t1
2606: WHERE t1.rowid > -140737488355328 ORDER BY t1.a DESC
2607: }
2608: } {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
2609: do_test boundary3-2.14.gt.3 {
2610: db eval {
2611: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2612: WHERE t2.a=44
2613: ORDER BY t1.rowid
2614: }
2615: } {58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2616: do_test boundary3-2.14.gt.4 {
2617: db eval {
2618: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2619: WHERE t2.a=44
2620: ORDER BY t1.rowid DESC
2621: }
2622: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58}
2623: do_test boundary3-2.14.gt.5 {
2624: db eval {
2625: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2626: WHERE t2.a=44
2627: ORDER BY x
2628: }
2629: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 58 63 47 11 1 37 29 32 54 53 52 33 38}
2630: do_test boundary3-2.14.ge.1 {
2631: db eval {
2632: SELECT t2.a FROM t1 JOIN t2 USING(a)
2633: WHERE t1.rowid >= -140737488355328 ORDER BY t2.a
2634: }
2635: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
2636: do_test boundary3-2.14.ge.2 {
2637: db eval {
2638: SELECT t2.a FROM t2 NATURAL JOIN t1
2639: WHERE t1.rowid >= -140737488355328 ORDER BY t1.a DESC
2640: }
2641: } {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
2642: do_test boundary3-2.14.ge.3 {
2643: db eval {
2644: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2645: WHERE t2.a=44
2646: ORDER BY t1.rowid
2647: }
2648: } {44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2649: do_test boundary3-2.14.ge.4 {
2650: db eval {
2651: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2652: WHERE t2.a=44
2653: ORDER BY t1.rowid DESC
2654: }
2655: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44}
2656: do_test boundary3-2.14.ge.5 {
2657: db eval {
2658: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2659: WHERE t2.a=44
2660: ORDER BY x
2661: }
2662: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
2663: do_test boundary3-2.14.lt.1 {
2664: db eval {
2665: SELECT t2.a FROM t1 JOIN t2 USING(a)
2666: WHERE t1.rowid < -140737488355328 ORDER BY t2.a
2667: }
2668: } {2 21 55 64}
2669: do_test boundary3-2.14.lt.2 {
2670: db eval {
2671: SELECT t2.a FROM t2 NATURAL JOIN t1
2672: WHERE t1.rowid < -140737488355328 ORDER BY t1.a DESC
2673: }
2674: } {64 55 21 2}
2675: do_test boundary3-2.14.lt.3 {
2676: db eval {
2677: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2678: WHERE t2.a=44
2679: ORDER BY t1.rowid
2680: }
2681: } {55 2 64 21}
2682: do_test boundary3-2.14.lt.4 {
2683: db eval {
2684: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2685: WHERE t2.a=44
2686: ORDER BY t1.rowid DESC
2687: }
2688: } {21 64 2 55}
2689: do_test boundary3-2.14.lt.5 {
2690: db eval {
2691: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2692: WHERE t2.a=44
2693: ORDER BY x
2694: }
2695: } {55 2 64 21}
2696: do_test boundary3-2.14.le.1 {
2697: db eval {
2698: SELECT t2.a FROM t1 JOIN t2 USING(a)
2699: WHERE t1.rowid <= -140737488355328 ORDER BY t2.a
2700: }
2701: } {2 21 44 55 64}
2702: do_test boundary3-2.14.le.2 {
2703: db eval {
2704: SELECT t2.a FROM t2 NATURAL JOIN t1
2705: WHERE t1.rowid <= -140737488355328 ORDER BY t1.a DESC
2706: }
2707: } {64 55 44 21 2}
2708: do_test boundary3-2.14.le.3 {
2709: db eval {
2710: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2711: WHERE t2.a=44
2712: ORDER BY t1.rowid
2713: }
2714: } {55 2 64 21 44}
2715: do_test boundary3-2.14.le.4 {
2716: db eval {
2717: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2718: WHERE t2.a=44
2719: ORDER BY t1.rowid DESC
2720: }
2721: } {44 21 64 2 55}
2722: do_test boundary3-2.14.le.5 {
2723: db eval {
2724: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2725: WHERE t2.a=44
2726: ORDER BY x
2727: }
2728: } {55 2 64 21 44}
2729: do_test boundary3-2.15.1 {
2730: db eval {
2731: SELECT t1.* FROM t1, t2 WHERE t1.rowid=1099511627776 AND t2.a=t1.a
2732: }
2733: } {19 0000010000000000}
2734: do_test boundary3-2.15.2 {
2735: db eval {
2736: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000010000000000'
2737: }
2738: } {1099511627776 19}
2739: do_test boundary3-2.15.3 {
2740: db eval {
2741: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=19
2742: }
2743: } {1099511627776 0000010000000000}
2744: do_test boundary3-2.15.gt.1 {
2745: db eval {
2746: SELECT t2.a FROM t1 JOIN t2 USING(a)
2747: WHERE t1.rowid > 1099511627776 ORDER BY t2.a
2748: }
2749: } {3 7 10 13 17 25 26 27 28 34 43 45 56}
2750: do_test boundary3-2.15.gt.2 {
2751: db eval {
2752: SELECT t2.a FROM t2 NATURAL JOIN t1
2753: WHERE t1.rowid > 1099511627776 ORDER BY t1.a DESC
2754: }
2755: } {56 45 43 34 28 27 26 25 17 13 10 7 3}
2756: do_test boundary3-2.15.gt.3 {
2757: db eval {
2758: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2759: WHERE t2.a=19
2760: ORDER BY t1.rowid
2761: }
2762: } {7 56 25 34 10 26 13 43 27 45 17 28 3}
2763: do_test boundary3-2.15.gt.4 {
2764: db eval {
2765: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2766: WHERE t2.a=19
2767: ORDER BY t1.rowid DESC
2768: }
2769: } {3 28 17 45 27 43 13 26 10 34 25 56 7}
2770: do_test boundary3-2.15.gt.5 {
2771: db eval {
2772: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2773: WHERE t2.a=19
2774: ORDER BY x
2775: }
2776: } {7 56 25 34 10 26 13 43 27 45 17 28 3}
2777: do_test boundary3-2.15.gt.10 {
2778: db eval {
2779: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
2780: WHERE t2.a=19
2781: ORDER BY t1.rowid
2782: }
2783: } {7 56 25 34 10 26 13 43 27 45 17 28 3}
2784: do_test boundary3-2.15.gt.11 {
2785: db eval {
2786: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
2787: WHERE t2.a=19
2788: ORDER BY t1.rowid DESC
2789: }
2790: } {3 28 17 45 27 43 13 26 10 34 25 56 7}
2791: do_test boundary3-2.15.ge.1 {
2792: db eval {
2793: SELECT t2.a FROM t1 JOIN t2 USING(a)
2794: WHERE t1.rowid >= 1099511627776 ORDER BY t2.a
2795: }
2796: } {3 7 10 13 17 19 25 26 27 28 34 43 45 56}
2797: do_test boundary3-2.15.ge.2 {
2798: db eval {
2799: SELECT t2.a FROM t2 NATURAL JOIN t1
2800: WHERE t1.rowid >= 1099511627776 ORDER BY t1.a DESC
2801: }
2802: } {56 45 43 34 28 27 26 25 19 17 13 10 7 3}
2803: do_test boundary3-2.15.ge.3 {
2804: db eval {
2805: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2806: WHERE t2.a=19
2807: ORDER BY t1.rowid
2808: }
2809: } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2810: do_test boundary3-2.15.ge.4 {
2811: db eval {
2812: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2813: WHERE t2.a=19
2814: ORDER BY t1.rowid DESC
2815: }
2816: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19}
2817: do_test boundary3-2.15.ge.5 {
2818: db eval {
2819: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2820: WHERE t2.a=19
2821: ORDER BY x
2822: }
2823: } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2824: do_test boundary3-2.15.ge.10 {
2825: db eval {
2826: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
2827: WHERE t2.a=19
2828: ORDER BY t1.rowid
2829: }
2830: } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
2831: do_test boundary3-2.15.ge.11 {
2832: db eval {
2833: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
2834: WHERE t2.a=19
2835: ORDER BY t1.rowid DESC
2836: }
2837: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19}
2838: do_test boundary3-2.15.lt.1 {
2839: db eval {
2840: SELECT t2.a FROM t1 JOIN t2 USING(a)
2841: WHERE t1.rowid < 1099511627776 ORDER BY t2.a
2842: }
2843: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
2844: do_test boundary3-2.15.lt.2 {
2845: db eval {
2846: SELECT t2.a FROM t2 NATURAL JOIN t1
2847: WHERE t1.rowid < 1099511627776 ORDER BY t1.a DESC
2848: }
2849: } {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
2850: do_test boundary3-2.15.lt.3 {
2851: db eval {
2852: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2853: WHERE t2.a=19
2854: ORDER BY t1.rowid
2855: }
2856: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57}
2857: do_test boundary3-2.15.lt.4 {
2858: db eval {
2859: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2860: WHERE t2.a=19
2861: ORDER BY t1.rowid DESC
2862: }
2863: } {57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2864: do_test boundary3-2.15.lt.5 {
2865: db eval {
2866: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
2867: WHERE t2.a=19
2868: ORDER BY x
2869: }
2870: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
2871: do_test boundary3-2.15.lt.10 {
2872: db eval {
2873: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
2874: WHERE t2.a=19
2875: ORDER BY t1.rowid
2876: }
2877: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57}
2878: do_test boundary3-2.15.lt.11 {
2879: db eval {
2880: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
2881: WHERE t2.a=19
2882: ORDER BY t1.rowid DESC
2883: }
2884: } {57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2885: do_test boundary3-2.15.le.1 {
2886: db eval {
2887: SELECT t2.a FROM t1 JOIN t2 USING(a)
2888: WHERE t1.rowid <= 1099511627776 ORDER BY t2.a
2889: }
2890: } {1 2 4 5 6 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
2891: do_test boundary3-2.15.le.2 {
2892: db eval {
2893: SELECT t2.a FROM t2 NATURAL JOIN t1
2894: WHERE t1.rowid <= 1099511627776 ORDER BY t1.a DESC
2895: }
2896: } {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 6 5 4 2 1}
2897: do_test boundary3-2.15.le.3 {
2898: db eval {
2899: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2900: WHERE t2.a=19
2901: ORDER BY t1.rowid
2902: }
2903: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19}
2904: do_test boundary3-2.15.le.4 {
2905: db eval {
2906: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2907: WHERE t2.a=19
2908: ORDER BY t1.rowid DESC
2909: }
2910: } {19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2911: do_test boundary3-2.15.le.5 {
2912: db eval {
2913: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
2914: WHERE t2.a=19
2915: ORDER BY x
2916: }
2917: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
2918: do_test boundary3-2.15.le.10 {
2919: db eval {
2920: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
2921: WHERE t2.a=19
2922: ORDER BY t1.rowid
2923: }
2924: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19}
2925: do_test boundary3-2.15.le.11 {
2926: db eval {
2927: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
2928: WHERE t2.a=19
2929: ORDER BY t1.rowid DESC
2930: }
2931: } {19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
2932: do_test boundary3-2.16.gt.1 {
2933: db eval {
2934: SELECT t2.a FROM t1 JOIN t2 USING(a)
2935: WHERE t1.rowid > 9223372036854775807 ORDER BY t2.a
2936: }
2937: } {}
2938: do_test boundary3-2.16.gt.2 {
2939: db eval {
2940: SELECT t2.a FROM t2 NATURAL JOIN t1
2941: WHERE t1.rowid > 9223372036854775807 ORDER BY t1.a DESC
2942: }
2943: } {}
2944: do_test boundary3-2.16.gt.3 {
2945: db eval {
2946: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2947: WHERE t2.a=3
2948: ORDER BY t1.rowid
2949: }
2950: } {}
2951: do_test boundary3-2.16.gt.4 {
2952: db eval {
2953: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2954: WHERE t2.a=3
2955: ORDER BY t1.rowid DESC
2956: }
2957: } {}
2958: do_test boundary3-2.16.gt.5 {
2959: db eval {
2960: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
2961: WHERE t2.a=3
2962: ORDER BY x
2963: }
2964: } {}
2965: do_test boundary3-2.16.ge.1 {
2966: db eval {
2967: SELECT t2.a FROM t1 JOIN t2 USING(a)
2968: WHERE t1.rowid >= 9223372036854775807 ORDER BY t2.a
2969: }
2970: } {3}
2971: do_test boundary3-2.16.ge.2 {
2972: db eval {
2973: SELECT t2.a FROM t2 NATURAL JOIN t1
2974: WHERE t1.rowid >= 9223372036854775807 ORDER BY t1.a DESC
2975: }
2976: } {3}
2977: do_test boundary3-2.16.ge.3 {
2978: db eval {
2979: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2980: WHERE t2.a=3
2981: ORDER BY t1.rowid
2982: }
2983: } {3}
2984: do_test boundary3-2.16.ge.4 {
2985: db eval {
2986: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2987: WHERE t2.a=3
2988: ORDER BY t1.rowid DESC
2989: }
2990: } {3}
2991: do_test boundary3-2.16.ge.5 {
2992: db eval {
2993: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
2994: WHERE t2.a=3
2995: ORDER BY x
2996: }
2997: } {3}
2998: do_test boundary3-2.16.lt.1 {
2999: db eval {
3000: SELECT t2.a FROM t1 JOIN t2 USING(a)
3001: WHERE t1.rowid < 9223372036854775807 ORDER BY t2.a
3002: }
3003: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
3004: do_test boundary3-2.16.lt.2 {
3005: db eval {
3006: SELECT t2.a FROM t2 NATURAL JOIN t1
3007: WHERE t1.rowid < 9223372036854775807 ORDER BY t1.a DESC
3008: }
3009: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
3010: do_test boundary3-2.16.lt.3 {
3011: db eval {
3012: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3013: WHERE t2.a=3
3014: ORDER BY t1.rowid
3015: }
3016: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28}
3017: do_test boundary3-2.16.lt.4 {
3018: db eval {
3019: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3020: WHERE t2.a=3
3021: ORDER BY t1.rowid DESC
3022: }
3023: } {28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3024: do_test boundary3-2.16.lt.5 {
3025: db eval {
3026: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3027: WHERE t2.a=3
3028: ORDER BY x
3029: }
3030: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
3031: do_test boundary3-2.16.le.1 {
3032: db eval {
3033: SELECT t2.a FROM t1 JOIN t2 USING(a)
3034: WHERE t1.rowid <= 9223372036854775807 ORDER BY t2.a
3035: }
3036: } {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
3037: do_test boundary3-2.16.le.2 {
3038: db eval {
3039: SELECT t2.a FROM t2 NATURAL JOIN t1
3040: WHERE t1.rowid <= 9223372036854775807 ORDER BY t1.a DESC
3041: }
3042: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
3043: do_test boundary3-2.16.le.3 {
3044: db eval {
3045: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3046: WHERE t2.a=3
3047: ORDER BY t1.rowid
3048: }
3049: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3050: do_test boundary3-2.16.le.4 {
3051: db eval {
3052: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3053: WHERE t2.a=3
3054: ORDER BY t1.rowid DESC
3055: }
3056: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3057: do_test boundary3-2.16.le.5 {
3058: db eval {
3059: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3060: WHERE t2.a=3
3061: ORDER BY x
3062: }
3063: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
3064: do_test boundary3-2.17.1 {
3065: db eval {
3066: SELECT t1.* FROM t1, t2 WHERE t1.rowid=32768 AND t2.a=t1.a
3067: }
3068: } {50 0000000000008000}
3069: do_test boundary3-2.17.2 {
3070: db eval {
3071: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000008000'
3072: }
3073: } {32768 50}
3074: do_test boundary3-2.17.3 {
3075: db eval {
3076: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=50
3077: }
3078: } {32768 0000000000008000}
3079: do_test boundary3-2.17.gt.1 {
3080: db eval {
3081: SELECT t2.a FROM t1 JOIN t2 USING(a)
3082: WHERE t1.rowid > 32768 ORDER BY t2.a
3083: }
3084: } {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 51 56 57 62}
3085: do_test boundary3-2.17.gt.2 {
3086: db eval {
3087: SELECT t2.a FROM t2 NATURAL JOIN t1
3088: WHERE t1.rowid > 32768 ORDER BY t1.a DESC
3089: }
3090: } {62 57 56 51 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
3091: do_test boundary3-2.17.gt.3 {
3092: db eval {
3093: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3094: WHERE t2.a=50
3095: ORDER BY t1.rowid
3096: }
3097: } {48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3098: do_test boundary3-2.17.gt.4 {
3099: db eval {
3100: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3101: WHERE t2.a=50
3102: ORDER BY t1.rowid DESC
3103: }
3104: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48}
3105: do_test boundary3-2.17.gt.5 {
3106: db eval {
3107: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3108: WHERE t2.a=50
3109: ORDER BY x
3110: }
3111: } {48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3112: do_test boundary3-2.17.gt.10 {
3113: db eval {
3114: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
3115: WHERE t2.a=50
3116: ORDER BY t1.rowid
3117: }
3118: } {48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3119: do_test boundary3-2.17.gt.11 {
3120: db eval {
3121: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
3122: WHERE t2.a=50
3123: ORDER BY t1.rowid DESC
3124: }
3125: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48}
3126: do_test boundary3-2.17.ge.1 {
3127: db eval {
3128: SELECT t2.a FROM t1 JOIN t2 USING(a)
3129: WHERE t1.rowid >= 32768 ORDER BY t2.a
3130: }
3131: } {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
3132: do_test boundary3-2.17.ge.2 {
3133: db eval {
3134: SELECT t2.a FROM t2 NATURAL JOIN t1
3135: WHERE t1.rowid >= 32768 ORDER BY t1.a DESC
3136: }
3137: } {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
3138: do_test boundary3-2.17.ge.3 {
3139: db eval {
3140: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3141: WHERE t2.a=50
3142: ORDER BY t1.rowid
3143: }
3144: } {50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3145: do_test boundary3-2.17.ge.4 {
3146: db eval {
3147: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3148: WHERE t2.a=50
3149: ORDER BY t1.rowid DESC
3150: }
3151: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50}
3152: do_test boundary3-2.17.ge.5 {
3153: db eval {
3154: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3155: WHERE t2.a=50
3156: ORDER BY x
3157: }
3158: } {50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3159: do_test boundary3-2.17.ge.10 {
3160: db eval {
3161: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
3162: WHERE t2.a=50
3163: ORDER BY t1.rowid
3164: }
3165: } {50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3166: do_test boundary3-2.17.ge.11 {
3167: db eval {
3168: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
3169: WHERE t2.a=50
3170: ORDER BY t1.rowid DESC
3171: }
3172: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50}
3173: do_test boundary3-2.17.lt.1 {
3174: db eval {
3175: SELECT t2.a FROM t1 JOIN t2 USING(a)
3176: WHERE t1.rowid < 32768 ORDER BY t2.a
3177: }
3178: } {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
3179: do_test boundary3-2.17.lt.2 {
3180: db eval {
3181: SELECT t2.a FROM t2 NATURAL JOIN t1
3182: WHERE t1.rowid < 32768 ORDER BY t1.a DESC
3183: }
3184: } {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
3185: do_test boundary3-2.17.lt.3 {
3186: db eval {
3187: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3188: WHERE t2.a=50
3189: ORDER BY t1.rowid
3190: }
3191: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23}
3192: do_test boundary3-2.17.lt.4 {
3193: db eval {
3194: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3195: WHERE t2.a=50
3196: ORDER BY t1.rowid DESC
3197: }
3198: } {23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3199: do_test boundary3-2.17.lt.5 {
3200: db eval {
3201: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3202: WHERE t2.a=50
3203: ORDER BY x
3204: }
3205: } {59 60 41 5 31 4 49 30 61 8 16 23 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
3206: do_test boundary3-2.17.lt.10 {
3207: db eval {
3208: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
3209: WHERE t2.a=50
3210: ORDER BY t1.rowid
3211: }
3212: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23}
3213: do_test boundary3-2.17.lt.11 {
3214: db eval {
3215: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
3216: WHERE t2.a=50
3217: ORDER BY t1.rowid DESC
3218: }
3219: } {23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3220: do_test boundary3-2.17.le.1 {
3221: db eval {
3222: SELECT t2.a FROM t1 JOIN t2 USING(a)
3223: WHERE t1.rowid <= 32768 ORDER BY t2.a
3224: }
3225: } {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 49 50 52 53 54 55 58 59 60 61 63 64}
3226: do_test boundary3-2.17.le.2 {
3227: db eval {
3228: SELECT t2.a FROM t2 NATURAL JOIN t1
3229: WHERE t1.rowid <= 32768 ORDER BY t1.a DESC
3230: }
3231: } {64 63 61 60 59 58 55 54 53 52 50 49 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
3232: do_test boundary3-2.17.le.3 {
3233: db eval {
3234: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3235: WHERE t2.a=50
3236: ORDER BY t1.rowid
3237: }
3238: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50}
3239: do_test boundary3-2.17.le.4 {
3240: db eval {
3241: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3242: WHERE t2.a=50
3243: ORDER BY t1.rowid DESC
3244: }
3245: } {50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3246: do_test boundary3-2.17.le.5 {
3247: db eval {
3248: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3249: WHERE t2.a=50
3250: ORDER BY x
3251: }
3252: } {59 60 41 5 31 4 49 30 61 8 16 23 50 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
3253: do_test boundary3-2.17.le.10 {
3254: db eval {
3255: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
3256: WHERE t2.a=50
3257: ORDER BY t1.rowid
3258: }
3259: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50}
3260: do_test boundary3-2.17.le.11 {
3261: db eval {
3262: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
3263: WHERE t2.a=50
3264: ORDER BY t1.rowid DESC
3265: }
3266: } {50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3267: do_test boundary3-2.18.1 {
3268: db eval {
3269: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-36028797018963968 AND t2.a=t1.a
3270: }
3271: } {64 ff80000000000000}
3272: do_test boundary3-2.18.2 {
3273: db eval {
3274: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ff80000000000000'
3275: }
3276: } {-36028797018963968 64}
3277: do_test boundary3-2.18.3 {
3278: db eval {
3279: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=64
3280: }
3281: } {-36028797018963968 ff80000000000000}
3282: do_test boundary3-2.18.gt.1 {
3283: db eval {
3284: SELECT t2.a FROM t1 JOIN t2 USING(a)
3285: WHERE t1.rowid > -36028797018963968 ORDER BY t2.a
3286: }
3287: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
3288: do_test boundary3-2.18.gt.2 {
3289: db eval {
3290: SELECT t2.a FROM t2 NATURAL JOIN t1
3291: WHERE t1.rowid > -36028797018963968 ORDER BY t1.a DESC
3292: }
3293: } {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
3294: do_test boundary3-2.18.gt.3 {
3295: db eval {
3296: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3297: WHERE t2.a=64
3298: ORDER BY t1.rowid
3299: }
3300: } {21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3301: do_test boundary3-2.18.gt.4 {
3302: db eval {
3303: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3304: WHERE t2.a=64
3305: ORDER BY t1.rowid DESC
3306: }
3307: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21}
3308: do_test boundary3-2.18.gt.5 {
3309: db eval {
3310: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3311: WHERE t2.a=64
3312: ORDER BY x
3313: }
3314: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
3315: do_test boundary3-2.18.ge.1 {
3316: db eval {
3317: SELECT t2.a FROM t1 JOIN t2 USING(a)
3318: WHERE t1.rowid >= -36028797018963968 ORDER BY t2.a
3319: }
3320: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64}
3321: do_test boundary3-2.18.ge.2 {
3322: db eval {
3323: SELECT t2.a FROM t2 NATURAL JOIN t1
3324: WHERE t1.rowid >= -36028797018963968 ORDER BY t1.a DESC
3325: }
3326: } {64 63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
3327: do_test boundary3-2.18.ge.3 {
3328: db eval {
3329: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3330: WHERE t2.a=64
3331: ORDER BY t1.rowid
3332: }
3333: } {64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3334: do_test boundary3-2.18.ge.4 {
3335: db eval {
3336: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3337: WHERE t2.a=64
3338: ORDER BY t1.rowid DESC
3339: }
3340: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64}
3341: do_test boundary3-2.18.ge.5 {
3342: db eval {
3343: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3344: WHERE t2.a=64
3345: ORDER BY x
3346: }
3347: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
3348: do_test boundary3-2.18.lt.1 {
3349: db eval {
3350: SELECT t2.a FROM t1 JOIN t2 USING(a)
3351: WHERE t1.rowid < -36028797018963968 ORDER BY t2.a
3352: }
3353: } {2 55}
3354: do_test boundary3-2.18.lt.2 {
3355: db eval {
3356: SELECT t2.a FROM t2 NATURAL JOIN t1
3357: WHERE t1.rowid < -36028797018963968 ORDER BY t1.a DESC
3358: }
3359: } {55 2}
3360: do_test boundary3-2.18.lt.3 {
3361: db eval {
3362: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3363: WHERE t2.a=64
3364: ORDER BY t1.rowid
3365: }
3366: } {55 2}
3367: do_test boundary3-2.18.lt.4 {
3368: db eval {
3369: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3370: WHERE t2.a=64
3371: ORDER BY t1.rowid DESC
3372: }
3373: } {2 55}
3374: do_test boundary3-2.18.lt.5 {
3375: db eval {
3376: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3377: WHERE t2.a=64
3378: ORDER BY x
3379: }
3380: } {55 2}
3381: do_test boundary3-2.18.le.1 {
3382: db eval {
3383: SELECT t2.a FROM t1 JOIN t2 USING(a)
3384: WHERE t1.rowid <= -36028797018963968 ORDER BY t2.a
3385: }
3386: } {2 55 64}
3387: do_test boundary3-2.18.le.2 {
3388: db eval {
3389: SELECT t2.a FROM t2 NATURAL JOIN t1
3390: WHERE t1.rowid <= -36028797018963968 ORDER BY t1.a DESC
3391: }
3392: } {64 55 2}
3393: do_test boundary3-2.18.le.3 {
3394: db eval {
3395: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3396: WHERE t2.a=64
3397: ORDER BY t1.rowid
3398: }
3399: } {55 2 64}
3400: do_test boundary3-2.18.le.4 {
3401: db eval {
3402: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3403: WHERE t2.a=64
3404: ORDER BY t1.rowid DESC
3405: }
3406: } {64 2 55}
3407: do_test boundary3-2.18.le.5 {
3408: db eval {
3409: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3410: WHERE t2.a=64
3411: ORDER BY x
3412: }
3413: } {55 2 64}
3414: do_test boundary3-2.19.1 {
3415: db eval {
3416: SELECT t1.* FROM t1, t2 WHERE t1.rowid=65535 AND t2.a=t1.a
3417: }
3418: } {48 000000000000ffff}
3419: do_test boundary3-2.19.2 {
3420: db eval {
3421: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000000000ffff'
3422: }
3423: } {65535 48}
3424: do_test boundary3-2.19.3 {
3425: db eval {
3426: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=48
3427: }
3428: } {65535 000000000000ffff}
3429: do_test boundary3-2.19.gt.1 {
3430: db eval {
3431: SELECT t2.a FROM t1 JOIN t2 USING(a)
3432: WHERE t1.rowid > 65535 ORDER BY t2.a
3433: }
3434: } {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57 62}
3435: do_test boundary3-2.19.gt.2 {
3436: db eval {
3437: SELECT t2.a FROM t2 NATURAL JOIN t1
3438: WHERE t1.rowid > 65535 ORDER BY t1.a DESC
3439: }
3440: } {62 57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
3441: do_test boundary3-2.19.gt.3 {
3442: db eval {
3443: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3444: WHERE t2.a=48
3445: ORDER BY t1.rowid
3446: }
3447: } {62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3448: do_test boundary3-2.19.gt.4 {
3449: db eval {
3450: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3451: WHERE t2.a=48
3452: ORDER BY t1.rowid DESC
3453: }
3454: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62}
3455: do_test boundary3-2.19.gt.5 {
3456: db eval {
3457: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3458: WHERE t2.a=48
3459: ORDER BY x
3460: }
3461: } {62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3462: do_test boundary3-2.19.gt.10 {
3463: db eval {
3464: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
3465: WHERE t2.a=48
3466: ORDER BY t1.rowid
3467: }
3468: } {62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3469: do_test boundary3-2.19.gt.11 {
3470: db eval {
3471: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
3472: WHERE t2.a=48
3473: ORDER BY t1.rowid DESC
3474: }
3475: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62}
3476: do_test boundary3-2.19.ge.1 {
3477: db eval {
3478: SELECT t2.a FROM t1 JOIN t2 USING(a)
3479: WHERE t1.rowid >= 65535 ORDER BY t2.a
3480: }
3481: } {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 51 56 57 62}
3482: do_test boundary3-2.19.ge.2 {
3483: db eval {
3484: SELECT t2.a FROM t2 NATURAL JOIN t1
3485: WHERE t1.rowid >= 65535 ORDER BY t1.a DESC
3486: }
3487: } {62 57 56 51 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
3488: do_test boundary3-2.19.ge.3 {
3489: db eval {
3490: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3491: WHERE t2.a=48
3492: ORDER BY t1.rowid
3493: }
3494: } {48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3495: do_test boundary3-2.19.ge.4 {
3496: db eval {
3497: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3498: WHERE t2.a=48
3499: ORDER BY t1.rowid DESC
3500: }
3501: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48}
3502: do_test boundary3-2.19.ge.5 {
3503: db eval {
3504: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3505: WHERE t2.a=48
3506: ORDER BY x
3507: }
3508: } {48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3509: do_test boundary3-2.19.ge.10 {
3510: db eval {
3511: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
3512: WHERE t2.a=48
3513: ORDER BY t1.rowid
3514: }
3515: } {48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3516: do_test boundary3-2.19.ge.11 {
3517: db eval {
3518: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
3519: WHERE t2.a=48
3520: ORDER BY t1.rowid DESC
3521: }
3522: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48}
3523: do_test boundary3-2.19.lt.1 {
3524: db eval {
3525: SELECT t2.a FROM t1 JOIN t2 USING(a)
3526: WHERE t1.rowid < 65535 ORDER BY t2.a
3527: }
3528: } {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 49 50 52 53 54 55 58 59 60 61 63 64}
3529: do_test boundary3-2.19.lt.2 {
3530: db eval {
3531: SELECT t2.a FROM t2 NATURAL JOIN t1
3532: WHERE t1.rowid < 65535 ORDER BY t1.a DESC
3533: }
3534: } {64 63 61 60 59 58 55 54 53 52 50 49 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
3535: do_test boundary3-2.19.lt.3 {
3536: db eval {
3537: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3538: WHERE t2.a=48
3539: ORDER BY t1.rowid
3540: }
3541: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50}
3542: do_test boundary3-2.19.lt.4 {
3543: db eval {
3544: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3545: WHERE t2.a=48
3546: ORDER BY t1.rowid DESC
3547: }
3548: } {50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3549: do_test boundary3-2.19.lt.5 {
3550: db eval {
3551: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3552: WHERE t2.a=48
3553: ORDER BY x
3554: }
3555: } {59 60 41 5 31 4 49 30 61 8 16 23 50 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
3556: do_test boundary3-2.19.lt.10 {
3557: db eval {
3558: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
3559: WHERE t2.a=48
3560: ORDER BY t1.rowid
3561: }
3562: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50}
3563: do_test boundary3-2.19.lt.11 {
3564: db eval {
3565: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
3566: WHERE t2.a=48
3567: ORDER BY t1.rowid DESC
3568: }
3569: } {50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3570: do_test boundary3-2.19.le.1 {
3571: db eval {
3572: SELECT t2.a FROM t1 JOIN t2 USING(a)
3573: WHERE t1.rowid <= 65535 ORDER BY t2.a
3574: }
3575: } {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 63 64}
3576: do_test boundary3-2.19.le.2 {
3577: db eval {
3578: SELECT t2.a FROM t2 NATURAL JOIN t1
3579: WHERE t1.rowid <= 65535 ORDER BY t1.a DESC
3580: }
3581: } {64 63 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
3582: do_test boundary3-2.19.le.3 {
3583: db eval {
3584: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3585: WHERE t2.a=48
3586: ORDER BY t1.rowid
3587: }
3588: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48}
3589: do_test boundary3-2.19.le.4 {
3590: db eval {
3591: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3592: WHERE t2.a=48
3593: ORDER BY t1.rowid DESC
3594: }
3595: } {48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3596: do_test boundary3-2.19.le.5 {
3597: db eval {
3598: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3599: WHERE t2.a=48
3600: ORDER BY x
3601: }
3602: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
3603: do_test boundary3-2.19.le.10 {
3604: db eval {
3605: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
3606: WHERE t2.a=48
3607: ORDER BY t1.rowid
3608: }
3609: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48}
3610: do_test boundary3-2.19.le.11 {
3611: db eval {
3612: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
3613: WHERE t2.a=48
3614: ORDER BY t1.rowid DESC
3615: }
3616: } {48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3617: do_test boundary3-2.20.1 {
3618: db eval {
3619: SELECT t1.* FROM t1, t2 WHERE t1.rowid=4294967295 AND t2.a=t1.a
3620: }
3621: } {14 00000000ffffffff}
3622: do_test boundary3-2.20.2 {
3623: db eval {
3624: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000ffffffff'
3625: }
3626: } {4294967295 14}
3627: do_test boundary3-2.20.3 {
3628: db eval {
3629: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=14
3630: }
3631: } {4294967295 00000000ffffffff}
3632: do_test boundary3-2.20.gt.1 {
3633: db eval {
3634: SELECT t2.a FROM t1 JOIN t2 USING(a)
3635: WHERE t1.rowid > 4294967295 ORDER BY t2.a
3636: }
3637: } {3 7 10 13 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
3638: do_test boundary3-2.20.gt.2 {
3639: db eval {
3640: SELECT t2.a FROM t2 NATURAL JOIN t1
3641: WHERE t1.rowid > 4294967295 ORDER BY t1.a DESC
3642: }
3643: } {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 13 10 7 3}
3644: do_test boundary3-2.20.gt.3 {
3645: db eval {
3646: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3647: WHERE t2.a=14
3648: ORDER BY t1.rowid
3649: }
3650: } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3651: do_test boundary3-2.20.gt.4 {
3652: db eval {
3653: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3654: WHERE t2.a=14
3655: ORDER BY t1.rowid DESC
3656: }
3657: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}
3658: do_test boundary3-2.20.gt.5 {
3659: db eval {
3660: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3661: WHERE t2.a=14
3662: ORDER BY x
3663: }
3664: } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3665: do_test boundary3-2.20.gt.10 {
3666: db eval {
3667: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
3668: WHERE t2.a=14
3669: ORDER BY t1.rowid
3670: }
3671: } {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3672: do_test boundary3-2.20.gt.11 {
3673: db eval {
3674: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
3675: WHERE t2.a=14
3676: ORDER BY t1.rowid DESC
3677: }
3678: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}
3679: do_test boundary3-2.20.ge.1 {
3680: db eval {
3681: SELECT t2.a FROM t1 JOIN t2 USING(a)
3682: WHERE t1.rowid >= 4294967295 ORDER BY t2.a
3683: }
3684: } {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
3685: do_test boundary3-2.20.ge.2 {
3686: db eval {
3687: SELECT t2.a FROM t2 NATURAL JOIN t1
3688: WHERE t1.rowid >= 4294967295 ORDER BY t1.a DESC
3689: }
3690: } {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
3691: do_test boundary3-2.20.ge.3 {
3692: db eval {
3693: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3694: WHERE t2.a=14
3695: ORDER BY t1.rowid
3696: }
3697: } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3698: do_test boundary3-2.20.ge.4 {
3699: db eval {
3700: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3701: WHERE t2.a=14
3702: ORDER BY t1.rowid DESC
3703: }
3704: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14}
3705: do_test boundary3-2.20.ge.5 {
3706: db eval {
3707: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3708: WHERE t2.a=14
3709: ORDER BY x
3710: }
3711: } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3712: do_test boundary3-2.20.ge.10 {
3713: db eval {
3714: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
3715: WHERE t2.a=14
3716: ORDER BY t1.rowid
3717: }
3718: } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3719: do_test boundary3-2.20.ge.11 {
3720: db eval {
3721: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
3722: WHERE t2.a=14
3723: ORDER BY t1.rowid DESC
3724: }
3725: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14}
3726: do_test boundary3-2.20.lt.1 {
3727: db eval {
3728: SELECT t2.a FROM t1 JOIN t2 USING(a)
3729: WHERE t1.rowid < 4294967295 ORDER BY t2.a
3730: }
3731: } {1 2 4 5 6 8 9 11 12 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
3732: do_test boundary3-2.20.lt.2 {
3733: db eval {
3734: SELECT t2.a FROM t2 NATURAL JOIN t1
3735: WHERE t1.rowid < 4294967295 ORDER BY t1.a DESC
3736: }
3737: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 12 11 9 8 6 5 4 2 1}
3738: do_test boundary3-2.20.lt.3 {
3739: db eval {
3740: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3741: WHERE t2.a=14
3742: ORDER BY t1.rowid
3743: }
3744: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51}
3745: do_test boundary3-2.20.lt.4 {
3746: db eval {
3747: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3748: WHERE t2.a=14
3749: ORDER BY t1.rowid DESC
3750: }
3751: } {51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3752: do_test boundary3-2.20.lt.5 {
3753: db eval {
3754: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3755: WHERE t2.a=14
3756: ORDER BY x
3757: }
3758: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
3759: do_test boundary3-2.20.lt.10 {
3760: db eval {
3761: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
3762: WHERE t2.a=14
3763: ORDER BY t1.rowid
3764: }
3765: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51}
3766: do_test boundary3-2.20.lt.11 {
3767: db eval {
3768: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
3769: WHERE t2.a=14
3770: ORDER BY t1.rowid DESC
3771: }
3772: } {51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3773: do_test boundary3-2.20.le.1 {
3774: db eval {
3775: SELECT t2.a FROM t1 JOIN t2 USING(a)
3776: WHERE t1.rowid <= 4294967295 ORDER BY t2.a
3777: }
3778: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
3779: do_test boundary3-2.20.le.2 {
3780: db eval {
3781: SELECT t2.a FROM t2 NATURAL JOIN t1
3782: WHERE t1.rowid <= 4294967295 ORDER BY t1.a DESC
3783: }
3784: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
3785: do_test boundary3-2.20.le.3 {
3786: db eval {
3787: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3788: WHERE t2.a=14
3789: ORDER BY t1.rowid
3790: }
3791: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14}
3792: do_test boundary3-2.20.le.4 {
3793: db eval {
3794: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3795: WHERE t2.a=14
3796: ORDER BY t1.rowid DESC
3797: }
3798: } {14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3799: do_test boundary3-2.20.le.5 {
3800: db eval {
3801: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3802: WHERE t2.a=14
3803: ORDER BY x
3804: }
3805: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
3806: do_test boundary3-2.20.le.10 {
3807: db eval {
3808: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
3809: WHERE t2.a=14
3810: ORDER BY t1.rowid
3811: }
3812: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14}
3813: do_test boundary3-2.20.le.11 {
3814: db eval {
3815: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
3816: WHERE t2.a=14
3817: ORDER BY t1.rowid DESC
3818: }
3819: } {14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3820: do_test boundary3-2.21.1 {
3821: db eval {
3822: SELECT t1.* FROM t1, t2 WHERE t1.rowid=1099511627775 AND t2.a=t1.a
3823: }
3824: } {57 000000ffffffffff}
3825: do_test boundary3-2.21.2 {
3826: db eval {
3827: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000ffffffffff'
3828: }
3829: } {1099511627775 57}
3830: do_test boundary3-2.21.3 {
3831: db eval {
3832: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=57
3833: }
3834: } {1099511627775 000000ffffffffff}
3835: do_test boundary3-2.21.gt.1 {
3836: db eval {
3837: SELECT t2.a FROM t1 JOIN t2 USING(a)
3838: WHERE t1.rowid > 1099511627775 ORDER BY t2.a
3839: }
3840: } {3 7 10 13 17 19 25 26 27 28 34 43 45 56}
3841: do_test boundary3-2.21.gt.2 {
3842: db eval {
3843: SELECT t2.a FROM t2 NATURAL JOIN t1
3844: WHERE t1.rowid > 1099511627775 ORDER BY t1.a DESC
3845: }
3846: } {56 45 43 34 28 27 26 25 19 17 13 10 7 3}
3847: do_test boundary3-2.21.gt.3 {
3848: db eval {
3849: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3850: WHERE t2.a=57
3851: ORDER BY t1.rowid
3852: }
3853: } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3854: do_test boundary3-2.21.gt.4 {
3855: db eval {
3856: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3857: WHERE t2.a=57
3858: ORDER BY t1.rowid DESC
3859: }
3860: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19}
3861: do_test boundary3-2.21.gt.5 {
3862: db eval {
3863: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
3864: WHERE t2.a=57
3865: ORDER BY x
3866: }
3867: } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3868: do_test boundary3-2.21.gt.10 {
3869: db eval {
3870: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
3871: WHERE t2.a=57
3872: ORDER BY t1.rowid
3873: }
3874: } {19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3875: do_test boundary3-2.21.gt.11 {
3876: db eval {
3877: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
3878: WHERE t2.a=57
3879: ORDER BY t1.rowid DESC
3880: }
3881: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19}
3882: do_test boundary3-2.21.ge.1 {
3883: db eval {
3884: SELECT t2.a FROM t1 JOIN t2 USING(a)
3885: WHERE t1.rowid >= 1099511627775 ORDER BY t2.a
3886: }
3887: } {3 7 10 13 17 19 25 26 27 28 34 43 45 56 57}
3888: do_test boundary3-2.21.ge.2 {
3889: db eval {
3890: SELECT t2.a FROM t2 NATURAL JOIN t1
3891: WHERE t1.rowid >= 1099511627775 ORDER BY t1.a DESC
3892: }
3893: } {57 56 45 43 34 28 27 26 25 19 17 13 10 7 3}
3894: do_test boundary3-2.21.ge.3 {
3895: db eval {
3896: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3897: WHERE t2.a=57
3898: ORDER BY t1.rowid
3899: }
3900: } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3901: do_test boundary3-2.21.ge.4 {
3902: db eval {
3903: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3904: WHERE t2.a=57
3905: ORDER BY t1.rowid DESC
3906: }
3907: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57}
3908: do_test boundary3-2.21.ge.5 {
3909: db eval {
3910: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
3911: WHERE t2.a=57
3912: ORDER BY x
3913: }
3914: } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3915: do_test boundary3-2.21.ge.10 {
3916: db eval {
3917: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
3918: WHERE t2.a=57
3919: ORDER BY t1.rowid
3920: }
3921: } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
3922: do_test boundary3-2.21.ge.11 {
3923: db eval {
3924: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
3925: WHERE t2.a=57
3926: ORDER BY t1.rowid DESC
3927: }
3928: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57}
3929: do_test boundary3-2.21.lt.1 {
3930: db eval {
3931: SELECT t2.a FROM t1 JOIN t2 USING(a)
3932: WHERE t1.rowid < 1099511627775 ORDER BY t2.a
3933: }
3934: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
3935: do_test boundary3-2.21.lt.2 {
3936: db eval {
3937: SELECT t2.a FROM t2 NATURAL JOIN t1
3938: WHERE t1.rowid < 1099511627775 ORDER BY t1.a DESC
3939: }
3940: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
3941: do_test boundary3-2.21.lt.3 {
3942: db eval {
3943: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3944: WHERE t2.a=57
3945: ORDER BY t1.rowid
3946: }
3947: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35}
3948: do_test boundary3-2.21.lt.4 {
3949: db eval {
3950: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3951: WHERE t2.a=57
3952: ORDER BY t1.rowid DESC
3953: }
3954: } {35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3955: do_test boundary3-2.21.lt.5 {
3956: db eval {
3957: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
3958: WHERE t2.a=57
3959: ORDER BY x
3960: }
3961: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
3962: do_test boundary3-2.21.lt.10 {
3963: db eval {
3964: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
3965: WHERE t2.a=57
3966: ORDER BY t1.rowid
3967: }
3968: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35}
3969: do_test boundary3-2.21.lt.11 {
3970: db eval {
3971: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
3972: WHERE t2.a=57
3973: ORDER BY t1.rowid DESC
3974: }
3975: } {35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
3976: do_test boundary3-2.21.le.1 {
3977: db eval {
3978: SELECT t2.a FROM t1 JOIN t2 USING(a)
3979: WHERE t1.rowid <= 1099511627775 ORDER BY t2.a
3980: }
3981: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
3982: do_test boundary3-2.21.le.2 {
3983: db eval {
3984: SELECT t2.a FROM t2 NATURAL JOIN t1
3985: WHERE t1.rowid <= 1099511627775 ORDER BY t1.a DESC
3986: }
3987: } {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
3988: do_test boundary3-2.21.le.3 {
3989: db eval {
3990: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3991: WHERE t2.a=57
3992: ORDER BY t1.rowid
3993: }
3994: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57}
3995: do_test boundary3-2.21.le.4 {
3996: db eval {
3997: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
3998: WHERE t2.a=57
3999: ORDER BY t1.rowid DESC
4000: }
4001: } {57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4002: do_test boundary3-2.21.le.5 {
4003: db eval {
4004: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4005: WHERE t2.a=57
4006: ORDER BY x
4007: }
4008: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
4009: do_test boundary3-2.21.le.10 {
4010: db eval {
4011: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
4012: WHERE t2.a=57
4013: ORDER BY t1.rowid
4014: }
4015: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57}
4016: do_test boundary3-2.21.le.11 {
4017: db eval {
4018: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
4019: WHERE t2.a=57
4020: ORDER BY t1.rowid DESC
4021: }
4022: } {57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4023: do_test boundary3-2.22.1 {
4024: db eval {
4025: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-8388608 AND t2.a=t1.a
4026: }
4027: } {37 ffffffffff800000}
4028: do_test boundary3-2.22.2 {
4029: db eval {
4030: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffff800000'
4031: }
4032: } {-8388608 37}
4033: do_test boundary3-2.22.3 {
4034: db eval {
4035: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=37
4036: }
4037: } {-8388608 ffffffffff800000}
4038: do_test boundary3-2.22.gt.1 {
4039: db eval {
4040: SELECT t2.a FROM t1 JOIN t2 USING(a)
4041: WHERE t1.rowid > -8388608 ORDER BY t2.a
4042: }
4043: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
4044: do_test boundary3-2.22.gt.2 {
4045: db eval {
4046: SELECT t2.a FROM t2 NATURAL JOIN t1
4047: WHERE t1.rowid > -8388608 ORDER BY t1.a DESC
4048: }
4049: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
4050: do_test boundary3-2.22.gt.3 {
4051: db eval {
4052: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4053: WHERE t2.a=37
4054: ORDER BY t1.rowid
4055: }
4056: } {29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4057: do_test boundary3-2.22.gt.4 {
4058: db eval {
4059: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4060: WHERE t2.a=37
4061: ORDER BY t1.rowid DESC
4062: }
4063: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29}
4064: do_test boundary3-2.22.gt.5 {
4065: db eval {
4066: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4067: WHERE t2.a=37
4068: ORDER BY x
4069: }
4070: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 29 32 54 53 52 33 38}
4071: do_test boundary3-2.22.gt.10 {
4072: db eval {
4073: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
4074: WHERE t2.a=37
4075: ORDER BY t1.rowid
4076: }
4077: } {29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4078: do_test boundary3-2.22.gt.11 {
4079: db eval {
4080: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
4081: WHERE t2.a=37
4082: ORDER BY t1.rowid DESC
4083: }
4084: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29}
4085: do_test boundary3-2.22.ge.1 {
4086: db eval {
4087: SELECT t2.a FROM t1 JOIN t2 USING(a)
4088: WHERE t1.rowid >= -8388608 ORDER BY t2.a
4089: }
4090: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
4091: do_test boundary3-2.22.ge.2 {
4092: db eval {
4093: SELECT t2.a FROM t2 NATURAL JOIN t1
4094: WHERE t1.rowid >= -8388608 ORDER BY t1.a DESC
4095: }
4096: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
4097: do_test boundary3-2.22.ge.3 {
4098: db eval {
4099: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4100: WHERE t2.a=37
4101: ORDER BY t1.rowid
4102: }
4103: } {37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4104: do_test boundary3-2.22.ge.4 {
4105: db eval {
4106: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4107: WHERE t2.a=37
4108: ORDER BY t1.rowid DESC
4109: }
4110: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37}
4111: do_test boundary3-2.22.ge.5 {
4112: db eval {
4113: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4114: WHERE t2.a=37
4115: ORDER BY x
4116: }
4117: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 37 29 32 54 53 52 33 38}
4118: do_test boundary3-2.22.ge.10 {
4119: db eval {
4120: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
4121: WHERE t2.a=37
4122: ORDER BY t1.rowid
4123: }
4124: } {37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4125: do_test boundary3-2.22.ge.11 {
4126: db eval {
4127: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
4128: WHERE t2.a=37
4129: ORDER BY t1.rowid DESC
4130: }
4131: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37}
4132: do_test boundary3-2.22.lt.1 {
4133: db eval {
4134: SELECT t2.a FROM t1 JOIN t2 USING(a)
4135: WHERE t1.rowid < -8388608 ORDER BY t2.a
4136: }
4137: } {1 2 11 21 44 47 55 58 63 64}
4138: do_test boundary3-2.22.lt.2 {
4139: db eval {
4140: SELECT t2.a FROM t2 NATURAL JOIN t1
4141: WHERE t1.rowid < -8388608 ORDER BY t1.a DESC
4142: }
4143: } {64 63 58 55 47 44 21 11 2 1}
4144: do_test boundary3-2.22.lt.3 {
4145: db eval {
4146: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4147: WHERE t2.a=37
4148: ORDER BY t1.rowid
4149: }
4150: } {55 2 64 21 44 58 63 47 11 1}
4151: do_test boundary3-2.22.lt.4 {
4152: db eval {
4153: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4154: WHERE t2.a=37
4155: ORDER BY t1.rowid DESC
4156: }
4157: } {1 11 47 63 58 44 21 64 2 55}
4158: do_test boundary3-2.22.lt.5 {
4159: db eval {
4160: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4161: WHERE t2.a=37
4162: ORDER BY x
4163: }
4164: } {55 2 64 21 44 58 63 47 11 1}
4165: do_test boundary3-2.22.lt.10 {
4166: db eval {
4167: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
4168: WHERE t2.a=37
4169: ORDER BY t1.rowid
4170: }
4171: } {55 2 64 21 44 58 63 47 11 1}
4172: do_test boundary3-2.22.lt.11 {
4173: db eval {
4174: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
4175: WHERE t2.a=37
4176: ORDER BY t1.rowid DESC
4177: }
4178: } {1 11 47 63 58 44 21 64 2 55}
4179: do_test boundary3-2.22.le.1 {
4180: db eval {
4181: SELECT t2.a FROM t1 JOIN t2 USING(a)
4182: WHERE t1.rowid <= -8388608 ORDER BY t2.a
4183: }
4184: } {1 2 11 21 37 44 47 55 58 63 64}
4185: do_test boundary3-2.22.le.2 {
4186: db eval {
4187: SELECT t2.a FROM t2 NATURAL JOIN t1
4188: WHERE t1.rowid <= -8388608 ORDER BY t1.a DESC
4189: }
4190: } {64 63 58 55 47 44 37 21 11 2 1}
4191: do_test boundary3-2.22.le.3 {
4192: db eval {
4193: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4194: WHERE t2.a=37
4195: ORDER BY t1.rowid
4196: }
4197: } {55 2 64 21 44 58 63 47 11 1 37}
4198: do_test boundary3-2.22.le.4 {
4199: db eval {
4200: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4201: WHERE t2.a=37
4202: ORDER BY t1.rowid DESC
4203: }
4204: } {37 1 11 47 63 58 44 21 64 2 55}
4205: do_test boundary3-2.22.le.5 {
4206: db eval {
4207: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4208: WHERE t2.a=37
4209: ORDER BY x
4210: }
4211: } {55 2 64 21 44 58 63 47 11 1 37}
4212: do_test boundary3-2.22.le.10 {
4213: db eval {
4214: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
4215: WHERE t2.a=37
4216: ORDER BY t1.rowid
4217: }
4218: } {55 2 64 21 44 58 63 47 11 1 37}
4219: do_test boundary3-2.22.le.11 {
4220: db eval {
4221: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
4222: WHERE t2.a=37
4223: ORDER BY t1.rowid DESC
4224: }
4225: } {37 1 11 47 63 58 44 21 64 2 55}
4226: do_test boundary3-2.23.1 {
4227: db eval {
4228: SELECT t1.* FROM t1, t2 WHERE t1.rowid=549755813888 AND t2.a=t1.a
4229: }
4230: } {35 0000008000000000}
4231: do_test boundary3-2.23.2 {
4232: db eval {
4233: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000008000000000'
4234: }
4235: } {549755813888 35}
4236: do_test boundary3-2.23.3 {
4237: db eval {
4238: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=35
4239: }
4240: } {549755813888 0000008000000000}
4241: do_test boundary3-2.23.gt.1 {
4242: db eval {
4243: SELECT t2.a FROM t1 JOIN t2 USING(a)
4244: WHERE t1.rowid > 549755813888 ORDER BY t2.a
4245: }
4246: } {3 7 10 13 17 19 25 26 27 28 34 43 45 56 57}
4247: do_test boundary3-2.23.gt.2 {
4248: db eval {
4249: SELECT t2.a FROM t2 NATURAL JOIN t1
4250: WHERE t1.rowid > 549755813888 ORDER BY t1.a DESC
4251: }
4252: } {57 56 45 43 34 28 27 26 25 19 17 13 10 7 3}
4253: do_test boundary3-2.23.gt.3 {
4254: db eval {
4255: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4256: WHERE t2.a=35
4257: ORDER BY t1.rowid
4258: }
4259: } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4260: do_test boundary3-2.23.gt.4 {
4261: db eval {
4262: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4263: WHERE t2.a=35
4264: ORDER BY t1.rowid DESC
4265: }
4266: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57}
4267: do_test boundary3-2.23.gt.5 {
4268: db eval {
4269: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4270: WHERE t2.a=35
4271: ORDER BY x
4272: }
4273: } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4274: do_test boundary3-2.23.gt.10 {
4275: db eval {
4276: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
4277: WHERE t2.a=35
4278: ORDER BY t1.rowid
4279: }
4280: } {57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4281: do_test boundary3-2.23.gt.11 {
4282: db eval {
4283: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
4284: WHERE t2.a=35
4285: ORDER BY t1.rowid DESC
4286: }
4287: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57}
4288: do_test boundary3-2.23.ge.1 {
4289: db eval {
4290: SELECT t2.a FROM t1 JOIN t2 USING(a)
4291: WHERE t1.rowid >= 549755813888 ORDER BY t2.a
4292: }
4293: } {3 7 10 13 17 19 25 26 27 28 34 35 43 45 56 57}
4294: do_test boundary3-2.23.ge.2 {
4295: db eval {
4296: SELECT t2.a FROM t2 NATURAL JOIN t1
4297: WHERE t1.rowid >= 549755813888 ORDER BY t1.a DESC
4298: }
4299: } {57 56 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
4300: do_test boundary3-2.23.ge.3 {
4301: db eval {
4302: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4303: WHERE t2.a=35
4304: ORDER BY t1.rowid
4305: }
4306: } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4307: do_test boundary3-2.23.ge.4 {
4308: db eval {
4309: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4310: WHERE t2.a=35
4311: ORDER BY t1.rowid DESC
4312: }
4313: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35}
4314: do_test boundary3-2.23.ge.5 {
4315: db eval {
4316: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4317: WHERE t2.a=35
4318: ORDER BY x
4319: }
4320: } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4321: do_test boundary3-2.23.ge.10 {
4322: db eval {
4323: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
4324: WHERE t2.a=35
4325: ORDER BY t1.rowid
4326: }
4327: } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4328: do_test boundary3-2.23.ge.11 {
4329: db eval {
4330: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
4331: WHERE t2.a=35
4332: ORDER BY t1.rowid DESC
4333: }
4334: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35}
4335: do_test boundary3-2.23.lt.1 {
4336: db eval {
4337: SELECT t2.a FROM t1 JOIN t2 USING(a)
4338: WHERE t1.rowid < 549755813888 ORDER BY t2.a
4339: }
4340: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
4341: do_test boundary3-2.23.lt.2 {
4342: db eval {
4343: SELECT t2.a FROM t2 NATURAL JOIN t1
4344: WHERE t1.rowid < 549755813888 ORDER BY t1.a DESC
4345: }
4346: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
4347: do_test boundary3-2.23.lt.3 {
4348: db eval {
4349: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4350: WHERE t2.a=35
4351: ORDER BY t1.rowid
4352: }
4353: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46}
4354: do_test boundary3-2.23.lt.4 {
4355: db eval {
4356: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4357: WHERE t2.a=35
4358: ORDER BY t1.rowid DESC
4359: }
4360: } {46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4361: do_test boundary3-2.23.lt.5 {
4362: db eval {
4363: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4364: WHERE t2.a=35
4365: ORDER BY x
4366: }
4367: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
4368: do_test boundary3-2.23.lt.10 {
4369: db eval {
4370: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
4371: WHERE t2.a=35
4372: ORDER BY t1.rowid
4373: }
4374: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46}
4375: do_test boundary3-2.23.lt.11 {
4376: db eval {
4377: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
4378: WHERE t2.a=35
4379: ORDER BY t1.rowid DESC
4380: }
4381: } {46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4382: do_test boundary3-2.23.le.1 {
4383: db eval {
4384: SELECT t2.a FROM t1 JOIN t2 USING(a)
4385: WHERE t1.rowid <= 549755813888 ORDER BY t2.a
4386: }
4387: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
4388: do_test boundary3-2.23.le.2 {
4389: db eval {
4390: SELECT t2.a FROM t2 NATURAL JOIN t1
4391: WHERE t1.rowid <= 549755813888 ORDER BY t1.a DESC
4392: }
4393: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
4394: do_test boundary3-2.23.le.3 {
4395: db eval {
4396: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4397: WHERE t2.a=35
4398: ORDER BY t1.rowid
4399: }
4400: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35}
4401: do_test boundary3-2.23.le.4 {
4402: db eval {
4403: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4404: WHERE t2.a=35
4405: ORDER BY t1.rowid DESC
4406: }
4407: } {35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4408: do_test boundary3-2.23.le.5 {
4409: db eval {
4410: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4411: WHERE t2.a=35
4412: ORDER BY x
4413: }
4414: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
4415: do_test boundary3-2.23.le.10 {
4416: db eval {
4417: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
4418: WHERE t2.a=35
4419: ORDER BY t1.rowid
4420: }
4421: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35}
4422: do_test boundary3-2.23.le.11 {
4423: db eval {
4424: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
4425: WHERE t2.a=35
4426: ORDER BY t1.rowid DESC
4427: }
4428: } {35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4429: do_test boundary3-2.24.1 {
4430: db eval {
4431: SELECT t1.* FROM t1, t2 WHERE t1.rowid=8388607 AND t2.a=t1.a
4432: }
4433: } {18 00000000007fffff}
4434: do_test boundary3-2.24.2 {
4435: db eval {
4436: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000007fffff'
4437: }
4438: } {8388607 18}
4439: do_test boundary3-2.24.3 {
4440: db eval {
4441: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=18
4442: }
4443: } {8388607 00000000007fffff}
4444: do_test boundary3-2.24.gt.1 {
4445: db eval {
4446: SELECT t2.a FROM t1 JOIN t2 USING(a)
4447: WHERE t1.rowid > 8388607 ORDER BY t2.a
4448: }
4449: } {3 6 7 9 10 12 13 14 17 19 20 22 24 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
4450: do_test boundary3-2.24.gt.2 {
4451: db eval {
4452: SELECT t2.a FROM t2 NATURAL JOIN t1
4453: WHERE t1.rowid > 8388607 ORDER BY t1.a DESC
4454: }
4455: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 24 22 20 19 17 14 13 12 10 9 7 6 3}
4456: do_test boundary3-2.24.gt.3 {
4457: db eval {
4458: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4459: WHERE t2.a=18
4460: ORDER BY t1.rowid
4461: }
4462: } {24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4463: do_test boundary3-2.24.gt.4 {
4464: db eval {
4465: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4466: WHERE t2.a=18
4467: ORDER BY t1.rowid DESC
4468: }
4469: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24}
4470: do_test boundary3-2.24.gt.5 {
4471: db eval {
4472: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4473: WHERE t2.a=18
4474: ORDER BY x
4475: }
4476: } {24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4477: do_test boundary3-2.24.gt.10 {
4478: db eval {
4479: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
4480: WHERE t2.a=18
4481: ORDER BY t1.rowid
4482: }
4483: } {24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4484: do_test boundary3-2.24.gt.11 {
4485: db eval {
4486: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
4487: WHERE t2.a=18
4488: ORDER BY t1.rowid DESC
4489: }
4490: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24}
4491: do_test boundary3-2.24.ge.1 {
4492: db eval {
4493: SELECT t2.a FROM t1 JOIN t2 USING(a)
4494: WHERE t1.rowid >= 8388607 ORDER BY t2.a
4495: }
4496: } {3 6 7 9 10 12 13 14 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
4497: do_test boundary3-2.24.ge.2 {
4498: db eval {
4499: SELECT t2.a FROM t2 NATURAL JOIN t1
4500: WHERE t1.rowid >= 8388607 ORDER BY t1.a DESC
4501: }
4502: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 14 13 12 10 9 7 6 3}
4503: do_test boundary3-2.24.ge.3 {
4504: db eval {
4505: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4506: WHERE t2.a=18
4507: ORDER BY t1.rowid
4508: }
4509: } {18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4510: do_test boundary3-2.24.ge.4 {
4511: db eval {
4512: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4513: WHERE t2.a=18
4514: ORDER BY t1.rowid DESC
4515: }
4516: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18}
4517: do_test boundary3-2.24.ge.5 {
4518: db eval {
4519: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4520: WHERE t2.a=18
4521: ORDER BY x
4522: }
4523: } {18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4524: do_test boundary3-2.24.ge.10 {
4525: db eval {
4526: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
4527: WHERE t2.a=18
4528: ORDER BY t1.rowid
4529: }
4530: } {18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4531: do_test boundary3-2.24.ge.11 {
4532: db eval {
4533: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
4534: WHERE t2.a=18
4535: ORDER BY t1.rowid DESC
4536: }
4537: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18}
4538: do_test boundary3-2.24.lt.1 {
4539: db eval {
4540: SELECT t2.a FROM t1 JOIN t2 USING(a)
4541: WHERE t1.rowid < 8388607 ORDER BY t2.a
4542: }
4543: } {1 2 4 5 8 11 15 16 21 23 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
4544: do_test boundary3-2.24.lt.2 {
4545: db eval {
4546: SELECT t2.a FROM t2 NATURAL JOIN t1
4547: WHERE t1.rowid < 8388607 ORDER BY t1.a DESC
4548: }
4549: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 23 21 16 15 11 8 5 4 2 1}
4550: do_test boundary3-2.24.lt.3 {
4551: db eval {
4552: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4553: WHERE t2.a=18
4554: ORDER BY t1.rowid
4555: }
4556: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42}
4557: do_test boundary3-2.24.lt.4 {
4558: db eval {
4559: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4560: WHERE t2.a=18
4561: ORDER BY t1.rowid DESC
4562: }
4563: } {42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4564: do_test boundary3-2.24.lt.5 {
4565: db eval {
4566: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4567: WHERE t2.a=18
4568: ORDER BY x
4569: }
4570: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
4571: do_test boundary3-2.24.lt.10 {
4572: db eval {
4573: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
4574: WHERE t2.a=18
4575: ORDER BY t1.rowid
4576: }
4577: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42}
4578: do_test boundary3-2.24.lt.11 {
4579: db eval {
4580: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
4581: WHERE t2.a=18
4582: ORDER BY t1.rowid DESC
4583: }
4584: } {42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4585: do_test boundary3-2.24.le.1 {
4586: db eval {
4587: SELECT t2.a FROM t1 JOIN t2 USING(a)
4588: WHERE t1.rowid <= 8388607 ORDER BY t2.a
4589: }
4590: } {1 2 4 5 8 11 15 16 18 21 23 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
4591: do_test boundary3-2.24.le.2 {
4592: db eval {
4593: SELECT t2.a FROM t2 NATURAL JOIN t1
4594: WHERE t1.rowid <= 8388607 ORDER BY t1.a DESC
4595: }
4596: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 23 21 18 16 15 11 8 5 4 2 1}
4597: do_test boundary3-2.24.le.3 {
4598: db eval {
4599: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4600: WHERE t2.a=18
4601: ORDER BY t1.rowid
4602: }
4603: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18}
4604: do_test boundary3-2.24.le.4 {
4605: db eval {
4606: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4607: WHERE t2.a=18
4608: ORDER BY t1.rowid DESC
4609: }
4610: } {18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4611: do_test boundary3-2.24.le.5 {
4612: db eval {
4613: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4614: WHERE t2.a=18
4615: ORDER BY x
4616: }
4617: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
4618: do_test boundary3-2.24.le.10 {
4619: db eval {
4620: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
4621: WHERE t2.a=18
4622: ORDER BY t1.rowid
4623: }
4624: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18}
4625: do_test boundary3-2.24.le.11 {
4626: db eval {
4627: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
4628: WHERE t2.a=18
4629: ORDER BY t1.rowid DESC
4630: }
4631: } {18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4632: do_test boundary3-2.25.1 {
4633: db eval {
4634: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-3 AND t2.a=t1.a
4635: }
4636: } {52 fffffffffffffffd}
4637: do_test boundary3-2.25.2 {
4638: db eval {
4639: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='fffffffffffffffd'
4640: }
4641: } {-3 52}
4642: do_test boundary3-2.25.3 {
4643: db eval {
4644: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=52
4645: }
4646: } {-3 fffffffffffffffd}
4647: do_test boundary3-2.25.gt.1 {
4648: db eval {
4649: SELECT t2.a FROM t1 JOIN t2 USING(a)
4650: WHERE t1.rowid > -3 ORDER BY t2.a
4651: }
4652: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
4653: do_test boundary3-2.25.gt.2 {
4654: db eval {
4655: SELECT t2.a FROM t2 NATURAL JOIN t1
4656: WHERE t1.rowid > -3 ORDER BY t1.a DESC
4657: }
4658: } {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
4659: do_test boundary3-2.25.gt.3 {
4660: db eval {
4661: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4662: WHERE t2.a=52
4663: ORDER BY t1.rowid
4664: }
4665: } {33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4666: do_test boundary3-2.25.gt.4 {
4667: db eval {
4668: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4669: WHERE t2.a=52
4670: ORDER BY t1.rowid DESC
4671: }
4672: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33}
4673: do_test boundary3-2.25.gt.5 {
4674: db eval {
4675: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4676: WHERE t2.a=52
4677: ORDER BY x
4678: }
4679: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 33 38}
4680: do_test boundary3-2.25.gt.10 {
4681: db eval {
4682: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
4683: WHERE t2.a=52
4684: ORDER BY t1.rowid
4685: }
4686: } {33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4687: do_test boundary3-2.25.gt.11 {
4688: db eval {
4689: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
4690: WHERE t2.a=52
4691: ORDER BY t1.rowid DESC
4692: }
4693: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33}
4694: do_test boundary3-2.25.ge.1 {
4695: db eval {
4696: SELECT t2.a FROM t1 JOIN t2 USING(a)
4697: WHERE t1.rowid >= -3 ORDER BY t2.a
4698: }
4699: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 56 57 59 60 61 62}
4700: do_test boundary3-2.25.ge.2 {
4701: db eval {
4702: SELECT t2.a FROM t2 NATURAL JOIN t1
4703: WHERE t1.rowid >= -3 ORDER BY t1.a DESC
4704: }
4705: } {62 61 60 59 57 56 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
4706: do_test boundary3-2.25.ge.3 {
4707: db eval {
4708: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4709: WHERE t2.a=52
4710: ORDER BY t1.rowid
4711: }
4712: } {52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4713: do_test boundary3-2.25.ge.4 {
4714: db eval {
4715: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4716: WHERE t2.a=52
4717: ORDER BY t1.rowid DESC
4718: }
4719: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52}
4720: do_test boundary3-2.25.ge.5 {
4721: db eval {
4722: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4723: WHERE t2.a=52
4724: ORDER BY x
4725: }
4726: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 52 33 38}
4727: do_test boundary3-2.25.ge.10 {
4728: db eval {
4729: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
4730: WHERE t2.a=52
4731: ORDER BY t1.rowid
4732: }
4733: } {52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4734: do_test boundary3-2.25.ge.11 {
4735: db eval {
4736: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
4737: WHERE t2.a=52
4738: ORDER BY t1.rowid DESC
4739: }
4740: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52}
4741: do_test boundary3-2.25.lt.1 {
4742: db eval {
4743: SELECT t2.a FROM t1 JOIN t2 USING(a)
4744: WHERE t1.rowid < -3 ORDER BY t2.a
4745: }
4746: } {1 2 11 21 29 32 37 44 47 53 54 55 58 63 64}
4747: do_test boundary3-2.25.lt.2 {
4748: db eval {
4749: SELECT t2.a FROM t2 NATURAL JOIN t1
4750: WHERE t1.rowid < -3 ORDER BY t1.a DESC
4751: }
4752: } {64 63 58 55 54 53 47 44 37 32 29 21 11 2 1}
4753: do_test boundary3-2.25.lt.3 {
4754: db eval {
4755: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4756: WHERE t2.a=52
4757: ORDER BY t1.rowid
4758: }
4759: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
4760: do_test boundary3-2.25.lt.4 {
4761: db eval {
4762: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4763: WHERE t2.a=52
4764: ORDER BY t1.rowid DESC
4765: }
4766: } {53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4767: do_test boundary3-2.25.lt.5 {
4768: db eval {
4769: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4770: WHERE t2.a=52
4771: ORDER BY x
4772: }
4773: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
4774: do_test boundary3-2.25.lt.10 {
4775: db eval {
4776: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
4777: WHERE t2.a=52
4778: ORDER BY t1.rowid
4779: }
4780: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
4781: do_test boundary3-2.25.lt.11 {
4782: db eval {
4783: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
4784: WHERE t2.a=52
4785: ORDER BY t1.rowid DESC
4786: }
4787: } {53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4788: do_test boundary3-2.25.le.1 {
4789: db eval {
4790: SELECT t2.a FROM t1 JOIN t2 USING(a)
4791: WHERE t1.rowid <= -3 ORDER BY t2.a
4792: }
4793: } {1 2 11 21 29 32 37 44 47 52 53 54 55 58 63 64}
4794: do_test boundary3-2.25.le.2 {
4795: db eval {
4796: SELECT t2.a FROM t2 NATURAL JOIN t1
4797: WHERE t1.rowid <= -3 ORDER BY t1.a DESC
4798: }
4799: } {64 63 58 55 54 53 52 47 44 37 32 29 21 11 2 1}
4800: do_test boundary3-2.25.le.3 {
4801: db eval {
4802: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4803: WHERE t2.a=52
4804: ORDER BY t1.rowid
4805: }
4806: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
4807: do_test boundary3-2.25.le.4 {
4808: db eval {
4809: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4810: WHERE t2.a=52
4811: ORDER BY t1.rowid DESC
4812: }
4813: } {52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4814: do_test boundary3-2.25.le.5 {
4815: db eval {
4816: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
4817: WHERE t2.a=52
4818: ORDER BY x
4819: }
4820: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
4821: do_test boundary3-2.25.le.10 {
4822: db eval {
4823: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
4824: WHERE t2.a=52
4825: ORDER BY t1.rowid
4826: }
4827: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
4828: do_test boundary3-2.25.le.11 {
4829: db eval {
4830: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
4831: WHERE t2.a=52
4832: ORDER BY t1.rowid DESC
4833: }
4834: } {52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4835: do_test boundary3-2.26.1 {
4836: db eval {
4837: SELECT t1.* FROM t1, t2 WHERE t1.rowid=0 AND t2.a=t1.a
4838: }
4839: } {59 0000000000000000}
4840: do_test boundary3-2.26.2 {
4841: db eval {
4842: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000000'
4843: }
4844: } {0 59}
4845: do_test boundary3-2.26.3 {
4846: db eval {
4847: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=59
4848: }
4849: } {0 0000000000000000}
4850: do_test boundary3-2.26.gt.1 {
4851: db eval {
4852: SELECT t2.a FROM t1 JOIN t2 USING(a)
4853: WHERE t1.rowid > 0 ORDER BY t2.a
4854: }
4855: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 60 61 62}
4856: do_test boundary3-2.26.gt.2 {
4857: db eval {
4858: SELECT t2.a FROM t2 NATURAL JOIN t1
4859: WHERE t1.rowid > 0 ORDER BY t1.a DESC
4860: }
4861: } {62 61 60 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
4862: do_test boundary3-2.26.gt.3 {
4863: db eval {
4864: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4865: WHERE t2.a=59
4866: ORDER BY t1.rowid
4867: }
4868: } {60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4869: do_test boundary3-2.26.gt.4 {
4870: db eval {
4871: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4872: WHERE t2.a=59
4873: ORDER BY t1.rowid DESC
4874: }
4875: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60}
4876: do_test boundary3-2.26.gt.5 {
4877: db eval {
4878: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
4879: WHERE t2.a=59
4880: ORDER BY x
4881: }
4882: } {60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4883: do_test boundary3-2.26.gt.10 {
4884: db eval {
4885: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
4886: WHERE t2.a=59
4887: ORDER BY t1.rowid
4888: }
4889: } {60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4890: do_test boundary3-2.26.gt.11 {
4891: db eval {
4892: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
4893: WHERE t2.a=59
4894: ORDER BY t1.rowid DESC
4895: }
4896: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60}
4897: do_test boundary3-2.26.ge.1 {
4898: db eval {
4899: SELECT t2.a FROM t1 JOIN t2 USING(a)
4900: WHERE t1.rowid >= 0 ORDER BY t2.a
4901: }
4902: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
4903: do_test boundary3-2.26.ge.2 {
4904: db eval {
4905: SELECT t2.a FROM t2 NATURAL JOIN t1
4906: WHERE t1.rowid >= 0 ORDER BY t1.a DESC
4907: }
4908: } {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
4909: do_test boundary3-2.26.ge.3 {
4910: db eval {
4911: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4912: WHERE t2.a=59
4913: ORDER BY t1.rowid
4914: }
4915: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4916: do_test boundary3-2.26.ge.4 {
4917: db eval {
4918: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4919: WHERE t2.a=59
4920: ORDER BY t1.rowid DESC
4921: }
4922: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59}
4923: do_test boundary3-2.26.ge.5 {
4924: db eval {
4925: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
4926: WHERE t2.a=59
4927: ORDER BY x
4928: }
4929: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4930: do_test boundary3-2.26.ge.10 {
4931: db eval {
4932: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
4933: WHERE t2.a=59
4934: ORDER BY t1.rowid
4935: }
4936: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
4937: do_test boundary3-2.26.ge.11 {
4938: db eval {
4939: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
4940: WHERE t2.a=59
4941: ORDER BY t1.rowid DESC
4942: }
4943: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59}
4944: do_test boundary3-2.26.lt.1 {
4945: db eval {
4946: SELECT t2.a FROM t1 JOIN t2 USING(a)
4947: WHERE t1.rowid < 0 ORDER BY t2.a
4948: }
4949: } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 63 64}
4950: do_test boundary3-2.26.lt.2 {
4951: db eval {
4952: SELECT t2.a FROM t2 NATURAL JOIN t1
4953: WHERE t1.rowid < 0 ORDER BY t1.a DESC
4954: }
4955: } {64 63 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
4956: do_test boundary3-2.26.lt.3 {
4957: db eval {
4958: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4959: WHERE t2.a=59
4960: ORDER BY t1.rowid
4961: }
4962: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
4963: do_test boundary3-2.26.lt.4 {
4964: db eval {
4965: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4966: WHERE t2.a=59
4967: ORDER BY t1.rowid DESC
4968: }
4969: } {38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4970: do_test boundary3-2.26.lt.5 {
4971: db eval {
4972: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
4973: WHERE t2.a=59
4974: ORDER BY x
4975: }
4976: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
4977: do_test boundary3-2.26.lt.10 {
4978: db eval {
4979: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
4980: WHERE t2.a=59
4981: ORDER BY t1.rowid
4982: }
4983: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
4984: do_test boundary3-2.26.lt.11 {
4985: db eval {
4986: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
4987: WHERE t2.a=59
4988: ORDER BY t1.rowid DESC
4989: }
4990: } {38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
4991: do_test boundary3-2.26.le.1 {
4992: db eval {
4993: SELECT t2.a FROM t1 JOIN t2 USING(a)
4994: WHERE t1.rowid <= 0 ORDER BY t2.a
4995: }
4996: } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 63 64}
4997: do_test boundary3-2.26.le.2 {
4998: db eval {
4999: SELECT t2.a FROM t2 NATURAL JOIN t1
5000: WHERE t1.rowid <= 0 ORDER BY t1.a DESC
5001: }
5002: } {64 63 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
5003: do_test boundary3-2.26.le.3 {
5004: db eval {
5005: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5006: WHERE t2.a=59
5007: ORDER BY t1.rowid
5008: }
5009: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59}
5010: do_test boundary3-2.26.le.4 {
5011: db eval {
5012: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5013: WHERE t2.a=59
5014: ORDER BY t1.rowid DESC
5015: }
5016: } {59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5017: do_test boundary3-2.26.le.5 {
5018: db eval {
5019: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5020: WHERE t2.a=59
5021: ORDER BY x
5022: }
5023: } {59 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
5024: do_test boundary3-2.26.le.10 {
5025: db eval {
5026: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
5027: WHERE t2.a=59
5028: ORDER BY t1.rowid
5029: }
5030: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59}
5031: do_test boundary3-2.26.le.11 {
5032: db eval {
5033: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
5034: WHERE t2.a=59
5035: ORDER BY t1.rowid DESC
5036: }
5037: } {59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5038: do_test boundary3-2.27.1 {
5039: db eval {
5040: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-1 AND t2.a=t1.a
5041: }
5042: } {38 ffffffffffffffff}
5043: do_test boundary3-2.27.2 {
5044: db eval {
5045: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffffffff'
5046: }
5047: } {-1 38}
5048: do_test boundary3-2.27.3 {
5049: db eval {
5050: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=38
5051: }
5052: } {-1 ffffffffffffffff}
5053: do_test boundary3-2.27.gt.1 {
5054: db eval {
5055: SELECT t2.a FROM t1 JOIN t2 USING(a)
5056: WHERE t1.rowid > -1 ORDER BY t2.a
5057: }
5058: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
5059: do_test boundary3-2.27.gt.2 {
5060: db eval {
5061: SELECT t2.a FROM t2 NATURAL JOIN t1
5062: WHERE t1.rowid > -1 ORDER BY t1.a DESC
5063: }
5064: } {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
5065: do_test boundary3-2.27.gt.3 {
5066: db eval {
5067: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5068: WHERE t2.a=38
5069: ORDER BY t1.rowid
5070: }
5071: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5072: do_test boundary3-2.27.gt.4 {
5073: db eval {
5074: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5075: WHERE t2.a=38
5076: ORDER BY t1.rowid DESC
5077: }
5078: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59}
5079: do_test boundary3-2.27.gt.5 {
5080: db eval {
5081: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5082: WHERE t2.a=38
5083: ORDER BY x
5084: }
5085: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5086: do_test boundary3-2.27.gt.10 {
5087: db eval {
5088: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
5089: WHERE t2.a=38
5090: ORDER BY t1.rowid
5091: }
5092: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5093: do_test boundary3-2.27.gt.11 {
5094: db eval {
5095: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
5096: WHERE t2.a=38
5097: ORDER BY t1.rowid DESC
5098: }
5099: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59}
5100: do_test boundary3-2.27.ge.1 {
5101: db eval {
5102: SELECT t2.a FROM t1 JOIN t2 USING(a)
5103: WHERE t1.rowid >= -1 ORDER BY t2.a
5104: }
5105: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
5106: do_test boundary3-2.27.ge.2 {
5107: db eval {
5108: SELECT t2.a FROM t2 NATURAL JOIN t1
5109: WHERE t1.rowid >= -1 ORDER BY t1.a DESC
5110: }
5111: } {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
5112: do_test boundary3-2.27.ge.3 {
5113: db eval {
5114: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5115: WHERE t2.a=38
5116: ORDER BY t1.rowid
5117: }
5118: } {38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5119: do_test boundary3-2.27.ge.4 {
5120: db eval {
5121: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5122: WHERE t2.a=38
5123: ORDER BY t1.rowid DESC
5124: }
5125: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38}
5126: do_test boundary3-2.27.ge.5 {
5127: db eval {
5128: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5129: WHERE t2.a=38
5130: ORDER BY x
5131: }
5132: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 38}
5133: do_test boundary3-2.27.ge.10 {
5134: db eval {
5135: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
5136: WHERE t2.a=38
5137: ORDER BY t1.rowid
5138: }
5139: } {38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5140: do_test boundary3-2.27.ge.11 {
5141: db eval {
5142: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
5143: WHERE t2.a=38
5144: ORDER BY t1.rowid DESC
5145: }
5146: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38}
5147: do_test boundary3-2.27.lt.1 {
5148: db eval {
5149: SELECT t2.a FROM t1 JOIN t2 USING(a)
5150: WHERE t1.rowid < -1 ORDER BY t2.a
5151: }
5152: } {1 2 11 21 29 32 33 37 44 47 52 53 54 55 58 63 64}
5153: do_test boundary3-2.27.lt.2 {
5154: db eval {
5155: SELECT t2.a FROM t2 NATURAL JOIN t1
5156: WHERE t1.rowid < -1 ORDER BY t1.a DESC
5157: }
5158: } {64 63 58 55 54 53 52 47 44 37 33 32 29 21 11 2 1}
5159: do_test boundary3-2.27.lt.3 {
5160: db eval {
5161: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5162: WHERE t2.a=38
5163: ORDER BY t1.rowid
5164: }
5165: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
5166: do_test boundary3-2.27.lt.4 {
5167: db eval {
5168: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5169: WHERE t2.a=38
5170: ORDER BY t1.rowid DESC
5171: }
5172: } {33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5173: do_test boundary3-2.27.lt.5 {
5174: db eval {
5175: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5176: WHERE t2.a=38
5177: ORDER BY x
5178: }
5179: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
5180: do_test boundary3-2.27.lt.10 {
5181: db eval {
5182: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
5183: WHERE t2.a=38
5184: ORDER BY t1.rowid
5185: }
5186: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
5187: do_test boundary3-2.27.lt.11 {
5188: db eval {
5189: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
5190: WHERE t2.a=38
5191: ORDER BY t1.rowid DESC
5192: }
5193: } {33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5194: do_test boundary3-2.27.le.1 {
5195: db eval {
5196: SELECT t2.a FROM t1 JOIN t2 USING(a)
5197: WHERE t1.rowid <= -1 ORDER BY t2.a
5198: }
5199: } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 63 64}
5200: do_test boundary3-2.27.le.2 {
5201: db eval {
5202: SELECT t2.a FROM t2 NATURAL JOIN t1
5203: WHERE t1.rowid <= -1 ORDER BY t1.a DESC
5204: }
5205: } {64 63 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
5206: do_test boundary3-2.27.le.3 {
5207: db eval {
5208: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5209: WHERE t2.a=38
5210: ORDER BY t1.rowid
5211: }
5212: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
5213: do_test boundary3-2.27.le.4 {
5214: db eval {
5215: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5216: WHERE t2.a=38
5217: ORDER BY t1.rowid DESC
5218: }
5219: } {38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5220: do_test boundary3-2.27.le.5 {
5221: db eval {
5222: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5223: WHERE t2.a=38
5224: ORDER BY x
5225: }
5226: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
5227: do_test boundary3-2.27.le.10 {
5228: db eval {
5229: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
5230: WHERE t2.a=38
5231: ORDER BY t1.rowid
5232: }
5233: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
5234: do_test boundary3-2.27.le.11 {
5235: db eval {
5236: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
5237: WHERE t2.a=38
5238: ORDER BY t1.rowid DESC
5239: }
5240: } {38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5241: do_test boundary3-2.28.1 {
5242: db eval {
5243: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-2 AND t2.a=t1.a
5244: }
5245: } {33 fffffffffffffffe}
5246: do_test boundary3-2.28.2 {
5247: db eval {
5248: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='fffffffffffffffe'
5249: }
5250: } {-2 33}
5251: do_test boundary3-2.28.3 {
5252: db eval {
5253: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=33
5254: }
5255: } {-2 fffffffffffffffe}
5256: do_test boundary3-2.28.gt.1 {
5257: db eval {
5258: SELECT t2.a FROM t1 JOIN t2 USING(a)
5259: WHERE t1.rowid > -2 ORDER BY t2.a
5260: }
5261: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
5262: do_test boundary3-2.28.gt.2 {
5263: db eval {
5264: SELECT t2.a FROM t2 NATURAL JOIN t1
5265: WHERE t1.rowid > -2 ORDER BY t1.a DESC
5266: }
5267: } {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
5268: do_test boundary3-2.28.gt.3 {
5269: db eval {
5270: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5271: WHERE t2.a=33
5272: ORDER BY t1.rowid
5273: }
5274: } {38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5275: do_test boundary3-2.28.gt.4 {
5276: db eval {
5277: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5278: WHERE t2.a=33
5279: ORDER BY t1.rowid DESC
5280: }
5281: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38}
5282: do_test boundary3-2.28.gt.5 {
5283: db eval {
5284: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5285: WHERE t2.a=33
5286: ORDER BY x
5287: }
5288: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 38}
5289: do_test boundary3-2.28.gt.10 {
5290: db eval {
5291: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
5292: WHERE t2.a=33
5293: ORDER BY t1.rowid
5294: }
5295: } {38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5296: do_test boundary3-2.28.gt.11 {
5297: db eval {
5298: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
5299: WHERE t2.a=33
5300: ORDER BY t1.rowid DESC
5301: }
5302: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38}
5303: do_test boundary3-2.28.ge.1 {
5304: db eval {
5305: SELECT t2.a FROM t1 JOIN t2 USING(a)
5306: WHERE t1.rowid >= -2 ORDER BY t2.a
5307: }
5308: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 56 57 59 60 61 62}
5309: do_test boundary3-2.28.ge.2 {
5310: db eval {
5311: SELECT t2.a FROM t2 NATURAL JOIN t1
5312: WHERE t1.rowid >= -2 ORDER BY t1.a DESC
5313: }
5314: } {62 61 60 59 57 56 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
5315: do_test boundary3-2.28.ge.3 {
5316: db eval {
5317: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5318: WHERE t2.a=33
5319: ORDER BY t1.rowid
5320: }
5321: } {33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5322: do_test boundary3-2.28.ge.4 {
5323: db eval {
5324: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5325: WHERE t2.a=33
5326: ORDER BY t1.rowid DESC
5327: }
5328: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33}
5329: do_test boundary3-2.28.ge.5 {
5330: db eval {
5331: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5332: WHERE t2.a=33
5333: ORDER BY x
5334: }
5335: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 33 38}
5336: do_test boundary3-2.28.ge.10 {
5337: db eval {
5338: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
5339: WHERE t2.a=33
5340: ORDER BY t1.rowid
5341: }
5342: } {33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5343: do_test boundary3-2.28.ge.11 {
5344: db eval {
5345: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
5346: WHERE t2.a=33
5347: ORDER BY t1.rowid DESC
5348: }
5349: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33}
5350: do_test boundary3-2.28.lt.1 {
5351: db eval {
5352: SELECT t2.a FROM t1 JOIN t2 USING(a)
5353: WHERE t1.rowid < -2 ORDER BY t2.a
5354: }
5355: } {1 2 11 21 29 32 37 44 47 52 53 54 55 58 63 64}
5356: do_test boundary3-2.28.lt.2 {
5357: db eval {
5358: SELECT t2.a FROM t2 NATURAL JOIN t1
5359: WHERE t1.rowid < -2 ORDER BY t1.a DESC
5360: }
5361: } {64 63 58 55 54 53 52 47 44 37 32 29 21 11 2 1}
5362: do_test boundary3-2.28.lt.3 {
5363: db eval {
5364: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5365: WHERE t2.a=33
5366: ORDER BY t1.rowid
5367: }
5368: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
5369: do_test boundary3-2.28.lt.4 {
5370: db eval {
5371: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5372: WHERE t2.a=33
5373: ORDER BY t1.rowid DESC
5374: }
5375: } {52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5376: do_test boundary3-2.28.lt.5 {
5377: db eval {
5378: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5379: WHERE t2.a=33
5380: ORDER BY x
5381: }
5382: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
5383: do_test boundary3-2.28.lt.10 {
5384: db eval {
5385: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
5386: WHERE t2.a=33
5387: ORDER BY t1.rowid
5388: }
5389: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52}
5390: do_test boundary3-2.28.lt.11 {
5391: db eval {
5392: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
5393: WHERE t2.a=33
5394: ORDER BY t1.rowid DESC
5395: }
5396: } {52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5397: do_test boundary3-2.28.le.1 {
5398: db eval {
5399: SELECT t2.a FROM t1 JOIN t2 USING(a)
5400: WHERE t1.rowid <= -2 ORDER BY t2.a
5401: }
5402: } {1 2 11 21 29 32 33 37 44 47 52 53 54 55 58 63 64}
5403: do_test boundary3-2.28.le.2 {
5404: db eval {
5405: SELECT t2.a FROM t2 NATURAL JOIN t1
5406: WHERE t1.rowid <= -2 ORDER BY t1.a DESC
5407: }
5408: } {64 63 58 55 54 53 52 47 44 37 33 32 29 21 11 2 1}
5409: do_test boundary3-2.28.le.3 {
5410: db eval {
5411: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5412: WHERE t2.a=33
5413: ORDER BY t1.rowid
5414: }
5415: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
5416: do_test boundary3-2.28.le.4 {
5417: db eval {
5418: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5419: WHERE t2.a=33
5420: ORDER BY t1.rowid DESC
5421: }
5422: } {33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5423: do_test boundary3-2.28.le.5 {
5424: db eval {
5425: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5426: WHERE t2.a=33
5427: ORDER BY x
5428: }
5429: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
5430: do_test boundary3-2.28.le.10 {
5431: db eval {
5432: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
5433: WHERE t2.a=33
5434: ORDER BY t1.rowid
5435: }
5436: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33}
5437: do_test boundary3-2.28.le.11 {
5438: db eval {
5439: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
5440: WHERE t2.a=33
5441: ORDER BY t1.rowid DESC
5442: }
5443: } {33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5444: do_test boundary3-2.29.1 {
5445: db eval {
5446: SELECT t1.* FROM t1, t2 WHERE t1.rowid=2097152 AND t2.a=t1.a
5447: }
5448: } {42 0000000000200000}
5449: do_test boundary3-2.29.2 {
5450: db eval {
5451: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000200000'
5452: }
5453: } {2097152 42}
5454: do_test boundary3-2.29.3 {
5455: db eval {
5456: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=42
5457: }
5458: } {2097152 0000000000200000}
5459: do_test boundary3-2.29.gt.1 {
5460: db eval {
5461: SELECT t2.a FROM t1 JOIN t2 USING(a)
5462: WHERE t1.rowid > 2097152 ORDER BY t2.a
5463: }
5464: } {3 6 7 9 10 12 13 14 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
5465: do_test boundary3-2.29.gt.2 {
5466: db eval {
5467: SELECT t2.a FROM t2 NATURAL JOIN t1
5468: WHERE t1.rowid > 2097152 ORDER BY t1.a DESC
5469: }
5470: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 14 13 12 10 9 7 6 3}
5471: do_test boundary3-2.29.gt.3 {
5472: db eval {
5473: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5474: WHERE t2.a=42
5475: ORDER BY t1.rowid
5476: }
5477: } {18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5478: do_test boundary3-2.29.gt.4 {
5479: db eval {
5480: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5481: WHERE t2.a=42
5482: ORDER BY t1.rowid DESC
5483: }
5484: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18}
5485: do_test boundary3-2.29.gt.5 {
5486: db eval {
5487: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5488: WHERE t2.a=42
5489: ORDER BY x
5490: }
5491: } {18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5492: do_test boundary3-2.29.gt.10 {
5493: db eval {
5494: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
5495: WHERE t2.a=42
5496: ORDER BY t1.rowid
5497: }
5498: } {18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5499: do_test boundary3-2.29.gt.11 {
5500: db eval {
5501: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
5502: WHERE t2.a=42
5503: ORDER BY t1.rowid DESC
5504: }
5505: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18}
5506: do_test boundary3-2.29.ge.1 {
5507: db eval {
5508: SELECT t2.a FROM t1 JOIN t2 USING(a)
5509: WHERE t1.rowid >= 2097152 ORDER BY t2.a
5510: }
5511: } {3 6 7 9 10 12 13 14 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57}
5512: do_test boundary3-2.29.ge.2 {
5513: db eval {
5514: SELECT t2.a FROM t2 NATURAL JOIN t1
5515: WHERE t1.rowid >= 2097152 ORDER BY t1.a DESC
5516: }
5517: } {57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 14 13 12 10 9 7 6 3}
5518: do_test boundary3-2.29.ge.3 {
5519: db eval {
5520: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5521: WHERE t2.a=42
5522: ORDER BY t1.rowid
5523: }
5524: } {42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5525: do_test boundary3-2.29.ge.4 {
5526: db eval {
5527: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5528: WHERE t2.a=42
5529: ORDER BY t1.rowid DESC
5530: }
5531: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42}
5532: do_test boundary3-2.29.ge.5 {
5533: db eval {
5534: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5535: WHERE t2.a=42
5536: ORDER BY x
5537: }
5538: } {42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5539: do_test boundary3-2.29.ge.10 {
5540: db eval {
5541: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
5542: WHERE t2.a=42
5543: ORDER BY t1.rowid
5544: }
5545: } {42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5546: do_test boundary3-2.29.ge.11 {
5547: db eval {
5548: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
5549: WHERE t2.a=42
5550: ORDER BY t1.rowid DESC
5551: }
5552: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42}
5553: do_test boundary3-2.29.lt.1 {
5554: db eval {
5555: SELECT t2.a FROM t1 JOIN t2 USING(a)
5556: WHERE t1.rowid < 2097152 ORDER BY t2.a
5557: }
5558: } {1 2 4 5 8 11 15 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
5559: do_test boundary3-2.29.lt.2 {
5560: db eval {
5561: SELECT t2.a FROM t2 NATURAL JOIN t1
5562: WHERE t1.rowid < 2097152 ORDER BY t1.a DESC
5563: }
5564: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 15 11 8 5 4 2 1}
5565: do_test boundary3-2.29.lt.3 {
5566: db eval {
5567: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5568: WHERE t2.a=42
5569: ORDER BY t1.rowid
5570: }
5571: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15}
5572: do_test boundary3-2.29.lt.4 {
5573: db eval {
5574: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5575: WHERE t2.a=42
5576: ORDER BY t1.rowid DESC
5577: }
5578: } {15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5579: do_test boundary3-2.29.lt.5 {
5580: db eval {
5581: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5582: WHERE t2.a=42
5583: ORDER BY x
5584: }
5585: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
5586: do_test boundary3-2.29.lt.10 {
5587: db eval {
5588: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
5589: WHERE t2.a=42
5590: ORDER BY t1.rowid
5591: }
5592: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15}
5593: do_test boundary3-2.29.lt.11 {
5594: db eval {
5595: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
5596: WHERE t2.a=42
5597: ORDER BY t1.rowid DESC
5598: }
5599: } {15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5600: do_test boundary3-2.29.le.1 {
5601: db eval {
5602: SELECT t2.a FROM t1 JOIN t2 USING(a)
5603: WHERE t1.rowid <= 2097152 ORDER BY t2.a
5604: }
5605: } {1 2 4 5 8 11 15 16 21 23 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
5606: do_test boundary3-2.29.le.2 {
5607: db eval {
5608: SELECT t2.a FROM t2 NATURAL JOIN t1
5609: WHERE t1.rowid <= 2097152 ORDER BY t1.a DESC
5610: }
5611: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 23 21 16 15 11 8 5 4 2 1}
5612: do_test boundary3-2.29.le.3 {
5613: db eval {
5614: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5615: WHERE t2.a=42
5616: ORDER BY t1.rowid
5617: }
5618: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42}
5619: do_test boundary3-2.29.le.4 {
5620: db eval {
5621: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5622: WHERE t2.a=42
5623: ORDER BY t1.rowid DESC
5624: }
5625: } {42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5626: do_test boundary3-2.29.le.5 {
5627: db eval {
5628: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5629: WHERE t2.a=42
5630: ORDER BY x
5631: }
5632: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
5633: do_test boundary3-2.29.le.10 {
5634: db eval {
5635: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
5636: WHERE t2.a=42
5637: ORDER BY t1.rowid
5638: }
5639: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42}
5640: do_test boundary3-2.29.le.11 {
5641: db eval {
5642: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
5643: WHERE t2.a=42
5644: ORDER BY t1.rowid DESC
5645: }
5646: } {42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5647: do_test boundary3-2.30.1 {
5648: db eval {
5649: SELECT t1.* FROM t1, t2 WHERE t1.rowid=128 AND t2.a=t1.a
5650: }
5651: } {49 0000000000000080}
5652: do_test boundary3-2.30.2 {
5653: db eval {
5654: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000080'
5655: }
5656: } {128 49}
5657: do_test boundary3-2.30.3 {
5658: db eval {
5659: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=49
5660: }
5661: } {128 0000000000000080}
5662: do_test boundary3-2.30.gt.1 {
5663: db eval {
5664: SELECT t2.a FROM t1 JOIN t2 USING(a)
5665: WHERE t1.rowid > 128 ORDER BY t2.a
5666: }
5667: } {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 50 51 56 57 61 62}
5668: do_test boundary3-2.30.gt.2 {
5669: db eval {
5670: SELECT t2.a FROM t2 NATURAL JOIN t1
5671: WHERE t1.rowid > 128 ORDER BY t1.a DESC
5672: }
5673: } {62 61 57 56 51 50 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
5674: do_test boundary3-2.30.gt.3 {
5675: db eval {
5676: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5677: WHERE t2.a=49
5678: ORDER BY t1.rowid
5679: }
5680: } {30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5681: do_test boundary3-2.30.gt.4 {
5682: db eval {
5683: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5684: WHERE t2.a=49
5685: ORDER BY t1.rowid DESC
5686: }
5687: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30}
5688: do_test boundary3-2.30.gt.5 {
5689: db eval {
5690: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5691: WHERE t2.a=49
5692: ORDER BY x
5693: }
5694: } {30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5695: do_test boundary3-2.30.gt.10 {
5696: db eval {
5697: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
5698: WHERE t2.a=49
5699: ORDER BY t1.rowid
5700: }
5701: } {30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5702: do_test boundary3-2.30.gt.11 {
5703: db eval {
5704: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
5705: WHERE t2.a=49
5706: ORDER BY t1.rowid DESC
5707: }
5708: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30}
5709: do_test boundary3-2.30.ge.1 {
5710: db eval {
5711: SELECT t2.a FROM t1 JOIN t2 USING(a)
5712: WHERE t1.rowid >= 128 ORDER BY t2.a
5713: }
5714: } {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
5715: do_test boundary3-2.30.ge.2 {
5716: db eval {
5717: SELECT t2.a FROM t2 NATURAL JOIN t1
5718: WHERE t1.rowid >= 128 ORDER BY t1.a DESC
5719: }
5720: } {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
5721: do_test boundary3-2.30.ge.3 {
5722: db eval {
5723: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5724: WHERE t2.a=49
5725: ORDER BY t1.rowid
5726: }
5727: } {49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5728: do_test boundary3-2.30.ge.4 {
5729: db eval {
5730: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5731: WHERE t2.a=49
5732: ORDER BY t1.rowid DESC
5733: }
5734: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49}
5735: do_test boundary3-2.30.ge.5 {
5736: db eval {
5737: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5738: WHERE t2.a=49
5739: ORDER BY x
5740: }
5741: } {49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5742: do_test boundary3-2.30.ge.10 {
5743: db eval {
5744: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
5745: WHERE t2.a=49
5746: ORDER BY t1.rowid
5747: }
5748: } {49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5749: do_test boundary3-2.30.ge.11 {
5750: db eval {
5751: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
5752: WHERE t2.a=49
5753: ORDER BY t1.rowid DESC
5754: }
5755: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49}
5756: do_test boundary3-2.30.lt.1 {
5757: db eval {
5758: SELECT t2.a FROM t1 JOIN t2 USING(a)
5759: WHERE t1.rowid < 128 ORDER BY t2.a
5760: }
5761: } {1 2 4 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
5762: do_test boundary3-2.30.lt.2 {
5763: db eval {
5764: SELECT t2.a FROM t2 NATURAL JOIN t1
5765: WHERE t1.rowid < 128 ORDER BY t1.a DESC
5766: }
5767: } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 4 2 1}
5768: do_test boundary3-2.30.lt.3 {
5769: db eval {
5770: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5771: WHERE t2.a=49
5772: ORDER BY t1.rowid
5773: }
5774: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4}
5775: do_test boundary3-2.30.lt.4 {
5776: db eval {
5777: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5778: WHERE t2.a=49
5779: ORDER BY t1.rowid DESC
5780: }
5781: } {4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5782: do_test boundary3-2.30.lt.5 {
5783: db eval {
5784: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5785: WHERE t2.a=49
5786: ORDER BY x
5787: }
5788: } {59 60 41 5 31 4 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
5789: do_test boundary3-2.30.lt.10 {
5790: db eval {
5791: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
5792: WHERE t2.a=49
5793: ORDER BY t1.rowid
5794: }
5795: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4}
5796: do_test boundary3-2.30.lt.11 {
5797: db eval {
5798: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
5799: WHERE t2.a=49
5800: ORDER BY t1.rowid DESC
5801: }
5802: } {4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5803: do_test boundary3-2.30.le.1 {
5804: db eval {
5805: SELECT t2.a FROM t1 JOIN t2 USING(a)
5806: WHERE t1.rowid <= 128 ORDER BY t2.a
5807: }
5808: } {1 2 4 5 11 21 29 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 63 64}
5809: do_test boundary3-2.30.le.2 {
5810: db eval {
5811: SELECT t2.a FROM t2 NATURAL JOIN t1
5812: WHERE t1.rowid <= 128 ORDER BY t1.a DESC
5813: }
5814: } {64 63 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 29 21 11 5 4 2 1}
5815: do_test boundary3-2.30.le.3 {
5816: db eval {
5817: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5818: WHERE t2.a=49
5819: ORDER BY t1.rowid
5820: }
5821: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49}
5822: do_test boundary3-2.30.le.4 {
5823: db eval {
5824: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5825: WHERE t2.a=49
5826: ORDER BY t1.rowid DESC
5827: }
5828: } {49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5829: do_test boundary3-2.30.le.5 {
5830: db eval {
5831: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
5832: WHERE t2.a=49
5833: ORDER BY x
5834: }
5835: } {59 60 41 5 31 4 49 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
5836: do_test boundary3-2.30.le.10 {
5837: db eval {
5838: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
5839: WHERE t2.a=49
5840: ORDER BY t1.rowid
5841: }
5842: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49}
5843: do_test boundary3-2.30.le.11 {
5844: db eval {
5845: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
5846: WHERE t2.a=49
5847: ORDER BY t1.rowid DESC
5848: }
5849: } {49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5850: do_test boundary3-2.31.1 {
5851: db eval {
5852: SELECT t1.* FROM t1, t2 WHERE t1.rowid=255 AND t2.a=t1.a
5853: }
5854: } {30 00000000000000ff}
5855: do_test boundary3-2.31.2 {
5856: db eval {
5857: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000000000ff'
5858: }
5859: } {255 30}
5860: do_test boundary3-2.31.3 {
5861: db eval {
5862: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=30
5863: }
5864: } {255 00000000000000ff}
5865: do_test boundary3-2.31.gt.1 {
5866: db eval {
5867: SELECT t2.a FROM t1 JOIN t2 USING(a)
5868: WHERE t1.rowid > 255 ORDER BY t2.a
5869: }
5870: } {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 61 62}
5871: do_test boundary3-2.31.gt.2 {
5872: db eval {
5873: SELECT t2.a FROM t2 NATURAL JOIN t1
5874: WHERE t1.rowid > 255 ORDER BY t1.a DESC
5875: }
5876: } {62 61 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
5877: do_test boundary3-2.31.gt.3 {
5878: db eval {
5879: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5880: WHERE t2.a=30
5881: ORDER BY t1.rowid
5882: }
5883: } {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5884: do_test boundary3-2.31.gt.4 {
5885: db eval {
5886: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5887: WHERE t2.a=30
5888: ORDER BY t1.rowid DESC
5889: }
5890: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61}
5891: do_test boundary3-2.31.gt.5 {
5892: db eval {
5893: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
5894: WHERE t2.a=30
5895: ORDER BY x
5896: }
5897: } {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5898: do_test boundary3-2.31.gt.10 {
5899: db eval {
5900: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
5901: WHERE t2.a=30
5902: ORDER BY t1.rowid
5903: }
5904: } {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5905: do_test boundary3-2.31.gt.11 {
5906: db eval {
5907: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
5908: WHERE t2.a=30
5909: ORDER BY t1.rowid DESC
5910: }
5911: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61}
5912: do_test boundary3-2.31.ge.1 {
5913: db eval {
5914: SELECT t2.a FROM t1 JOIN t2 USING(a)
5915: WHERE t1.rowid >= 255 ORDER BY t2.a
5916: }
5917: } {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 50 51 56 57 61 62}
5918: do_test boundary3-2.31.ge.2 {
5919: db eval {
5920: SELECT t2.a FROM t2 NATURAL JOIN t1
5921: WHERE t1.rowid >= 255 ORDER BY t1.a DESC
5922: }
5923: } {62 61 57 56 51 50 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
5924: do_test boundary3-2.31.ge.3 {
5925: db eval {
5926: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5927: WHERE t2.a=30
5928: ORDER BY t1.rowid
5929: }
5930: } {30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5931: do_test boundary3-2.31.ge.4 {
5932: db eval {
5933: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5934: WHERE t2.a=30
5935: ORDER BY t1.rowid DESC
5936: }
5937: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30}
5938: do_test boundary3-2.31.ge.5 {
5939: db eval {
5940: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
5941: WHERE t2.a=30
5942: ORDER BY x
5943: }
5944: } {30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5945: do_test boundary3-2.31.ge.10 {
5946: db eval {
5947: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
5948: WHERE t2.a=30
5949: ORDER BY t1.rowid
5950: }
5951: } {30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
5952: do_test boundary3-2.31.ge.11 {
5953: db eval {
5954: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
5955: WHERE t2.a=30
5956: ORDER BY t1.rowid DESC
5957: }
5958: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30}
5959: do_test boundary3-2.31.lt.1 {
5960: db eval {
5961: SELECT t2.a FROM t1 JOIN t2 USING(a)
5962: WHERE t1.rowid < 255 ORDER BY t2.a
5963: }
5964: } {1 2 4 5 11 21 29 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 63 64}
5965: do_test boundary3-2.31.lt.2 {
5966: db eval {
5967: SELECT t2.a FROM t2 NATURAL JOIN t1
5968: WHERE t1.rowid < 255 ORDER BY t1.a DESC
5969: }
5970: } {64 63 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 29 21 11 5 4 2 1}
5971: do_test boundary3-2.31.lt.3 {
5972: db eval {
5973: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5974: WHERE t2.a=30
5975: ORDER BY t1.rowid
5976: }
5977: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49}
5978: do_test boundary3-2.31.lt.4 {
5979: db eval {
5980: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5981: WHERE t2.a=30
5982: ORDER BY t1.rowid DESC
5983: }
5984: } {49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
5985: do_test boundary3-2.31.lt.5 {
5986: db eval {
5987: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
5988: WHERE t2.a=30
5989: ORDER BY x
5990: }
5991: } {59 60 41 5 31 4 49 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
5992: do_test boundary3-2.31.lt.10 {
5993: db eval {
5994: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
5995: WHERE t2.a=30
5996: ORDER BY t1.rowid
5997: }
5998: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49}
5999: do_test boundary3-2.31.lt.11 {
6000: db eval {
6001: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
6002: WHERE t2.a=30
6003: ORDER BY t1.rowid DESC
6004: }
6005: } {49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
6006: do_test boundary3-2.31.le.1 {
6007: db eval {
6008: SELECT t2.a FROM t1 JOIN t2 USING(a)
6009: WHERE t1.rowid <= 255 ORDER BY t2.a
6010: }
6011: } {1 2 4 5 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 63 64}
6012: do_test boundary3-2.31.le.2 {
6013: db eval {
6014: SELECT t2.a FROM t2 NATURAL JOIN t1
6015: WHERE t1.rowid <= 255 ORDER BY t1.a DESC
6016: }
6017: } {64 63 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 5 4 2 1}
6018: do_test boundary3-2.31.le.3 {
6019: db eval {
6020: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6021: WHERE t2.a=30
6022: ORDER BY t1.rowid
6023: }
6024: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30}
6025: do_test boundary3-2.31.le.4 {
6026: db eval {
6027: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6028: WHERE t2.a=30
6029: ORDER BY t1.rowid DESC
6030: }
6031: } {30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
6032: do_test boundary3-2.31.le.5 {
6033: db eval {
6034: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6035: WHERE t2.a=30
6036: ORDER BY x
6037: }
6038: } {59 60 41 5 31 4 49 30 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
6039: do_test boundary3-2.31.le.10 {
6040: db eval {
6041: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
6042: WHERE t2.a=30
6043: ORDER BY t1.rowid
6044: }
6045: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30}
6046: do_test boundary3-2.31.le.11 {
6047: db eval {
6048: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
6049: WHERE t2.a=30
6050: ORDER BY t1.rowid DESC
6051: }
6052: } {30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
6053: do_test boundary3-2.32.1 {
6054: db eval {
6055: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-2147483648 AND t2.a=t1.a
6056: }
6057: } {11 ffffffff80000000}
6058: do_test boundary3-2.32.2 {
6059: db eval {
6060: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffff80000000'
6061: }
6062: } {-2147483648 11}
6063: do_test boundary3-2.32.3 {
6064: db eval {
6065: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=11
6066: }
6067: } {-2147483648 ffffffff80000000}
6068: do_test boundary3-2.32.gt.1 {
6069: db eval {
6070: SELECT t2.a FROM t1 JOIN t2 USING(a)
6071: WHERE t1.rowid > -2147483648 ORDER BY t2.a
6072: }
6073: } {1 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
6074: do_test boundary3-2.32.gt.2 {
6075: db eval {
6076: SELECT t2.a FROM t2 NATURAL JOIN t1
6077: WHERE t1.rowid > -2147483648 ORDER BY t1.a DESC
6078: }
6079: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 1}
6080: do_test boundary3-2.32.gt.3 {
6081: db eval {
6082: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6083: WHERE t2.a=11
6084: ORDER BY t1.rowid
6085: }
6086: } {1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6087: do_test boundary3-2.32.gt.4 {
6088: db eval {
6089: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6090: WHERE t2.a=11
6091: ORDER BY t1.rowid DESC
6092: }
6093: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1}
6094: do_test boundary3-2.32.gt.5 {
6095: db eval {
6096: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6097: WHERE t2.a=11
6098: ORDER BY x
6099: }
6100: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 1 37 29 32 54 53 52 33 38}
6101: do_test boundary3-2.32.gt.10 {
6102: db eval {
6103: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
6104: WHERE t2.a=11
6105: ORDER BY t1.rowid
6106: }
6107: } {1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6108: do_test boundary3-2.32.gt.11 {
6109: db eval {
6110: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
6111: WHERE t2.a=11
6112: ORDER BY t1.rowid DESC
6113: }
6114: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1}
6115: do_test boundary3-2.32.ge.1 {
6116: db eval {
6117: SELECT t2.a FROM t1 JOIN t2 USING(a)
6118: WHERE t1.rowid >= -2147483648 ORDER BY t2.a
6119: }
6120: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
6121: do_test boundary3-2.32.ge.2 {
6122: db eval {
6123: SELECT t2.a FROM t2 NATURAL JOIN t1
6124: WHERE t1.rowid >= -2147483648 ORDER BY t1.a DESC
6125: }
6126: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
6127: do_test boundary3-2.32.ge.3 {
6128: db eval {
6129: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6130: WHERE t2.a=11
6131: ORDER BY t1.rowid
6132: }
6133: } {11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6134: do_test boundary3-2.32.ge.4 {
6135: db eval {
6136: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6137: WHERE t2.a=11
6138: ORDER BY t1.rowid DESC
6139: }
6140: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11}
6141: do_test boundary3-2.32.ge.5 {
6142: db eval {
6143: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6144: WHERE t2.a=11
6145: ORDER BY x
6146: }
6147: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 11 1 37 29 32 54 53 52 33 38}
6148: do_test boundary3-2.32.ge.10 {
6149: db eval {
6150: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
6151: WHERE t2.a=11
6152: ORDER BY t1.rowid
6153: }
6154: } {11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6155: do_test boundary3-2.32.ge.11 {
6156: db eval {
6157: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
6158: WHERE t2.a=11
6159: ORDER BY t1.rowid DESC
6160: }
6161: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11}
6162: do_test boundary3-2.32.lt.1 {
6163: db eval {
6164: SELECT t2.a FROM t1 JOIN t2 USING(a)
6165: WHERE t1.rowid < -2147483648 ORDER BY t2.a
6166: }
6167: } {2 21 44 47 55 58 63 64}
6168: do_test boundary3-2.32.lt.2 {
6169: db eval {
6170: SELECT t2.a FROM t2 NATURAL JOIN t1
6171: WHERE t1.rowid < -2147483648 ORDER BY t1.a DESC
6172: }
6173: } {64 63 58 55 47 44 21 2}
6174: do_test boundary3-2.32.lt.3 {
6175: db eval {
6176: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6177: WHERE t2.a=11
6178: ORDER BY t1.rowid
6179: }
6180: } {55 2 64 21 44 58 63 47}
6181: do_test boundary3-2.32.lt.4 {
6182: db eval {
6183: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6184: WHERE t2.a=11
6185: ORDER BY t1.rowid DESC
6186: }
6187: } {47 63 58 44 21 64 2 55}
6188: do_test boundary3-2.32.lt.5 {
6189: db eval {
6190: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6191: WHERE t2.a=11
6192: ORDER BY x
6193: }
6194: } {55 2 64 21 44 58 63 47}
6195: do_test boundary3-2.32.lt.10 {
6196: db eval {
6197: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
6198: WHERE t2.a=11
6199: ORDER BY t1.rowid
6200: }
6201: } {55 2 64 21 44 58 63 47}
6202: do_test boundary3-2.32.lt.11 {
6203: db eval {
6204: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
6205: WHERE t2.a=11
6206: ORDER BY t1.rowid DESC
6207: }
6208: } {47 63 58 44 21 64 2 55}
6209: do_test boundary3-2.32.le.1 {
6210: db eval {
6211: SELECT t2.a FROM t1 JOIN t2 USING(a)
6212: WHERE t1.rowid <= -2147483648 ORDER BY t2.a
6213: }
6214: } {2 11 21 44 47 55 58 63 64}
6215: do_test boundary3-2.32.le.2 {
6216: db eval {
6217: SELECT t2.a FROM t2 NATURAL JOIN t1
6218: WHERE t1.rowid <= -2147483648 ORDER BY t1.a DESC
6219: }
6220: } {64 63 58 55 47 44 21 11 2}
6221: do_test boundary3-2.32.le.3 {
6222: db eval {
6223: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6224: WHERE t2.a=11
6225: ORDER BY t1.rowid
6226: }
6227: } {55 2 64 21 44 58 63 47 11}
6228: do_test boundary3-2.32.le.4 {
6229: db eval {
6230: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6231: WHERE t2.a=11
6232: ORDER BY t1.rowid DESC
6233: }
6234: } {11 47 63 58 44 21 64 2 55}
6235: do_test boundary3-2.32.le.5 {
6236: db eval {
6237: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6238: WHERE t2.a=11
6239: ORDER BY x
6240: }
6241: } {55 2 64 21 44 58 63 47 11}
6242: do_test boundary3-2.32.le.10 {
6243: db eval {
6244: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
6245: WHERE t2.a=11
6246: ORDER BY t1.rowid
6247: }
6248: } {55 2 64 21 44 58 63 47 11}
6249: do_test boundary3-2.32.le.11 {
6250: db eval {
6251: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
6252: WHERE t2.a=11
6253: ORDER BY t1.rowid DESC
6254: }
6255: } {11 47 63 58 44 21 64 2 55}
6256: do_test boundary3-2.33.1 {
6257: db eval {
6258: SELECT t1.* FROM t1, t2 WHERE t1.rowid=34359738367 AND t2.a=t1.a
6259: }
6260: } {39 00000007ffffffff}
6261: do_test boundary3-2.33.2 {
6262: db eval {
6263: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000007ffffffff'
6264: }
6265: } {34359738367 39}
6266: do_test boundary3-2.33.3 {
6267: db eval {
6268: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=39
6269: }
6270: } {34359738367 00000007ffffffff}
6271: do_test boundary3-2.33.gt.1 {
6272: db eval {
6273: SELECT t2.a FROM t1 JOIN t2 USING(a)
6274: WHERE t1.rowid > 34359738367 ORDER BY t2.a
6275: }
6276: } {3 7 10 13 17 19 22 25 26 27 28 34 35 43 45 46 56 57}
6277: do_test boundary3-2.33.gt.2 {
6278: db eval {
6279: SELECT t2.a FROM t2 NATURAL JOIN t1
6280: WHERE t1.rowid > 34359738367 ORDER BY t1.a DESC
6281: }
6282: } {57 56 46 45 43 35 34 28 27 26 25 22 19 17 13 10 7 3}
6283: do_test boundary3-2.33.gt.3 {
6284: db eval {
6285: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6286: WHERE t2.a=39
6287: ORDER BY t1.rowid
6288: }
6289: } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6290: do_test boundary3-2.33.gt.4 {
6291: db eval {
6292: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6293: WHERE t2.a=39
6294: ORDER BY t1.rowid DESC
6295: }
6296: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22}
6297: do_test boundary3-2.33.gt.5 {
6298: db eval {
6299: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6300: WHERE t2.a=39
6301: ORDER BY x
6302: }
6303: } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6304: do_test boundary3-2.33.gt.10 {
6305: db eval {
6306: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
6307: WHERE t2.a=39
6308: ORDER BY t1.rowid
6309: }
6310: } {22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6311: do_test boundary3-2.33.gt.11 {
6312: db eval {
6313: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
6314: WHERE t2.a=39
6315: ORDER BY t1.rowid DESC
6316: }
6317: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22}
6318: do_test boundary3-2.33.ge.1 {
6319: db eval {
6320: SELECT t2.a FROM t1 JOIN t2 USING(a)
6321: WHERE t1.rowid >= 34359738367 ORDER BY t2.a
6322: }
6323: } {3 7 10 13 17 19 22 25 26 27 28 34 35 39 43 45 46 56 57}
6324: do_test boundary3-2.33.ge.2 {
6325: db eval {
6326: SELECT t2.a FROM t2 NATURAL JOIN t1
6327: WHERE t1.rowid >= 34359738367 ORDER BY t1.a DESC
6328: }
6329: } {57 56 46 45 43 39 35 34 28 27 26 25 22 19 17 13 10 7 3}
6330: do_test boundary3-2.33.ge.3 {
6331: db eval {
6332: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6333: WHERE t2.a=39
6334: ORDER BY t1.rowid
6335: }
6336: } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6337: do_test boundary3-2.33.ge.4 {
6338: db eval {
6339: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6340: WHERE t2.a=39
6341: ORDER BY t1.rowid DESC
6342: }
6343: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}
6344: do_test boundary3-2.33.ge.5 {
6345: db eval {
6346: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6347: WHERE t2.a=39
6348: ORDER BY x
6349: }
6350: } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6351: do_test boundary3-2.33.ge.10 {
6352: db eval {
6353: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
6354: WHERE t2.a=39
6355: ORDER BY t1.rowid
6356: }
6357: } {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6358: do_test boundary3-2.33.ge.11 {
6359: db eval {
6360: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
6361: WHERE t2.a=39
6362: ORDER BY t1.rowid DESC
6363: }
6364: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}
6365: do_test boundary3-2.33.lt.1 {
6366: db eval {
6367: SELECT t2.a FROM t1 JOIN t2 USING(a)
6368: WHERE t1.rowid < 34359738367 ORDER BY t2.a
6369: }
6370: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 36 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
6371: do_test boundary3-2.33.lt.2 {
6372: db eval {
6373: SELECT t2.a FROM t2 NATURAL JOIN t1
6374: WHERE t1.rowid < 34359738367 ORDER BY t1.a DESC
6375: }
6376: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 36 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
6377: do_test boundary3-2.33.lt.3 {
6378: db eval {
6379: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6380: WHERE t2.a=39
6381: ORDER BY t1.rowid
6382: }
6383: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36}
6384: do_test boundary3-2.33.lt.4 {
6385: db eval {
6386: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6387: WHERE t2.a=39
6388: ORDER BY t1.rowid DESC
6389: }
6390: } {36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
6391: do_test boundary3-2.33.lt.5 {
6392: db eval {
6393: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6394: WHERE t2.a=39
6395: ORDER BY x
6396: }
6397: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
6398: do_test boundary3-2.33.lt.10 {
6399: db eval {
6400: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
6401: WHERE t2.a=39
6402: ORDER BY t1.rowid
6403: }
6404: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36}
6405: do_test boundary3-2.33.lt.11 {
6406: db eval {
6407: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
6408: WHERE t2.a=39
6409: ORDER BY t1.rowid DESC
6410: }
6411: } {36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
6412: do_test boundary3-2.33.le.1 {
6413: db eval {
6414: SELECT t2.a FROM t1 JOIN t2 USING(a)
6415: WHERE t1.rowid <= 34359738367 ORDER BY t2.a
6416: }
6417: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
6418: do_test boundary3-2.33.le.2 {
6419: db eval {
6420: SELECT t2.a FROM t2 NATURAL JOIN t1
6421: WHERE t1.rowid <= 34359738367 ORDER BY t1.a DESC
6422: }
6423: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
6424: do_test boundary3-2.33.le.3 {
6425: db eval {
6426: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6427: WHERE t2.a=39
6428: ORDER BY t1.rowid
6429: }
6430: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39}
6431: do_test boundary3-2.33.le.4 {
6432: db eval {
6433: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6434: WHERE t2.a=39
6435: ORDER BY t1.rowid DESC
6436: }
6437: } {39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
6438: do_test boundary3-2.33.le.5 {
6439: db eval {
6440: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6441: WHERE t2.a=39
6442: ORDER BY x
6443: }
6444: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
6445: do_test boundary3-2.33.le.10 {
6446: db eval {
6447: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
6448: WHERE t2.a=39
6449: ORDER BY t1.rowid
6450: }
6451: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39}
6452: do_test boundary3-2.33.le.11 {
6453: db eval {
6454: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
6455: WHERE t2.a=39
6456: ORDER BY t1.rowid DESC
6457: }
6458: } {39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
6459: do_test boundary3-2.34.1 {
6460: db eval {
6461: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-549755813889 AND t2.a=t1.a
6462: }
6463: } {58 ffffff7fffffffff}
6464: do_test boundary3-2.34.2 {
6465: db eval {
6466: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffff7fffffffff'
6467: }
6468: } {-549755813889 58}
6469: do_test boundary3-2.34.3 {
6470: db eval {
6471: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=58
6472: }
6473: } {-549755813889 ffffff7fffffffff}
6474: do_test boundary3-2.34.gt.1 {
6475: db eval {
6476: SELECT t2.a FROM t1 JOIN t2 USING(a)
6477: WHERE t1.rowid > -549755813889 ORDER BY t2.a
6478: }
6479: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 59 60 61 62 63}
6480: do_test boundary3-2.34.gt.2 {
6481: db eval {
6482: SELECT t2.a FROM t2 NATURAL JOIN t1
6483: WHERE t1.rowid > -549755813889 ORDER BY t1.a DESC
6484: }
6485: } {63 62 61 60 59 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
6486: do_test boundary3-2.34.gt.3 {
6487: db eval {
6488: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6489: WHERE t2.a=58
6490: ORDER BY t1.rowid
6491: }
6492: } {63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6493: do_test boundary3-2.34.gt.4 {
6494: db eval {
6495: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6496: WHERE t2.a=58
6497: ORDER BY t1.rowid DESC
6498: }
6499: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63}
6500: do_test boundary3-2.34.gt.5 {
6501: db eval {
6502: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6503: WHERE t2.a=58
6504: ORDER BY x
6505: }
6506: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 63 47 11 1 37 29 32 54 53 52 33 38}
6507: do_test boundary3-2.34.gt.10 {
6508: db eval {
6509: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
6510: WHERE t2.a=58
6511: ORDER BY t1.rowid
6512: }
6513: } {63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6514: do_test boundary3-2.34.gt.11 {
6515: db eval {
6516: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
6517: WHERE t2.a=58
6518: ORDER BY t1.rowid DESC
6519: }
6520: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63}
6521: do_test boundary3-2.34.ge.1 {
6522: db eval {
6523: SELECT t2.a FROM t1 JOIN t2 USING(a)
6524: WHERE t1.rowid >= -549755813889 ORDER BY t2.a
6525: }
6526: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}
6527: do_test boundary3-2.34.ge.2 {
6528: db eval {
6529: SELECT t2.a FROM t2 NATURAL JOIN t1
6530: WHERE t1.rowid >= -549755813889 ORDER BY t1.a DESC
6531: }
6532: } {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
6533: do_test boundary3-2.34.ge.3 {
6534: db eval {
6535: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6536: WHERE t2.a=58
6537: ORDER BY t1.rowid
6538: }
6539: } {58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6540: do_test boundary3-2.34.ge.4 {
6541: db eval {
6542: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6543: WHERE t2.a=58
6544: ORDER BY t1.rowid DESC
6545: }
6546: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58}
6547: do_test boundary3-2.34.ge.5 {
6548: db eval {
6549: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6550: WHERE t2.a=58
6551: ORDER BY x
6552: }
6553: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 58 63 47 11 1 37 29 32 54 53 52 33 38}
6554: do_test boundary3-2.34.ge.10 {
6555: db eval {
6556: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
6557: WHERE t2.a=58
6558: ORDER BY t1.rowid
6559: }
6560: } {58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6561: do_test boundary3-2.34.ge.11 {
6562: db eval {
6563: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
6564: WHERE t2.a=58
6565: ORDER BY t1.rowid DESC
6566: }
6567: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58}
6568: do_test boundary3-2.34.lt.1 {
6569: db eval {
6570: SELECT t2.a FROM t1 JOIN t2 USING(a)
6571: WHERE t1.rowid < -549755813889 ORDER BY t2.a
6572: }
6573: } {2 21 44 55 64}
6574: do_test boundary3-2.34.lt.2 {
6575: db eval {
6576: SELECT t2.a FROM t2 NATURAL JOIN t1
6577: WHERE t1.rowid < -549755813889 ORDER BY t1.a DESC
6578: }
6579: } {64 55 44 21 2}
6580: do_test boundary3-2.34.lt.3 {
6581: db eval {
6582: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6583: WHERE t2.a=58
6584: ORDER BY t1.rowid
6585: }
6586: } {55 2 64 21 44}
6587: do_test boundary3-2.34.lt.4 {
6588: db eval {
6589: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6590: WHERE t2.a=58
6591: ORDER BY t1.rowid DESC
6592: }
6593: } {44 21 64 2 55}
6594: do_test boundary3-2.34.lt.5 {
6595: db eval {
6596: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6597: WHERE t2.a=58
6598: ORDER BY x
6599: }
6600: } {55 2 64 21 44}
6601: do_test boundary3-2.34.lt.10 {
6602: db eval {
6603: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
6604: WHERE t2.a=58
6605: ORDER BY t1.rowid
6606: }
6607: } {55 2 64 21 44}
6608: do_test boundary3-2.34.lt.11 {
6609: db eval {
6610: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
6611: WHERE t2.a=58
6612: ORDER BY t1.rowid DESC
6613: }
6614: } {44 21 64 2 55}
6615: do_test boundary3-2.34.le.1 {
6616: db eval {
6617: SELECT t2.a FROM t1 JOIN t2 USING(a)
6618: WHERE t1.rowid <= -549755813889 ORDER BY t2.a
6619: }
6620: } {2 21 44 55 58 64}
6621: do_test boundary3-2.34.le.2 {
6622: db eval {
6623: SELECT t2.a FROM t2 NATURAL JOIN t1
6624: WHERE t1.rowid <= -549755813889 ORDER BY t1.a DESC
6625: }
6626: } {64 58 55 44 21 2}
6627: do_test boundary3-2.34.le.3 {
6628: db eval {
6629: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6630: WHERE t2.a=58
6631: ORDER BY t1.rowid
6632: }
6633: } {55 2 64 21 44 58}
6634: do_test boundary3-2.34.le.4 {
6635: db eval {
6636: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6637: WHERE t2.a=58
6638: ORDER BY t1.rowid DESC
6639: }
6640: } {58 44 21 64 2 55}
6641: do_test boundary3-2.34.le.5 {
6642: db eval {
6643: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6644: WHERE t2.a=58
6645: ORDER BY x
6646: }
6647: } {55 2 64 21 44 58}
6648: do_test boundary3-2.34.le.10 {
6649: db eval {
6650: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
6651: WHERE t2.a=58
6652: ORDER BY t1.rowid
6653: }
6654: } {55 2 64 21 44 58}
6655: do_test boundary3-2.34.le.11 {
6656: db eval {
6657: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
6658: WHERE t2.a=58
6659: ORDER BY t1.rowid DESC
6660: }
6661: } {58 44 21 64 2 55}
6662: do_test boundary3-2.35.1 {
6663: db eval {
6664: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-32768 AND t2.a=t1.a
6665: }
6666: } {32 ffffffffffff8000}
6667: do_test boundary3-2.35.2 {
6668: db eval {
6669: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffff8000'
6670: }
6671: } {-32768 32}
6672: do_test boundary3-2.35.3 {
6673: db eval {
6674: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=32
6675: }
6676: } {-32768 ffffffffffff8000}
6677: do_test boundary3-2.35.gt.1 {
6678: db eval {
6679: SELECT t2.a FROM t1 JOIN t2 USING(a)
6680: WHERE t1.rowid > -32768 ORDER BY t2.a
6681: }
6682: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
6683: do_test boundary3-2.35.gt.2 {
6684: db eval {
6685: SELECT t2.a FROM t2 NATURAL JOIN t1
6686: WHERE t1.rowid > -32768 ORDER BY t1.a DESC
6687: }
6688: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
6689: do_test boundary3-2.35.gt.3 {
6690: db eval {
6691: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6692: WHERE t2.a=32
6693: ORDER BY t1.rowid
6694: }
6695: } {54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6696: do_test boundary3-2.35.gt.4 {
6697: db eval {
6698: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6699: WHERE t2.a=32
6700: ORDER BY t1.rowid DESC
6701: }
6702: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54}
6703: do_test boundary3-2.35.gt.5 {
6704: db eval {
6705: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6706: WHERE t2.a=32
6707: ORDER BY x
6708: }
6709: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 54 53 52 33 38}
6710: do_test boundary3-2.35.gt.10 {
6711: db eval {
6712: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
6713: WHERE t2.a=32
6714: ORDER BY t1.rowid
6715: }
6716: } {54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6717: do_test boundary3-2.35.gt.11 {
6718: db eval {
6719: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
6720: WHERE t2.a=32
6721: ORDER BY t1.rowid DESC
6722: }
6723: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54}
6724: do_test boundary3-2.35.ge.1 {
6725: db eval {
6726: SELECT t2.a FROM t1 JOIN t2 USING(a)
6727: WHERE t1.rowid >= -32768 ORDER BY t2.a
6728: }
6729: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 32 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
6730: do_test boundary3-2.35.ge.2 {
6731: db eval {
6732: SELECT t2.a FROM t2 NATURAL JOIN t1
6733: WHERE t1.rowid >= -32768 ORDER BY t1.a DESC
6734: }
6735: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 32 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
6736: do_test boundary3-2.35.ge.3 {
6737: db eval {
6738: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6739: WHERE t2.a=32
6740: ORDER BY t1.rowid
6741: }
6742: } {32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6743: do_test boundary3-2.35.ge.4 {
6744: db eval {
6745: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6746: WHERE t2.a=32
6747: ORDER BY t1.rowid DESC
6748: }
6749: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32}
6750: do_test boundary3-2.35.ge.5 {
6751: db eval {
6752: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6753: WHERE t2.a=32
6754: ORDER BY x
6755: }
6756: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 32 54 53 52 33 38}
6757: do_test boundary3-2.35.ge.10 {
6758: db eval {
6759: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
6760: WHERE t2.a=32
6761: ORDER BY t1.rowid
6762: }
6763: } {32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6764: do_test boundary3-2.35.ge.11 {
6765: db eval {
6766: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
6767: WHERE t2.a=32
6768: ORDER BY t1.rowid DESC
6769: }
6770: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32}
6771: do_test boundary3-2.35.lt.1 {
6772: db eval {
6773: SELECT t2.a FROM t1 JOIN t2 USING(a)
6774: WHERE t1.rowid < -32768 ORDER BY t2.a
6775: }
6776: } {1 2 11 21 29 37 44 47 55 58 63 64}
6777: do_test boundary3-2.35.lt.2 {
6778: db eval {
6779: SELECT t2.a FROM t2 NATURAL JOIN t1
6780: WHERE t1.rowid < -32768 ORDER BY t1.a DESC
6781: }
6782: } {64 63 58 55 47 44 37 29 21 11 2 1}
6783: do_test boundary3-2.35.lt.3 {
6784: db eval {
6785: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6786: WHERE t2.a=32
6787: ORDER BY t1.rowid
6788: }
6789: } {55 2 64 21 44 58 63 47 11 1 37 29}
6790: do_test boundary3-2.35.lt.4 {
6791: db eval {
6792: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6793: WHERE t2.a=32
6794: ORDER BY t1.rowid DESC
6795: }
6796: } {29 37 1 11 47 63 58 44 21 64 2 55}
6797: do_test boundary3-2.35.lt.5 {
6798: db eval {
6799: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6800: WHERE t2.a=32
6801: ORDER BY x
6802: }
6803: } {55 2 64 21 44 58 63 47 11 1 37 29}
6804: do_test boundary3-2.35.lt.10 {
6805: db eval {
6806: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
6807: WHERE t2.a=32
6808: ORDER BY t1.rowid
6809: }
6810: } {55 2 64 21 44 58 63 47 11 1 37 29}
6811: do_test boundary3-2.35.lt.11 {
6812: db eval {
6813: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
6814: WHERE t2.a=32
6815: ORDER BY t1.rowid DESC
6816: }
6817: } {29 37 1 11 47 63 58 44 21 64 2 55}
6818: do_test boundary3-2.35.le.1 {
6819: db eval {
6820: SELECT t2.a FROM t1 JOIN t2 USING(a)
6821: WHERE t1.rowid <= -32768 ORDER BY t2.a
6822: }
6823: } {1 2 11 21 29 32 37 44 47 55 58 63 64}
6824: do_test boundary3-2.35.le.2 {
6825: db eval {
6826: SELECT t2.a FROM t2 NATURAL JOIN t1
6827: WHERE t1.rowid <= -32768 ORDER BY t1.a DESC
6828: }
6829: } {64 63 58 55 47 44 37 32 29 21 11 2 1}
6830: do_test boundary3-2.35.le.3 {
6831: db eval {
6832: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6833: WHERE t2.a=32
6834: ORDER BY t1.rowid
6835: }
6836: } {55 2 64 21 44 58 63 47 11 1 37 29 32}
6837: do_test boundary3-2.35.le.4 {
6838: db eval {
6839: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6840: WHERE t2.a=32
6841: ORDER BY t1.rowid DESC
6842: }
6843: } {32 29 37 1 11 47 63 58 44 21 64 2 55}
6844: do_test boundary3-2.35.le.5 {
6845: db eval {
6846: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
6847: WHERE t2.a=32
6848: ORDER BY x
6849: }
6850: } {55 2 64 21 44 58 63 47 11 1 37 29 32}
6851: do_test boundary3-2.35.le.10 {
6852: db eval {
6853: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
6854: WHERE t2.a=32
6855: ORDER BY t1.rowid
6856: }
6857: } {55 2 64 21 44 58 63 47 11 1 37 29 32}
6858: do_test boundary3-2.35.le.11 {
6859: db eval {
6860: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
6861: WHERE t2.a=32
6862: ORDER BY t1.rowid DESC
6863: }
6864: } {32 29 37 1 11 47 63 58 44 21 64 2 55}
6865: do_test boundary3-2.36.1 {
6866: db eval {
6867: SELECT t1.* FROM t1, t2 WHERE t1.rowid=2147483647 AND t2.a=t1.a
6868: }
6869: } {20 000000007fffffff}
6870: do_test boundary3-2.36.2 {
6871: db eval {
6872: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000007fffffff'
6873: }
6874: } {2147483647 20}
6875: do_test boundary3-2.36.3 {
6876: db eval {
6877: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=20
6878: }
6879: } {2147483647 000000007fffffff}
6880: do_test boundary3-2.36.gt.1 {
6881: db eval {
6882: SELECT t2.a FROM t1 JOIN t2 USING(a)
6883: WHERE t1.rowid > 2147483647 ORDER BY t2.a
6884: }
6885: } {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
6886: do_test boundary3-2.36.gt.2 {
6887: db eval {
6888: SELECT t2.a FROM t2 NATURAL JOIN t1
6889: WHERE t1.rowid > 2147483647 ORDER BY t1.a DESC
6890: }
6891: } {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
6892: do_test boundary3-2.36.gt.3 {
6893: db eval {
6894: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6895: WHERE t2.a=20
6896: ORDER BY t1.rowid
6897: }
6898: } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6899: do_test boundary3-2.36.gt.4 {
6900: db eval {
6901: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6902: WHERE t2.a=20
6903: ORDER BY t1.rowid DESC
6904: }
6905: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51}
6906: do_test boundary3-2.36.gt.5 {
6907: db eval {
6908: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
6909: WHERE t2.a=20
6910: ORDER BY x
6911: }
6912: } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6913: do_test boundary3-2.36.gt.10 {
6914: db eval {
6915: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
6916: WHERE t2.a=20
6917: ORDER BY t1.rowid
6918: }
6919: } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6920: do_test boundary3-2.36.gt.11 {
6921: db eval {
6922: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
6923: WHERE t2.a=20
6924: ORDER BY t1.rowid DESC
6925: }
6926: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51}
6927: do_test boundary3-2.36.ge.1 {
6928: db eval {
6929: SELECT t2.a FROM t1 JOIN t2 USING(a)
6930: WHERE t1.rowid >= 2147483647 ORDER BY t2.a
6931: }
6932: } {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
6933: do_test boundary3-2.36.ge.2 {
6934: db eval {
6935: SELECT t2.a FROM t2 NATURAL JOIN t1
6936: WHERE t1.rowid >= 2147483647 ORDER BY t1.a DESC
6937: }
6938: } {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
6939: do_test boundary3-2.36.ge.3 {
6940: db eval {
6941: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6942: WHERE t2.a=20
6943: ORDER BY t1.rowid
6944: }
6945: } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6946: do_test boundary3-2.36.ge.4 {
6947: db eval {
6948: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6949: WHERE t2.a=20
6950: ORDER BY t1.rowid DESC
6951: }
6952: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20}
6953: do_test boundary3-2.36.ge.5 {
6954: db eval {
6955: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
6956: WHERE t2.a=20
6957: ORDER BY x
6958: }
6959: } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6960: do_test boundary3-2.36.ge.10 {
6961: db eval {
6962: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
6963: WHERE t2.a=20
6964: ORDER BY t1.rowid
6965: }
6966: } {20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
6967: do_test boundary3-2.36.ge.11 {
6968: db eval {
6969: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
6970: WHERE t2.a=20
6971: ORDER BY t1.rowid DESC
6972: }
6973: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20}
6974: do_test boundary3-2.36.lt.1 {
6975: db eval {
6976: SELECT t2.a FROM t1 JOIN t2 USING(a)
6977: WHERE t1.rowid < 2147483647 ORDER BY t2.a
6978: }
6979: } {1 2 4 5 6 8 9 11 12 15 16 18 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
6980: do_test boundary3-2.36.lt.2 {
6981: db eval {
6982: SELECT t2.a FROM t2 NATURAL JOIN t1
6983: WHERE t1.rowid < 2147483647 ORDER BY t1.a DESC
6984: }
6985: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 18 16 15 12 11 9 8 6 5 4 2 1}
6986: do_test boundary3-2.36.lt.3 {
6987: db eval {
6988: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6989: WHERE t2.a=20
6990: ORDER BY t1.rowid
6991: }
6992: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40}
6993: do_test boundary3-2.36.lt.4 {
6994: db eval {
6995: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
6996: WHERE t2.a=20
6997: ORDER BY t1.rowid DESC
6998: }
6999: } {40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7000: do_test boundary3-2.36.lt.5 {
7001: db eval {
7002: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7003: WHERE t2.a=20
7004: ORDER BY x
7005: }
7006: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
7007: do_test boundary3-2.36.lt.10 {
7008: db eval {
7009: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
7010: WHERE t2.a=20
7011: ORDER BY t1.rowid
7012: }
7013: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40}
7014: do_test boundary3-2.36.lt.11 {
7015: db eval {
7016: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
7017: WHERE t2.a=20
7018: ORDER BY t1.rowid DESC
7019: }
7020: } {40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7021: do_test boundary3-2.36.le.1 {
7022: db eval {
7023: SELECT t2.a FROM t1 JOIN t2 USING(a)
7024: WHERE t1.rowid <= 2147483647 ORDER BY t2.a
7025: }
7026: } {1 2 4 5 6 8 9 11 12 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
7027: do_test boundary3-2.36.le.2 {
7028: db eval {
7029: SELECT t2.a FROM t2 NATURAL JOIN t1
7030: WHERE t1.rowid <= 2147483647 ORDER BY t1.a DESC
7031: }
7032: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 12 11 9 8 6 5 4 2 1}
7033: do_test boundary3-2.36.le.3 {
7034: db eval {
7035: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7036: WHERE t2.a=20
7037: ORDER BY t1.rowid
7038: }
7039: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20}
7040: do_test boundary3-2.36.le.4 {
7041: db eval {
7042: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7043: WHERE t2.a=20
7044: ORDER BY t1.rowid DESC
7045: }
7046: } {20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7047: do_test boundary3-2.36.le.5 {
7048: db eval {
7049: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7050: WHERE t2.a=20
7051: ORDER BY x
7052: }
7053: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
7054: do_test boundary3-2.36.le.10 {
7055: db eval {
7056: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
7057: WHERE t2.a=20
7058: ORDER BY t1.rowid
7059: }
7060: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20}
7061: do_test boundary3-2.36.le.11 {
7062: db eval {
7063: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
7064: WHERE t2.a=20
7065: ORDER BY t1.rowid DESC
7066: }
7067: } {20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7068: do_test boundary3-2.37.1 {
7069: db eval {
7070: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-129 AND t2.a=t1.a
7071: }
7072: } {54 ffffffffffffff7f}
7073: do_test boundary3-2.37.2 {
7074: db eval {
7075: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffffff7f'
7076: }
7077: } {-129 54}
7078: do_test boundary3-2.37.3 {
7079: db eval {
7080: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=54
7081: }
7082: } {-129 ffffffffffffff7f}
7083: do_test boundary3-2.37.gt.1 {
7084: db eval {
7085: SELECT t2.a FROM t1 JOIN t2 USING(a)
7086: WHERE t1.rowid > -129 ORDER BY t2.a
7087: }
7088: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 56 57 59 60 61 62}
7089: do_test boundary3-2.37.gt.2 {
7090: db eval {
7091: SELECT t2.a FROM t2 NATURAL JOIN t1
7092: WHERE t1.rowid > -129 ORDER BY t1.a DESC
7093: }
7094: } {62 61 60 59 57 56 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
7095: do_test boundary3-2.37.gt.3 {
7096: db eval {
7097: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7098: WHERE t2.a=54
7099: ORDER BY t1.rowid
7100: }
7101: } {53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7102: do_test boundary3-2.37.gt.4 {
7103: db eval {
7104: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7105: WHERE t2.a=54
7106: ORDER BY t1.rowid DESC
7107: }
7108: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53}
7109: do_test boundary3-2.37.gt.5 {
7110: db eval {
7111: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7112: WHERE t2.a=54
7113: ORDER BY x
7114: }
7115: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 53 52 33 38}
7116: do_test boundary3-2.37.gt.10 {
7117: db eval {
7118: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
7119: WHERE t2.a=54
7120: ORDER BY t1.rowid
7121: }
7122: } {53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7123: do_test boundary3-2.37.gt.11 {
7124: db eval {
7125: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
7126: WHERE t2.a=54
7127: ORDER BY t1.rowid DESC
7128: }
7129: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53}
7130: do_test boundary3-2.37.ge.1 {
7131: db eval {
7132: SELECT t2.a FROM t1 JOIN t2 USING(a)
7133: WHERE t1.rowid >= -129 ORDER BY t2.a
7134: }
7135: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
7136: do_test boundary3-2.37.ge.2 {
7137: db eval {
7138: SELECT t2.a FROM t2 NATURAL JOIN t1
7139: WHERE t1.rowid >= -129 ORDER BY t1.a DESC
7140: }
7141: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
7142: do_test boundary3-2.37.ge.3 {
7143: db eval {
7144: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7145: WHERE t2.a=54
7146: ORDER BY t1.rowid
7147: }
7148: } {54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7149: do_test boundary3-2.37.ge.4 {
7150: db eval {
7151: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7152: WHERE t2.a=54
7153: ORDER BY t1.rowid DESC
7154: }
7155: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54}
7156: do_test boundary3-2.37.ge.5 {
7157: db eval {
7158: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7159: WHERE t2.a=54
7160: ORDER BY x
7161: }
7162: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 54 53 52 33 38}
7163: do_test boundary3-2.37.ge.10 {
7164: db eval {
7165: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
7166: WHERE t2.a=54
7167: ORDER BY t1.rowid
7168: }
7169: } {54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7170: do_test boundary3-2.37.ge.11 {
7171: db eval {
7172: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
7173: WHERE t2.a=54
7174: ORDER BY t1.rowid DESC
7175: }
7176: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54}
7177: do_test boundary3-2.37.lt.1 {
7178: db eval {
7179: SELECT t2.a FROM t1 JOIN t2 USING(a)
7180: WHERE t1.rowid < -129 ORDER BY t2.a
7181: }
7182: } {1 2 11 21 29 32 37 44 47 55 58 63 64}
7183: do_test boundary3-2.37.lt.2 {
7184: db eval {
7185: SELECT t2.a FROM t2 NATURAL JOIN t1
7186: WHERE t1.rowid < -129 ORDER BY t1.a DESC
7187: }
7188: } {64 63 58 55 47 44 37 32 29 21 11 2 1}
7189: do_test boundary3-2.37.lt.3 {
7190: db eval {
7191: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7192: WHERE t2.a=54
7193: ORDER BY t1.rowid
7194: }
7195: } {55 2 64 21 44 58 63 47 11 1 37 29 32}
7196: do_test boundary3-2.37.lt.4 {
7197: db eval {
7198: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7199: WHERE t2.a=54
7200: ORDER BY t1.rowid DESC
7201: }
7202: } {32 29 37 1 11 47 63 58 44 21 64 2 55}
7203: do_test boundary3-2.37.lt.5 {
7204: db eval {
7205: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7206: WHERE t2.a=54
7207: ORDER BY x
7208: }
7209: } {55 2 64 21 44 58 63 47 11 1 37 29 32}
7210: do_test boundary3-2.37.lt.10 {
7211: db eval {
7212: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
7213: WHERE t2.a=54
7214: ORDER BY t1.rowid
7215: }
7216: } {55 2 64 21 44 58 63 47 11 1 37 29 32}
7217: do_test boundary3-2.37.lt.11 {
7218: db eval {
7219: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
7220: WHERE t2.a=54
7221: ORDER BY t1.rowid DESC
7222: }
7223: } {32 29 37 1 11 47 63 58 44 21 64 2 55}
7224: do_test boundary3-2.37.le.1 {
7225: db eval {
7226: SELECT t2.a FROM t1 JOIN t2 USING(a)
7227: WHERE t1.rowid <= -129 ORDER BY t2.a
7228: }
7229: } {1 2 11 21 29 32 37 44 47 54 55 58 63 64}
7230: do_test boundary3-2.37.le.2 {
7231: db eval {
7232: SELECT t2.a FROM t2 NATURAL JOIN t1
7233: WHERE t1.rowid <= -129 ORDER BY t1.a DESC
7234: }
7235: } {64 63 58 55 54 47 44 37 32 29 21 11 2 1}
7236: do_test boundary3-2.37.le.3 {
7237: db eval {
7238: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7239: WHERE t2.a=54
7240: ORDER BY t1.rowid
7241: }
7242: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
7243: do_test boundary3-2.37.le.4 {
7244: db eval {
7245: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7246: WHERE t2.a=54
7247: ORDER BY t1.rowid DESC
7248: }
7249: } {54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7250: do_test boundary3-2.37.le.5 {
7251: db eval {
7252: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7253: WHERE t2.a=54
7254: ORDER BY x
7255: }
7256: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
7257: do_test boundary3-2.37.le.10 {
7258: db eval {
7259: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
7260: WHERE t2.a=54
7261: ORDER BY t1.rowid
7262: }
7263: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
7264: do_test boundary3-2.37.le.11 {
7265: db eval {
7266: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
7267: WHERE t2.a=54
7268: ORDER BY t1.rowid DESC
7269: }
7270: } {54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7271: do_test boundary3-2.38.1 {
7272: db eval {
7273: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-128 AND t2.a=t1.a
7274: }
7275: } {53 ffffffffffffff80}
7276: do_test boundary3-2.38.2 {
7277: db eval {
7278: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffffff80'
7279: }
7280: } {-128 53}
7281: do_test boundary3-2.38.3 {
7282: db eval {
7283: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=53
7284: }
7285: } {-128 ffffffffffffff80}
7286: do_test boundary3-2.38.gt.1 {
7287: db eval {
7288: SELECT t2.a FROM t1 JOIN t2 USING(a)
7289: WHERE t1.rowid > -128 ORDER BY t2.a
7290: }
7291: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 56 57 59 60 61 62}
7292: do_test boundary3-2.38.gt.2 {
7293: db eval {
7294: SELECT t2.a FROM t2 NATURAL JOIN t1
7295: WHERE t1.rowid > -128 ORDER BY t1.a DESC
7296: }
7297: } {62 61 60 59 57 56 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
7298: do_test boundary3-2.38.gt.3 {
7299: db eval {
7300: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7301: WHERE t2.a=53
7302: ORDER BY t1.rowid
7303: }
7304: } {52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7305: do_test boundary3-2.38.gt.4 {
7306: db eval {
7307: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7308: WHERE t2.a=53
7309: ORDER BY t1.rowid DESC
7310: }
7311: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52}
7312: do_test boundary3-2.38.gt.5 {
7313: db eval {
7314: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7315: WHERE t2.a=53
7316: ORDER BY x
7317: }
7318: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 52 33 38}
7319: do_test boundary3-2.38.gt.10 {
7320: db eval {
7321: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
7322: WHERE t2.a=53
7323: ORDER BY t1.rowid
7324: }
7325: } {52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7326: do_test boundary3-2.38.gt.11 {
7327: db eval {
7328: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
7329: WHERE t2.a=53
7330: ORDER BY t1.rowid DESC
7331: }
7332: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52}
7333: do_test boundary3-2.38.ge.1 {
7334: db eval {
7335: SELECT t2.a FROM t1 JOIN t2 USING(a)
7336: WHERE t1.rowid >= -128 ORDER BY t2.a
7337: }
7338: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 56 57 59 60 61 62}
7339: do_test boundary3-2.38.ge.2 {
7340: db eval {
7341: SELECT t2.a FROM t2 NATURAL JOIN t1
7342: WHERE t1.rowid >= -128 ORDER BY t1.a DESC
7343: }
7344: } {62 61 60 59 57 56 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
7345: do_test boundary3-2.38.ge.3 {
7346: db eval {
7347: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7348: WHERE t2.a=53
7349: ORDER BY t1.rowid
7350: }
7351: } {53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7352: do_test boundary3-2.38.ge.4 {
7353: db eval {
7354: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7355: WHERE t2.a=53
7356: ORDER BY t1.rowid DESC
7357: }
7358: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53}
7359: do_test boundary3-2.38.ge.5 {
7360: db eval {
7361: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7362: WHERE t2.a=53
7363: ORDER BY x
7364: }
7365: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 53 52 33 38}
7366: do_test boundary3-2.38.ge.10 {
7367: db eval {
7368: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
7369: WHERE t2.a=53
7370: ORDER BY t1.rowid
7371: }
7372: } {53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7373: do_test boundary3-2.38.ge.11 {
7374: db eval {
7375: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
7376: WHERE t2.a=53
7377: ORDER BY t1.rowid DESC
7378: }
7379: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53}
7380: do_test boundary3-2.38.lt.1 {
7381: db eval {
7382: SELECT t2.a FROM t1 JOIN t2 USING(a)
7383: WHERE t1.rowid < -128 ORDER BY t2.a
7384: }
7385: } {1 2 11 21 29 32 37 44 47 54 55 58 63 64}
7386: do_test boundary3-2.38.lt.2 {
7387: db eval {
7388: SELECT t2.a FROM t2 NATURAL JOIN t1
7389: WHERE t1.rowid < -128 ORDER BY t1.a DESC
7390: }
7391: } {64 63 58 55 54 47 44 37 32 29 21 11 2 1}
7392: do_test boundary3-2.38.lt.3 {
7393: db eval {
7394: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7395: WHERE t2.a=53
7396: ORDER BY t1.rowid
7397: }
7398: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
7399: do_test boundary3-2.38.lt.4 {
7400: db eval {
7401: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7402: WHERE t2.a=53
7403: ORDER BY t1.rowid DESC
7404: }
7405: } {54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7406: do_test boundary3-2.38.lt.5 {
7407: db eval {
7408: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7409: WHERE t2.a=53
7410: ORDER BY x
7411: }
7412: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
7413: do_test boundary3-2.38.lt.10 {
7414: db eval {
7415: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
7416: WHERE t2.a=53
7417: ORDER BY t1.rowid
7418: }
7419: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54}
7420: do_test boundary3-2.38.lt.11 {
7421: db eval {
7422: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
7423: WHERE t2.a=53
7424: ORDER BY t1.rowid DESC
7425: }
7426: } {54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7427: do_test boundary3-2.38.le.1 {
7428: db eval {
7429: SELECT t2.a FROM t1 JOIN t2 USING(a)
7430: WHERE t1.rowid <= -128 ORDER BY t2.a
7431: }
7432: } {1 2 11 21 29 32 37 44 47 53 54 55 58 63 64}
7433: do_test boundary3-2.38.le.2 {
7434: db eval {
7435: SELECT t2.a FROM t2 NATURAL JOIN t1
7436: WHERE t1.rowid <= -128 ORDER BY t1.a DESC
7437: }
7438: } {64 63 58 55 54 53 47 44 37 32 29 21 11 2 1}
7439: do_test boundary3-2.38.le.3 {
7440: db eval {
7441: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7442: WHERE t2.a=53
7443: ORDER BY t1.rowid
7444: }
7445: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
7446: do_test boundary3-2.38.le.4 {
7447: db eval {
7448: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7449: WHERE t2.a=53
7450: ORDER BY t1.rowid DESC
7451: }
7452: } {53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7453: do_test boundary3-2.38.le.5 {
7454: db eval {
7455: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7456: WHERE t2.a=53
7457: ORDER BY x
7458: }
7459: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
7460: do_test boundary3-2.38.le.10 {
7461: db eval {
7462: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
7463: WHERE t2.a=53
7464: ORDER BY t1.rowid
7465: }
7466: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53}
7467: do_test boundary3-2.38.le.11 {
7468: db eval {
7469: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
7470: WHERE t2.a=53
7471: ORDER BY t1.rowid DESC
7472: }
7473: } {53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7474: do_test boundary3-2.39.1 {
7475: db eval {
7476: SELECT t1.* FROM t1, t2 WHERE t1.rowid=72057594037927936 AND t2.a=t1.a
7477: }
7478: } {28 0100000000000000}
7479: do_test boundary3-2.39.2 {
7480: db eval {
7481: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0100000000000000'
7482: }
7483: } {72057594037927936 28}
7484: do_test boundary3-2.39.3 {
7485: db eval {
7486: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=28
7487: }
7488: } {72057594037927936 0100000000000000}
7489: do_test boundary3-2.39.gt.1 {
7490: db eval {
7491: SELECT t2.a FROM t1 JOIN t2 USING(a)
7492: WHERE t1.rowid > 72057594037927936 ORDER BY t2.a
7493: }
7494: } {3}
7495: do_test boundary3-2.39.gt.2 {
7496: db eval {
7497: SELECT t2.a FROM t2 NATURAL JOIN t1
7498: WHERE t1.rowid > 72057594037927936 ORDER BY t1.a DESC
7499: }
7500: } {3}
7501: do_test boundary3-2.39.gt.3 {
7502: db eval {
7503: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7504: WHERE t2.a=28
7505: ORDER BY t1.rowid
7506: }
7507: } {3}
7508: do_test boundary3-2.39.gt.4 {
7509: db eval {
7510: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7511: WHERE t2.a=28
7512: ORDER BY t1.rowid DESC
7513: }
7514: } {3}
7515: do_test boundary3-2.39.gt.5 {
7516: db eval {
7517: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7518: WHERE t2.a=28
7519: ORDER BY x
7520: }
7521: } {3}
7522: do_test boundary3-2.39.ge.1 {
7523: db eval {
7524: SELECT t2.a FROM t1 JOIN t2 USING(a)
7525: WHERE t1.rowid >= 72057594037927936 ORDER BY t2.a
7526: }
7527: } {3 28}
7528: do_test boundary3-2.39.ge.2 {
7529: db eval {
7530: SELECT t2.a FROM t2 NATURAL JOIN t1
7531: WHERE t1.rowid >= 72057594037927936 ORDER BY t1.a DESC
7532: }
7533: } {28 3}
7534: do_test boundary3-2.39.ge.3 {
7535: db eval {
7536: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7537: WHERE t2.a=28
7538: ORDER BY t1.rowid
7539: }
7540: } {28 3}
7541: do_test boundary3-2.39.ge.4 {
7542: db eval {
7543: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7544: WHERE t2.a=28
7545: ORDER BY t1.rowid DESC
7546: }
7547: } {3 28}
7548: do_test boundary3-2.39.ge.5 {
7549: db eval {
7550: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7551: WHERE t2.a=28
7552: ORDER BY x
7553: }
7554: } {28 3}
7555: do_test boundary3-2.39.lt.1 {
7556: db eval {
7557: SELECT t2.a FROM t1 JOIN t2 USING(a)
7558: WHERE t1.rowid < 72057594037927936 ORDER BY t2.a
7559: }
7560: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
7561: do_test boundary3-2.39.lt.2 {
7562: db eval {
7563: SELECT t2.a FROM t2 NATURAL JOIN t1
7564: WHERE t1.rowid < 72057594037927936 ORDER BY t1.a DESC
7565: }
7566: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
7567: do_test boundary3-2.39.lt.3 {
7568: db eval {
7569: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7570: WHERE t2.a=28
7571: ORDER BY t1.rowid
7572: }
7573: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17}
7574: do_test boundary3-2.39.lt.4 {
7575: db eval {
7576: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7577: WHERE t2.a=28
7578: ORDER BY t1.rowid DESC
7579: }
7580: } {17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7581: do_test boundary3-2.39.lt.5 {
7582: db eval {
7583: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7584: WHERE t2.a=28
7585: ORDER BY x
7586: }
7587: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
7588: do_test boundary3-2.39.le.1 {
7589: db eval {
7590: SELECT t2.a FROM t1 JOIN t2 USING(a)
7591: WHERE t1.rowid <= 72057594037927936 ORDER BY t2.a
7592: }
7593: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
7594: do_test boundary3-2.39.le.2 {
7595: db eval {
7596: SELECT t2.a FROM t2 NATURAL JOIN t1
7597: WHERE t1.rowid <= 72057594037927936 ORDER BY t1.a DESC
7598: }
7599: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
7600: do_test boundary3-2.39.le.3 {
7601: db eval {
7602: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7603: WHERE t2.a=28
7604: ORDER BY t1.rowid
7605: }
7606: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28}
7607: do_test boundary3-2.39.le.4 {
7608: db eval {
7609: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7610: WHERE t2.a=28
7611: ORDER BY t1.rowid DESC
7612: }
7613: } {28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7614: do_test boundary3-2.39.le.5 {
7615: db eval {
7616: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7617: WHERE t2.a=28
7618: ORDER BY x
7619: }
7620: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
7621: do_test boundary3-2.40.1 {
7622: db eval {
7623: SELECT t1.* FROM t1, t2 WHERE t1.rowid=2147483648 AND t2.a=t1.a
7624: }
7625: } {51 0000000080000000}
7626: do_test boundary3-2.40.2 {
7627: db eval {
7628: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000080000000'
7629: }
7630: } {2147483648 51}
7631: do_test boundary3-2.40.3 {
7632: db eval {
7633: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=51
7634: }
7635: } {2147483648 0000000080000000}
7636: do_test boundary3-2.40.gt.1 {
7637: db eval {
7638: SELECT t2.a FROM t1 JOIN t2 USING(a)
7639: WHERE t1.rowid > 2147483648 ORDER BY t2.a
7640: }
7641: } {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}
7642: do_test boundary3-2.40.gt.2 {
7643: db eval {
7644: SELECT t2.a FROM t2 NATURAL JOIN t1
7645: WHERE t1.rowid > 2147483648 ORDER BY t1.a DESC
7646: }
7647: } {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
7648: do_test boundary3-2.40.gt.3 {
7649: db eval {
7650: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7651: WHERE t2.a=51
7652: ORDER BY t1.rowid
7653: }
7654: } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7655: do_test boundary3-2.40.gt.4 {
7656: db eval {
7657: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7658: WHERE t2.a=51
7659: ORDER BY t1.rowid DESC
7660: }
7661: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14}
7662: do_test boundary3-2.40.gt.5 {
7663: db eval {
7664: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7665: WHERE t2.a=51
7666: ORDER BY x
7667: }
7668: } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7669: do_test boundary3-2.40.gt.10 {
7670: db eval {
7671: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
7672: WHERE t2.a=51
7673: ORDER BY t1.rowid
7674: }
7675: } {14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7676: do_test boundary3-2.40.gt.11 {
7677: db eval {
7678: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
7679: WHERE t2.a=51
7680: ORDER BY t1.rowid DESC
7681: }
7682: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14}
7683: do_test boundary3-2.40.ge.1 {
7684: db eval {
7685: SELECT t2.a FROM t1 JOIN t2 USING(a)
7686: WHERE t1.rowid >= 2147483648 ORDER BY t2.a
7687: }
7688: } {3 7 10 13 14 17 19 22 25 26 27 28 34 35 36 39 43 45 46 51 56 57}
7689: do_test boundary3-2.40.ge.2 {
7690: db eval {
7691: SELECT t2.a FROM t2 NATURAL JOIN t1
7692: WHERE t1.rowid >= 2147483648 ORDER BY t1.a DESC
7693: }
7694: } {57 56 51 46 45 43 39 36 35 34 28 27 26 25 22 19 17 14 13 10 7 3}
7695: do_test boundary3-2.40.ge.3 {
7696: db eval {
7697: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7698: WHERE t2.a=51
7699: ORDER BY t1.rowid
7700: }
7701: } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7702: do_test boundary3-2.40.ge.4 {
7703: db eval {
7704: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7705: WHERE t2.a=51
7706: ORDER BY t1.rowid DESC
7707: }
7708: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51}
7709: do_test boundary3-2.40.ge.5 {
7710: db eval {
7711: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7712: WHERE t2.a=51
7713: ORDER BY x
7714: }
7715: } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7716: do_test boundary3-2.40.ge.10 {
7717: db eval {
7718: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
7719: WHERE t2.a=51
7720: ORDER BY t1.rowid
7721: }
7722: } {51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7723: do_test boundary3-2.40.ge.11 {
7724: db eval {
7725: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
7726: WHERE t2.a=51
7727: ORDER BY t1.rowid DESC
7728: }
7729: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51}
7730: do_test boundary3-2.40.lt.1 {
7731: db eval {
7732: SELECT t2.a FROM t1 JOIN t2 USING(a)
7733: WHERE t1.rowid < 2147483648 ORDER BY t2.a
7734: }
7735: } {1 2 4 5 6 8 9 11 12 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
7736: do_test boundary3-2.40.lt.2 {
7737: db eval {
7738: SELECT t2.a FROM t2 NATURAL JOIN t1
7739: WHERE t1.rowid < 2147483648 ORDER BY t1.a DESC
7740: }
7741: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 12 11 9 8 6 5 4 2 1}
7742: do_test boundary3-2.40.lt.3 {
7743: db eval {
7744: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7745: WHERE t2.a=51
7746: ORDER BY t1.rowid
7747: }
7748: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20}
7749: do_test boundary3-2.40.lt.4 {
7750: db eval {
7751: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7752: WHERE t2.a=51
7753: ORDER BY t1.rowid DESC
7754: }
7755: } {20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7756: do_test boundary3-2.40.lt.5 {
7757: db eval {
7758: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7759: WHERE t2.a=51
7760: ORDER BY x
7761: }
7762: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
7763: do_test boundary3-2.40.lt.10 {
7764: db eval {
7765: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
7766: WHERE t2.a=51
7767: ORDER BY t1.rowid
7768: }
7769: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20}
7770: do_test boundary3-2.40.lt.11 {
7771: db eval {
7772: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
7773: WHERE t2.a=51
7774: ORDER BY t1.rowid DESC
7775: }
7776: } {20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7777: do_test boundary3-2.40.le.1 {
7778: db eval {
7779: SELECT t2.a FROM t1 JOIN t2 USING(a)
7780: WHERE t1.rowid <= 2147483648 ORDER BY t2.a
7781: }
7782: } {1 2 4 5 6 8 9 11 12 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
7783: do_test boundary3-2.40.le.2 {
7784: db eval {
7785: SELECT t2.a FROM t2 NATURAL JOIN t1
7786: WHERE t1.rowid <= 2147483648 ORDER BY t1.a DESC
7787: }
7788: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 12 11 9 8 6 5 4 2 1}
7789: do_test boundary3-2.40.le.3 {
7790: db eval {
7791: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7792: WHERE t2.a=51
7793: ORDER BY t1.rowid
7794: }
7795: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51}
7796: do_test boundary3-2.40.le.4 {
7797: db eval {
7798: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7799: WHERE t2.a=51
7800: ORDER BY t1.rowid DESC
7801: }
7802: } {51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7803: do_test boundary3-2.40.le.5 {
7804: db eval {
7805: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7806: WHERE t2.a=51
7807: ORDER BY x
7808: }
7809: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
7810: do_test boundary3-2.40.le.10 {
7811: db eval {
7812: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
7813: WHERE t2.a=51
7814: ORDER BY t1.rowid
7815: }
7816: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51}
7817: do_test boundary3-2.40.le.11 {
7818: db eval {
7819: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
7820: WHERE t2.a=51
7821: ORDER BY t1.rowid DESC
7822: }
7823: } {51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7824: do_test boundary3-2.41.1 {
7825: db eval {
7826: SELECT t1.* FROM t1, t2 WHERE t1.rowid=549755813887 AND t2.a=t1.a
7827: }
7828: } {46 0000007fffffffff}
7829: do_test boundary3-2.41.2 {
7830: db eval {
7831: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000007fffffffff'
7832: }
7833: } {549755813887 46}
7834: do_test boundary3-2.41.3 {
7835: db eval {
7836: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=46
7837: }
7838: } {549755813887 0000007fffffffff}
7839: do_test boundary3-2.41.gt.1 {
7840: db eval {
7841: SELECT t2.a FROM t1 JOIN t2 USING(a)
7842: WHERE t1.rowid > 549755813887 ORDER BY t2.a
7843: }
7844: } {3 7 10 13 17 19 25 26 27 28 34 35 43 45 56 57}
7845: do_test boundary3-2.41.gt.2 {
7846: db eval {
7847: SELECT t2.a FROM t2 NATURAL JOIN t1
7848: WHERE t1.rowid > 549755813887 ORDER BY t1.a DESC
7849: }
7850: } {57 56 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
7851: do_test boundary3-2.41.gt.3 {
7852: db eval {
7853: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7854: WHERE t2.a=46
7855: ORDER BY t1.rowid
7856: }
7857: } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7858: do_test boundary3-2.41.gt.4 {
7859: db eval {
7860: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7861: WHERE t2.a=46
7862: ORDER BY t1.rowid DESC
7863: }
7864: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35}
7865: do_test boundary3-2.41.gt.5 {
7866: db eval {
7867: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
7868: WHERE t2.a=46
7869: ORDER BY x
7870: }
7871: } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7872: do_test boundary3-2.41.gt.10 {
7873: db eval {
7874: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
7875: WHERE t2.a=46
7876: ORDER BY t1.rowid
7877: }
7878: } {35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7879: do_test boundary3-2.41.gt.11 {
7880: db eval {
7881: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
7882: WHERE t2.a=46
7883: ORDER BY t1.rowid DESC
7884: }
7885: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35}
7886: do_test boundary3-2.41.ge.1 {
7887: db eval {
7888: SELECT t2.a FROM t1 JOIN t2 USING(a)
7889: WHERE t1.rowid >= 549755813887 ORDER BY t2.a
7890: }
7891: } {3 7 10 13 17 19 25 26 27 28 34 35 43 45 46 56 57}
7892: do_test boundary3-2.41.ge.2 {
7893: db eval {
7894: SELECT t2.a FROM t2 NATURAL JOIN t1
7895: WHERE t1.rowid >= 549755813887 ORDER BY t1.a DESC
7896: }
7897: } {57 56 46 45 43 35 34 28 27 26 25 19 17 13 10 7 3}
7898: do_test boundary3-2.41.ge.3 {
7899: db eval {
7900: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7901: WHERE t2.a=46
7902: ORDER BY t1.rowid
7903: }
7904: } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7905: do_test boundary3-2.41.ge.4 {
7906: db eval {
7907: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7908: WHERE t2.a=46
7909: ORDER BY t1.rowid DESC
7910: }
7911: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46}
7912: do_test boundary3-2.41.ge.5 {
7913: db eval {
7914: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
7915: WHERE t2.a=46
7916: ORDER BY x
7917: }
7918: } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7919: do_test boundary3-2.41.ge.10 {
7920: db eval {
7921: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
7922: WHERE t2.a=46
7923: ORDER BY t1.rowid
7924: }
7925: } {46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
7926: do_test boundary3-2.41.ge.11 {
7927: db eval {
7928: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
7929: WHERE t2.a=46
7930: ORDER BY t1.rowid DESC
7931: }
7932: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46}
7933: do_test boundary3-2.41.lt.1 {
7934: db eval {
7935: SELECT t2.a FROM t1 JOIN t2 USING(a)
7936: WHERE t1.rowid < 549755813887 ORDER BY t2.a
7937: }
7938: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
7939: do_test boundary3-2.41.lt.2 {
7940: db eval {
7941: SELECT t2.a FROM t2 NATURAL JOIN t1
7942: WHERE t1.rowid < 549755813887 ORDER BY t1.a DESC
7943: }
7944: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
7945: do_test boundary3-2.41.lt.3 {
7946: db eval {
7947: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7948: WHERE t2.a=46
7949: ORDER BY t1.rowid
7950: }
7951: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22}
7952: do_test boundary3-2.41.lt.4 {
7953: db eval {
7954: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7955: WHERE t2.a=46
7956: ORDER BY t1.rowid DESC
7957: }
7958: } {22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7959: do_test boundary3-2.41.lt.5 {
7960: db eval {
7961: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
7962: WHERE t2.a=46
7963: ORDER BY x
7964: }
7965: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
7966: do_test boundary3-2.41.lt.10 {
7967: db eval {
7968: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
7969: WHERE t2.a=46
7970: ORDER BY t1.rowid
7971: }
7972: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22}
7973: do_test boundary3-2.41.lt.11 {
7974: db eval {
7975: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
7976: WHERE t2.a=46
7977: ORDER BY t1.rowid DESC
7978: }
7979: } {22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
7980: do_test boundary3-2.41.le.1 {
7981: db eval {
7982: SELECT t2.a FROM t1 JOIN t2 USING(a)
7983: WHERE t1.rowid <= 549755813887 ORDER BY t2.a
7984: }
7985: } {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 22 23 24 29 30 31 32 33 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}
7986: do_test boundary3-2.41.le.2 {
7987: db eval {
7988: SELECT t2.a FROM t2 NATURAL JOIN t1
7989: WHERE t1.rowid <= 549755813887 ORDER BY t1.a DESC
7990: }
7991: } {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 33 32 31 30 29 24 23 22 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}
7992: do_test boundary3-2.41.le.3 {
7993: db eval {
7994: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
7995: WHERE t2.a=46
7996: ORDER BY t1.rowid
7997: }
7998: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46}
7999: do_test boundary3-2.41.le.4 {
8000: db eval {
8001: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8002: WHERE t2.a=46
8003: ORDER BY t1.rowid DESC
8004: }
8005: } {46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8006: do_test boundary3-2.41.le.5 {
8007: db eval {
8008: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8009: WHERE t2.a=46
8010: ORDER BY x
8011: }
8012: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
8013: do_test boundary3-2.41.le.10 {
8014: db eval {
8015: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
8016: WHERE t2.a=46
8017: ORDER BY t1.rowid
8018: }
8019: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46}
8020: do_test boundary3-2.41.le.11 {
8021: db eval {
8022: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
8023: WHERE t2.a=46
8024: ORDER BY t1.rowid DESC
8025: }
8026: } {46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8027: do_test boundary3-2.42.1 {
8028: db eval {
8029: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-549755813888 AND t2.a=t1.a
8030: }
8031: } {63 ffffff8000000000}
8032: do_test boundary3-2.42.2 {
8033: db eval {
8034: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffff8000000000'
8035: }
8036: } {-549755813888 63}
8037: do_test boundary3-2.42.3 {
8038: db eval {
8039: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=63
8040: }
8041: } {-549755813888 ffffff8000000000}
8042: do_test boundary3-2.42.gt.1 {
8043: db eval {
8044: SELECT t2.a FROM t1 JOIN t2 USING(a)
8045: WHERE t1.rowid > -549755813888 ORDER BY t2.a
8046: }
8047: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 59 60 61 62}
8048: do_test boundary3-2.42.gt.2 {
8049: db eval {
8050: SELECT t2.a FROM t2 NATURAL JOIN t1
8051: WHERE t1.rowid > -549755813888 ORDER BY t1.a DESC
8052: }
8053: } {62 61 60 59 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
8054: do_test boundary3-2.42.gt.3 {
8055: db eval {
8056: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8057: WHERE t2.a=63
8058: ORDER BY t1.rowid
8059: }
8060: } {47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8061: do_test boundary3-2.42.gt.4 {
8062: db eval {
8063: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8064: WHERE t2.a=63
8065: ORDER BY t1.rowid DESC
8066: }
8067: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47}
8068: do_test boundary3-2.42.gt.5 {
8069: db eval {
8070: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8071: WHERE t2.a=63
8072: ORDER BY x
8073: }
8074: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 47 11 1 37 29 32 54 53 52 33 38}
8075: do_test boundary3-2.42.gt.10 {
8076: db eval {
8077: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
8078: WHERE t2.a=63
8079: ORDER BY t1.rowid
8080: }
8081: } {47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8082: do_test boundary3-2.42.gt.11 {
8083: db eval {
8084: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
8085: WHERE t2.a=63
8086: ORDER BY t1.rowid DESC
8087: }
8088: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47}
8089: do_test boundary3-2.42.ge.1 {
8090: db eval {
8091: SELECT t2.a FROM t1 JOIN t2 USING(a)
8092: WHERE t1.rowid >= -549755813888 ORDER BY t2.a
8093: }
8094: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 59 60 61 62 63}
8095: do_test boundary3-2.42.ge.2 {
8096: db eval {
8097: SELECT t2.a FROM t2 NATURAL JOIN t1
8098: WHERE t1.rowid >= -549755813888 ORDER BY t1.a DESC
8099: }
8100: } {63 62 61 60 59 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
8101: do_test boundary3-2.42.ge.3 {
8102: db eval {
8103: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8104: WHERE t2.a=63
8105: ORDER BY t1.rowid
8106: }
8107: } {63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8108: do_test boundary3-2.42.ge.4 {
8109: db eval {
8110: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8111: WHERE t2.a=63
8112: ORDER BY t1.rowid DESC
8113: }
8114: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63}
8115: do_test boundary3-2.42.ge.5 {
8116: db eval {
8117: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8118: WHERE t2.a=63
8119: ORDER BY x
8120: }
8121: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 63 47 11 1 37 29 32 54 53 52 33 38}
8122: do_test boundary3-2.42.ge.10 {
8123: db eval {
8124: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
8125: WHERE t2.a=63
8126: ORDER BY t1.rowid
8127: }
8128: } {63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8129: do_test boundary3-2.42.ge.11 {
8130: db eval {
8131: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
8132: WHERE t2.a=63
8133: ORDER BY t1.rowid DESC
8134: }
8135: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63}
8136: do_test boundary3-2.42.lt.1 {
8137: db eval {
8138: SELECT t2.a FROM t1 JOIN t2 USING(a)
8139: WHERE t1.rowid < -549755813888 ORDER BY t2.a
8140: }
8141: } {2 21 44 55 58 64}
8142: do_test boundary3-2.42.lt.2 {
8143: db eval {
8144: SELECT t2.a FROM t2 NATURAL JOIN t1
8145: WHERE t1.rowid < -549755813888 ORDER BY t1.a DESC
8146: }
8147: } {64 58 55 44 21 2}
8148: do_test boundary3-2.42.lt.3 {
8149: db eval {
8150: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8151: WHERE t2.a=63
8152: ORDER BY t1.rowid
8153: }
8154: } {55 2 64 21 44 58}
8155: do_test boundary3-2.42.lt.4 {
8156: db eval {
8157: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8158: WHERE t2.a=63
8159: ORDER BY t1.rowid DESC
8160: }
8161: } {58 44 21 64 2 55}
8162: do_test boundary3-2.42.lt.5 {
8163: db eval {
8164: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8165: WHERE t2.a=63
8166: ORDER BY x
8167: }
8168: } {55 2 64 21 44 58}
8169: do_test boundary3-2.42.lt.10 {
8170: db eval {
8171: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
8172: WHERE t2.a=63
8173: ORDER BY t1.rowid
8174: }
8175: } {55 2 64 21 44 58}
8176: do_test boundary3-2.42.lt.11 {
8177: db eval {
8178: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
8179: WHERE t2.a=63
8180: ORDER BY t1.rowid DESC
8181: }
8182: } {58 44 21 64 2 55}
8183: do_test boundary3-2.42.le.1 {
8184: db eval {
8185: SELECT t2.a FROM t1 JOIN t2 USING(a)
8186: WHERE t1.rowid <= -549755813888 ORDER BY t2.a
8187: }
8188: } {2 21 44 55 58 63 64}
8189: do_test boundary3-2.42.le.2 {
8190: db eval {
8191: SELECT t2.a FROM t2 NATURAL JOIN t1
8192: WHERE t1.rowid <= -549755813888 ORDER BY t1.a DESC
8193: }
8194: } {64 63 58 55 44 21 2}
8195: do_test boundary3-2.42.le.3 {
8196: db eval {
8197: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8198: WHERE t2.a=63
8199: ORDER BY t1.rowid
8200: }
8201: } {55 2 64 21 44 58 63}
8202: do_test boundary3-2.42.le.4 {
8203: db eval {
8204: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8205: WHERE t2.a=63
8206: ORDER BY t1.rowid DESC
8207: }
8208: } {63 58 44 21 64 2 55}
8209: do_test boundary3-2.42.le.5 {
8210: db eval {
8211: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8212: WHERE t2.a=63
8213: ORDER BY x
8214: }
8215: } {55 2 64 21 44 58 63}
8216: do_test boundary3-2.42.le.10 {
8217: db eval {
8218: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
8219: WHERE t2.a=63
8220: ORDER BY t1.rowid
8221: }
8222: } {55 2 64 21 44 58 63}
8223: do_test boundary3-2.42.le.11 {
8224: db eval {
8225: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
8226: WHERE t2.a=63
8227: ORDER BY t1.rowid DESC
8228: }
8229: } {63 58 44 21 64 2 55}
8230: do_test boundary3-2.43.1 {
8231: db eval {
8232: SELECT t1.* FROM t1, t2 WHERE t1.rowid=281474976710655 AND t2.a=t1.a
8233: }
8234: } {10 0000ffffffffffff}
8235: do_test boundary3-2.43.2 {
8236: db eval {
8237: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000ffffffffffff'
8238: }
8239: } {281474976710655 10}
8240: do_test boundary3-2.43.3 {
8241: db eval {
8242: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=10
8243: }
8244: } {281474976710655 0000ffffffffffff}
8245: do_test boundary3-2.43.gt.1 {
8246: db eval {
8247: SELECT t2.a FROM t1 JOIN t2 USING(a)
8248: WHERE t1.rowid > 281474976710655 ORDER BY t2.a
8249: }
8250: } {3 13 17 26 27 28 43 45}
8251: do_test boundary3-2.43.gt.2 {
8252: db eval {
8253: SELECT t2.a FROM t2 NATURAL JOIN t1
8254: WHERE t1.rowid > 281474976710655 ORDER BY t1.a DESC
8255: }
8256: } {45 43 28 27 26 17 13 3}
8257: do_test boundary3-2.43.gt.3 {
8258: db eval {
8259: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8260: WHERE t2.a=10
8261: ORDER BY t1.rowid
8262: }
8263: } {26 13 43 27 45 17 28 3}
8264: do_test boundary3-2.43.gt.4 {
8265: db eval {
8266: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8267: WHERE t2.a=10
8268: ORDER BY t1.rowid DESC
8269: }
8270: } {3 28 17 45 27 43 13 26}
8271: do_test boundary3-2.43.gt.5 {
8272: db eval {
8273: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8274: WHERE t2.a=10
8275: ORDER BY x
8276: }
8277: } {26 13 43 27 45 17 28 3}
8278: do_test boundary3-2.43.ge.1 {
8279: db eval {
8280: SELECT t2.a FROM t1 JOIN t2 USING(a)
8281: WHERE t1.rowid >= 281474976710655 ORDER BY t2.a
8282: }
8283: } {3 10 13 17 26 27 28 43 45}
8284: do_test boundary3-2.43.ge.2 {
8285: db eval {
8286: SELECT t2.a FROM t2 NATURAL JOIN t1
8287: WHERE t1.rowid >= 281474976710655 ORDER BY t1.a DESC
8288: }
8289: } {45 43 28 27 26 17 13 10 3}
8290: do_test boundary3-2.43.ge.3 {
8291: db eval {
8292: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8293: WHERE t2.a=10
8294: ORDER BY t1.rowid
8295: }
8296: } {10 26 13 43 27 45 17 28 3}
8297: do_test boundary3-2.43.ge.4 {
8298: db eval {
8299: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8300: WHERE t2.a=10
8301: ORDER BY t1.rowid DESC
8302: }
8303: } {3 28 17 45 27 43 13 26 10}
8304: do_test boundary3-2.43.ge.5 {
8305: db eval {
8306: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8307: WHERE t2.a=10
8308: ORDER BY x
8309: }
8310: } {10 26 13 43 27 45 17 28 3}
8311: do_test boundary3-2.43.lt.1 {
8312: db eval {
8313: SELECT t2.a FROM t1 JOIN t2 USING(a)
8314: WHERE t1.rowid < 281474976710655 ORDER BY t2.a
8315: }
8316: } {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
8317: do_test boundary3-2.43.lt.2 {
8318: db eval {
8319: SELECT t2.a FROM t2 NATURAL JOIN t1
8320: WHERE t1.rowid < 281474976710655 ORDER BY t1.a DESC
8321: }
8322: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
8323: do_test boundary3-2.43.lt.3 {
8324: db eval {
8325: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8326: WHERE t2.a=10
8327: ORDER BY t1.rowid
8328: }
8329: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34}
8330: do_test boundary3-2.43.lt.4 {
8331: db eval {
8332: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8333: WHERE t2.a=10
8334: ORDER BY t1.rowid DESC
8335: }
8336: } {34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8337: do_test boundary3-2.43.lt.5 {
8338: db eval {
8339: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8340: WHERE t2.a=10
8341: ORDER BY x
8342: }
8343: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
8344: do_test boundary3-2.43.le.1 {
8345: db eval {
8346: SELECT t2.a FROM t1 JOIN t2 USING(a)
8347: WHERE t1.rowid <= 281474976710655 ORDER BY t2.a
8348: }
8349: } {1 2 4 5 6 7 8 9 10 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
8350: do_test boundary3-2.43.le.2 {
8351: db eval {
8352: SELECT t2.a FROM t2 NATURAL JOIN t1
8353: WHERE t1.rowid <= 281474976710655 ORDER BY t1.a DESC
8354: }
8355: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 10 9 8 7 6 5 4 2 1}
8356: do_test boundary3-2.43.le.3 {
8357: db eval {
8358: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8359: WHERE t2.a=10
8360: ORDER BY t1.rowid
8361: }
8362: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10}
8363: do_test boundary3-2.43.le.4 {
8364: db eval {
8365: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8366: WHERE t2.a=10
8367: ORDER BY t1.rowid DESC
8368: }
8369: } {10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8370: do_test boundary3-2.43.le.5 {
8371: db eval {
8372: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8373: WHERE t2.a=10
8374: ORDER BY x
8375: }
8376: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
8377: do_test boundary3-2.44.1 {
8378: db eval {
8379: SELECT t1.* FROM t1, t2 WHERE t1.rowid=4398046511103 AND t2.a=t1.a
8380: }
8381: } {7 000003ffffffffff}
8382: do_test boundary3-2.44.2 {
8383: db eval {
8384: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000003ffffffffff'
8385: }
8386: } {4398046511103 7}
8387: do_test boundary3-2.44.3 {
8388: db eval {
8389: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=7
8390: }
8391: } {4398046511103 000003ffffffffff}
8392: do_test boundary3-2.44.gt.1 {
8393: db eval {
8394: SELECT t2.a FROM t1 JOIN t2 USING(a)
8395: WHERE t1.rowid > 4398046511103 ORDER BY t2.a
8396: }
8397: } {3 10 13 17 25 26 27 28 34 43 45 56}
8398: do_test boundary3-2.44.gt.2 {
8399: db eval {
8400: SELECT t2.a FROM t2 NATURAL JOIN t1
8401: WHERE t1.rowid > 4398046511103 ORDER BY t1.a DESC
8402: }
8403: } {56 45 43 34 28 27 26 25 17 13 10 3}
8404: do_test boundary3-2.44.gt.3 {
8405: db eval {
8406: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8407: WHERE t2.a=7
8408: ORDER BY t1.rowid
8409: }
8410: } {56 25 34 10 26 13 43 27 45 17 28 3}
8411: do_test boundary3-2.44.gt.4 {
8412: db eval {
8413: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8414: WHERE t2.a=7
8415: ORDER BY t1.rowid DESC
8416: }
8417: } {3 28 17 45 27 43 13 26 10 34 25 56}
8418: do_test boundary3-2.44.gt.5 {
8419: db eval {
8420: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8421: WHERE t2.a=7
8422: ORDER BY x
8423: }
8424: } {56 25 34 10 26 13 43 27 45 17 28 3}
8425: do_test boundary3-2.44.gt.10 {
8426: db eval {
8427: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
8428: WHERE t2.a=7
8429: ORDER BY t1.rowid
8430: }
8431: } {56 25 34 10 26 13 43 27 45 17 28 3}
8432: do_test boundary3-2.44.gt.11 {
8433: db eval {
8434: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
8435: WHERE t2.a=7
8436: ORDER BY t1.rowid DESC
8437: }
8438: } {3 28 17 45 27 43 13 26 10 34 25 56}
8439: do_test boundary3-2.44.ge.1 {
8440: db eval {
8441: SELECT t2.a FROM t1 JOIN t2 USING(a)
8442: WHERE t1.rowid >= 4398046511103 ORDER BY t2.a
8443: }
8444: } {3 7 10 13 17 25 26 27 28 34 43 45 56}
8445: do_test boundary3-2.44.ge.2 {
8446: db eval {
8447: SELECT t2.a FROM t2 NATURAL JOIN t1
8448: WHERE t1.rowid >= 4398046511103 ORDER BY t1.a DESC
8449: }
8450: } {56 45 43 34 28 27 26 25 17 13 10 7 3}
8451: do_test boundary3-2.44.ge.3 {
8452: db eval {
8453: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8454: WHERE t2.a=7
8455: ORDER BY t1.rowid
8456: }
8457: } {7 56 25 34 10 26 13 43 27 45 17 28 3}
8458: do_test boundary3-2.44.ge.4 {
8459: db eval {
8460: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8461: WHERE t2.a=7
8462: ORDER BY t1.rowid DESC
8463: }
8464: } {3 28 17 45 27 43 13 26 10 34 25 56 7}
8465: do_test boundary3-2.44.ge.5 {
8466: db eval {
8467: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8468: WHERE t2.a=7
8469: ORDER BY x
8470: }
8471: } {7 56 25 34 10 26 13 43 27 45 17 28 3}
8472: do_test boundary3-2.44.ge.10 {
8473: db eval {
8474: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
8475: WHERE t2.a=7
8476: ORDER BY t1.rowid
8477: }
8478: } {7 56 25 34 10 26 13 43 27 45 17 28 3}
8479: do_test boundary3-2.44.ge.11 {
8480: db eval {
8481: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
8482: WHERE t2.a=7
8483: ORDER BY t1.rowid DESC
8484: }
8485: } {3 28 17 45 27 43 13 26 10 34 25 56 7}
8486: do_test boundary3-2.44.lt.1 {
8487: db eval {
8488: SELECT t2.a FROM t1 JOIN t2 USING(a)
8489: WHERE t1.rowid < 4398046511103 ORDER BY t2.a
8490: }
8491: } {1 2 4 5 6 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
8492: do_test boundary3-2.44.lt.2 {
8493: db eval {
8494: SELECT t2.a FROM t2 NATURAL JOIN t1
8495: WHERE t1.rowid < 4398046511103 ORDER BY t1.a DESC
8496: }
8497: } {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 6 5 4 2 1}
8498: do_test boundary3-2.44.lt.3 {
8499: db eval {
8500: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8501: WHERE t2.a=7
8502: ORDER BY t1.rowid
8503: }
8504: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19}
8505: do_test boundary3-2.44.lt.4 {
8506: db eval {
8507: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8508: WHERE t2.a=7
8509: ORDER BY t1.rowid DESC
8510: }
8511: } {19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8512: do_test boundary3-2.44.lt.5 {
8513: db eval {
8514: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8515: WHERE t2.a=7
8516: ORDER BY x
8517: }
8518: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
8519: do_test boundary3-2.44.lt.10 {
8520: db eval {
8521: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
8522: WHERE t2.a=7
8523: ORDER BY t1.rowid
8524: }
8525: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19}
8526: do_test boundary3-2.44.lt.11 {
8527: db eval {
8528: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
8529: WHERE t2.a=7
8530: ORDER BY t1.rowid DESC
8531: }
8532: } {19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8533: do_test boundary3-2.44.le.1 {
8534: db eval {
8535: SELECT t2.a FROM t1 JOIN t2 USING(a)
8536: WHERE t1.rowid <= 4398046511103 ORDER BY t2.a
8537: }
8538: } {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
8539: do_test boundary3-2.44.le.2 {
8540: db eval {
8541: SELECT t2.a FROM t2 NATURAL JOIN t1
8542: WHERE t1.rowid <= 4398046511103 ORDER BY t1.a DESC
8543: }
8544: } {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
8545: do_test boundary3-2.44.le.3 {
8546: db eval {
8547: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8548: WHERE t2.a=7
8549: ORDER BY t1.rowid
8550: }
8551: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7}
8552: do_test boundary3-2.44.le.4 {
8553: db eval {
8554: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8555: WHERE t2.a=7
8556: ORDER BY t1.rowid DESC
8557: }
8558: } {7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8559: do_test boundary3-2.44.le.5 {
8560: db eval {
8561: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8562: WHERE t2.a=7
8563: ORDER BY x
8564: }
8565: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
8566: do_test boundary3-2.44.le.10 {
8567: db eval {
8568: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
8569: WHERE t2.a=7
8570: ORDER BY t1.rowid
8571: }
8572: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7}
8573: do_test boundary3-2.44.le.11 {
8574: db eval {
8575: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
8576: WHERE t2.a=7
8577: ORDER BY t1.rowid DESC
8578: }
8579: } {7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8580: do_test boundary3-2.45.1 {
8581: db eval {
8582: SELECT t1.* FROM t1, t2 WHERE t1.rowid=268435455 AND t2.a=t1.a
8583: }
8584: } {12 000000000fffffff}
8585: do_test boundary3-2.45.2 {
8586: db eval {
8587: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000000fffffff'
8588: }
8589: } {268435455 12}
8590: do_test boundary3-2.45.3 {
8591: db eval {
8592: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=12
8593: }
8594: } {268435455 000000000fffffff}
8595: do_test boundary3-2.45.gt.1 {
8596: db eval {
8597: SELECT t2.a FROM t1 JOIN t2 USING(a)
8598: WHERE t1.rowid > 268435455 ORDER BY t2.a
8599: }
8600: } {3 7 10 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
8601: do_test boundary3-2.45.gt.2 {
8602: db eval {
8603: SELECT t2.a FROM t2 NATURAL JOIN t1
8604: WHERE t1.rowid > 268435455 ORDER BY t1.a DESC
8605: }
8606: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 10 7 3}
8607: do_test boundary3-2.45.gt.3 {
8608: db eval {
8609: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8610: WHERE t2.a=12
8611: ORDER BY t1.rowid
8612: }
8613: } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8614: do_test boundary3-2.45.gt.4 {
8615: db eval {
8616: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8617: WHERE t2.a=12
8618: ORDER BY t1.rowid DESC
8619: }
8620: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40}
8621: do_test boundary3-2.45.gt.5 {
8622: db eval {
8623: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8624: WHERE t2.a=12
8625: ORDER BY x
8626: }
8627: } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8628: do_test boundary3-2.45.gt.10 {
8629: db eval {
8630: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
8631: WHERE t2.a=12
8632: ORDER BY t1.rowid
8633: }
8634: } {40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8635: do_test boundary3-2.45.gt.11 {
8636: db eval {
8637: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
8638: WHERE t2.a=12
8639: ORDER BY t1.rowid DESC
8640: }
8641: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40}
8642: do_test boundary3-2.45.ge.1 {
8643: db eval {
8644: SELECT t2.a FROM t1 JOIN t2 USING(a)
8645: WHERE t1.rowid >= 268435455 ORDER BY t2.a
8646: }
8647: } {3 7 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
8648: do_test boundary3-2.45.ge.2 {
8649: db eval {
8650: SELECT t2.a FROM t2 NATURAL JOIN t1
8651: WHERE t1.rowid >= 268435455 ORDER BY t1.a DESC
8652: }
8653: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 7 3}
8654: do_test boundary3-2.45.ge.3 {
8655: db eval {
8656: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8657: WHERE t2.a=12
8658: ORDER BY t1.rowid
8659: }
8660: } {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8661: do_test boundary3-2.45.ge.4 {
8662: db eval {
8663: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8664: WHERE t2.a=12
8665: ORDER BY t1.rowid DESC
8666: }
8667: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12}
8668: do_test boundary3-2.45.ge.5 {
8669: db eval {
8670: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8671: WHERE t2.a=12
8672: ORDER BY x
8673: }
8674: } {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8675: do_test boundary3-2.45.ge.10 {
8676: db eval {
8677: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
8678: WHERE t2.a=12
8679: ORDER BY t1.rowid
8680: }
8681: } {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8682: do_test boundary3-2.45.ge.11 {
8683: db eval {
8684: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
8685: WHERE t2.a=12
8686: ORDER BY t1.rowid DESC
8687: }
8688: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12}
8689: do_test boundary3-2.45.lt.1 {
8690: db eval {
8691: SELECT t2.a FROM t1 JOIN t2 USING(a)
8692: WHERE t1.rowid < 268435455 ORDER BY t2.a
8693: }
8694: } {1 2 4 5 6 8 9 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
8695: do_test boundary3-2.45.lt.2 {
8696: db eval {
8697: SELECT t2.a FROM t2 NATURAL JOIN t1
8698: WHERE t1.rowid < 268435455 ORDER BY t1.a DESC
8699: }
8700: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 9 8 6 5 4 2 1}
8701: do_test boundary3-2.45.lt.3 {
8702: db eval {
8703: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8704: WHERE t2.a=12
8705: ORDER BY t1.rowid
8706: }
8707: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6}
8708: do_test boundary3-2.45.lt.4 {
8709: db eval {
8710: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8711: WHERE t2.a=12
8712: ORDER BY t1.rowid DESC
8713: }
8714: } {6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8715: do_test boundary3-2.45.lt.5 {
8716: db eval {
8717: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8718: WHERE t2.a=12
8719: ORDER BY x
8720: }
8721: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
8722: do_test boundary3-2.45.lt.10 {
8723: db eval {
8724: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
8725: WHERE t2.a=12
8726: ORDER BY t1.rowid
8727: }
8728: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6}
8729: do_test boundary3-2.45.lt.11 {
8730: db eval {
8731: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
8732: WHERE t2.a=12
8733: ORDER BY t1.rowid DESC
8734: }
8735: } {6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8736: do_test boundary3-2.45.le.1 {
8737: db eval {
8738: SELECT t2.a FROM t1 JOIN t2 USING(a)
8739: WHERE t1.rowid <= 268435455 ORDER BY t2.a
8740: }
8741: } {1 2 4 5 6 8 9 11 12 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
8742: do_test boundary3-2.45.le.2 {
8743: db eval {
8744: SELECT t2.a FROM t2 NATURAL JOIN t1
8745: WHERE t1.rowid <= 268435455 ORDER BY t1.a DESC
8746: }
8747: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 12 11 9 8 6 5 4 2 1}
8748: do_test boundary3-2.45.le.3 {
8749: db eval {
8750: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8751: WHERE t2.a=12
8752: ORDER BY t1.rowid
8753: }
8754: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12}
8755: do_test boundary3-2.45.le.4 {
8756: db eval {
8757: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8758: WHERE t2.a=12
8759: ORDER BY t1.rowid DESC
8760: }
8761: } {12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8762: do_test boundary3-2.45.le.5 {
8763: db eval {
8764: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8765: WHERE t2.a=12
8766: ORDER BY x
8767: }
8768: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
8769: do_test boundary3-2.45.le.10 {
8770: db eval {
8771: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
8772: WHERE t2.a=12
8773: ORDER BY t1.rowid
8774: }
8775: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12}
8776: do_test boundary3-2.45.le.11 {
8777: db eval {
8778: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
8779: WHERE t2.a=12
8780: ORDER BY t1.rowid DESC
8781: }
8782: } {12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8783: do_test boundary3-2.46.1 {
8784: db eval {
8785: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-9223372036854775808 AND t2.a=t1.a
8786: }
8787: } {55 8000000000000000}
8788: do_test boundary3-2.46.2 {
8789: db eval {
8790: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='8000000000000000'
8791: }
8792: } {-9223372036854775808 55}
8793: do_test boundary3-2.46.3 {
8794: db eval {
8795: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=55
8796: }
8797: } {-9223372036854775808 8000000000000000}
8798: do_test boundary3-2.46.gt.1 {
8799: db eval {
8800: SELECT t2.a FROM t1 JOIN t2 USING(a)
8801: WHERE t1.rowid > -9223372036854775808 ORDER BY t2.a
8802: }
8803: } {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64}
8804: do_test boundary3-2.46.gt.2 {
8805: db eval {
8806: SELECT t2.a FROM t2 NATURAL JOIN t1
8807: WHERE t1.rowid > -9223372036854775808 ORDER BY t1.a DESC
8808: }
8809: } {64 63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
8810: do_test boundary3-2.46.gt.3 {
8811: db eval {
8812: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8813: WHERE t2.a=55
8814: ORDER BY t1.rowid
8815: }
8816: } {2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8817: do_test boundary3-2.46.gt.4 {
8818: db eval {
8819: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8820: WHERE t2.a=55
8821: ORDER BY t1.rowid DESC
8822: }
8823: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2}
8824: do_test boundary3-2.46.gt.5 {
8825: db eval {
8826: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8827: WHERE t2.a=55
8828: ORDER BY x
8829: }
8830: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
8831: do_test boundary3-2.46.ge.1 {
8832: db eval {
8833: SELECT t2.a FROM t1 JOIN t2 USING(a)
8834: WHERE t1.rowid >= -9223372036854775808 ORDER BY t2.a
8835: }
8836: } {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
8837: do_test boundary3-2.46.ge.2 {
8838: db eval {
8839: SELECT t2.a FROM t2 NATURAL JOIN t1
8840: WHERE t1.rowid >= -9223372036854775808 ORDER BY t1.a DESC
8841: }
8842: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
8843: do_test boundary3-2.46.ge.3 {
8844: db eval {
8845: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8846: WHERE t2.a=55
8847: ORDER BY t1.rowid
8848: }
8849: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
8850: do_test boundary3-2.46.ge.4 {
8851: db eval {
8852: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8853: WHERE t2.a=55
8854: ORDER BY t1.rowid DESC
8855: }
8856: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
8857: do_test boundary3-2.46.ge.5 {
8858: db eval {
8859: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8860: WHERE t2.a=55
8861: ORDER BY x
8862: }
8863: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
8864: do_test boundary3-2.46.lt.1 {
8865: db eval {
8866: SELECT t2.a FROM t1 JOIN t2 USING(a)
8867: WHERE t1.rowid < -9223372036854775808 ORDER BY t2.a
8868: }
8869: } {}
8870: do_test boundary3-2.46.lt.2 {
8871: db eval {
8872: SELECT t2.a FROM t2 NATURAL JOIN t1
8873: WHERE t1.rowid < -9223372036854775808 ORDER BY t1.a DESC
8874: }
8875: } {}
8876: do_test boundary3-2.46.lt.3 {
8877: db eval {
8878: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8879: WHERE t2.a=55
8880: ORDER BY t1.rowid
8881: }
8882: } {}
8883: do_test boundary3-2.46.lt.4 {
8884: db eval {
8885: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8886: WHERE t2.a=55
8887: ORDER BY t1.rowid DESC
8888: }
8889: } {}
8890: do_test boundary3-2.46.lt.5 {
8891: db eval {
8892: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
8893: WHERE t2.a=55
8894: ORDER BY x
8895: }
8896: } {}
8897: do_test boundary3-2.46.le.1 {
8898: db eval {
8899: SELECT t2.a FROM t1 JOIN t2 USING(a)
8900: WHERE t1.rowid <= -9223372036854775808 ORDER BY t2.a
8901: }
8902: } {55}
8903: do_test boundary3-2.46.le.2 {
8904: db eval {
8905: SELECT t2.a FROM t2 NATURAL JOIN t1
8906: WHERE t1.rowid <= -9223372036854775808 ORDER BY t1.a DESC
8907: }
8908: } {55}
8909: do_test boundary3-2.46.le.3 {
8910: db eval {
8911: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8912: WHERE t2.a=55
8913: ORDER BY t1.rowid
8914: }
8915: } {55}
8916: do_test boundary3-2.46.le.4 {
8917: db eval {
8918: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8919: WHERE t2.a=55
8920: ORDER BY t1.rowid DESC
8921: }
8922: } {55}
8923: do_test boundary3-2.46.le.5 {
8924: db eval {
8925: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
8926: WHERE t2.a=55
8927: ORDER BY x
8928: }
8929: } {55}
8930: do_test boundary3-2.47.1 {
8931: db eval {
8932: SELECT t1.* FROM t1, t2 WHERE t1.rowid=562949953421312 AND t2.a=t1.a
8933: }
8934: } {43 0002000000000000}
8935: do_test boundary3-2.47.2 {
8936: db eval {
8937: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0002000000000000'
8938: }
8939: } {562949953421312 43}
8940: do_test boundary3-2.47.3 {
8941: db eval {
8942: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=43
8943: }
8944: } {562949953421312 0002000000000000}
8945: do_test boundary3-2.47.gt.1 {
8946: db eval {
8947: SELECT t2.a FROM t1 JOIN t2 USING(a)
8948: WHERE t1.rowid > 562949953421312 ORDER BY t2.a
8949: }
8950: } {3 17 27 28 45}
8951: do_test boundary3-2.47.gt.2 {
8952: db eval {
8953: SELECT t2.a FROM t2 NATURAL JOIN t1
8954: WHERE t1.rowid > 562949953421312 ORDER BY t1.a DESC
8955: }
8956: } {45 28 27 17 3}
8957: do_test boundary3-2.47.gt.3 {
8958: db eval {
8959: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8960: WHERE t2.a=43
8961: ORDER BY t1.rowid
8962: }
8963: } {27 45 17 28 3}
8964: do_test boundary3-2.47.gt.4 {
8965: db eval {
8966: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8967: WHERE t2.a=43
8968: ORDER BY t1.rowid DESC
8969: }
8970: } {3 28 17 45 27}
8971: do_test boundary3-2.47.gt.5 {
8972: db eval {
8973: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
8974: WHERE t2.a=43
8975: ORDER BY x
8976: }
8977: } {27 45 17 28 3}
8978: do_test boundary3-2.47.ge.1 {
8979: db eval {
8980: SELECT t2.a FROM t1 JOIN t2 USING(a)
8981: WHERE t1.rowid >= 562949953421312 ORDER BY t2.a
8982: }
8983: } {3 17 27 28 43 45}
8984: do_test boundary3-2.47.ge.2 {
8985: db eval {
8986: SELECT t2.a FROM t2 NATURAL JOIN t1
8987: WHERE t1.rowid >= 562949953421312 ORDER BY t1.a DESC
8988: }
8989: } {45 43 28 27 17 3}
8990: do_test boundary3-2.47.ge.3 {
8991: db eval {
8992: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
8993: WHERE t2.a=43
8994: ORDER BY t1.rowid
8995: }
8996: } {43 27 45 17 28 3}
8997: do_test boundary3-2.47.ge.4 {
8998: db eval {
8999: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9000: WHERE t2.a=43
9001: ORDER BY t1.rowid DESC
9002: }
9003: } {3 28 17 45 27 43}
9004: do_test boundary3-2.47.ge.5 {
9005: db eval {
9006: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9007: WHERE t2.a=43
9008: ORDER BY x
9009: }
9010: } {43 27 45 17 28 3}
9011: do_test boundary3-2.47.lt.1 {
9012: db eval {
9013: SELECT t2.a FROM t1 JOIN t2 USING(a)
9014: WHERE t1.rowid < 562949953421312 ORDER BY t2.a
9015: }
9016: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
9017: do_test boundary3-2.47.lt.2 {
9018: db eval {
9019: SELECT t2.a FROM t2 NATURAL JOIN t1
9020: WHERE t1.rowid < 562949953421312 ORDER BY t1.a DESC
9021: }
9022: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
9023: do_test boundary3-2.47.lt.3 {
9024: db eval {
9025: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9026: WHERE t2.a=43
9027: ORDER BY t1.rowid
9028: }
9029: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13}
9030: do_test boundary3-2.47.lt.4 {
9031: db eval {
9032: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9033: WHERE t2.a=43
9034: ORDER BY t1.rowid DESC
9035: }
9036: } {13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9037: do_test boundary3-2.47.lt.5 {
9038: db eval {
9039: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9040: WHERE t2.a=43
9041: ORDER BY x
9042: }
9043: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
9044: do_test boundary3-2.47.le.1 {
9045: db eval {
9046: SELECT t2.a FROM t1 JOIN t2 USING(a)
9047: WHERE t1.rowid <= 562949953421312 ORDER BY t2.a
9048: }
9049: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
9050: do_test boundary3-2.47.le.2 {
9051: db eval {
9052: SELECT t2.a FROM t2 NATURAL JOIN t1
9053: WHERE t1.rowid <= 562949953421312 ORDER BY t1.a DESC
9054: }
9055: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
9056: do_test boundary3-2.47.le.3 {
9057: db eval {
9058: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9059: WHERE t2.a=43
9060: ORDER BY t1.rowid
9061: }
9062: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43}
9063: do_test boundary3-2.47.le.4 {
9064: db eval {
9065: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9066: WHERE t2.a=43
9067: ORDER BY t1.rowid DESC
9068: }
9069: } {43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9070: do_test boundary3-2.47.le.5 {
9071: db eval {
9072: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9073: WHERE t2.a=43
9074: ORDER BY x
9075: }
9076: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
9077: do_test boundary3-2.48.1 {
9078: db eval {
9079: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-8388609 AND t2.a=t1.a
9080: }
9081: } {1 ffffffffff7fffff}
9082: do_test boundary3-2.48.2 {
9083: db eval {
9084: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffff7fffff'
9085: }
9086: } {-8388609 1}
9087: do_test boundary3-2.48.3 {
9088: db eval {
9089: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=1
9090: }
9091: } {-8388609 ffffffffff7fffff}
9092: do_test boundary3-2.48.gt.1 {
9093: db eval {
9094: SELECT t2.a FROM t1 JOIN t2 USING(a)
9095: WHERE t1.rowid > -8388609 ORDER BY t2.a
9096: }
9097: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
9098: do_test boundary3-2.48.gt.2 {
9099: db eval {
9100: SELECT t2.a FROM t2 NATURAL JOIN t1
9101: WHERE t1.rowid > -8388609 ORDER BY t1.a DESC
9102: }
9103: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
9104: do_test boundary3-2.48.gt.3 {
9105: db eval {
9106: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9107: WHERE t2.a=1
9108: ORDER BY t1.rowid
9109: }
9110: } {37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9111: do_test boundary3-2.48.gt.4 {
9112: db eval {
9113: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9114: WHERE t2.a=1
9115: ORDER BY t1.rowid DESC
9116: }
9117: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37}
9118: do_test boundary3-2.48.gt.5 {
9119: db eval {
9120: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9121: WHERE t2.a=1
9122: ORDER BY x
9123: }
9124: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 37 29 32 54 53 52 33 38}
9125: do_test boundary3-2.48.gt.10 {
9126: db eval {
9127: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
9128: WHERE t2.a=1
9129: ORDER BY t1.rowid
9130: }
9131: } {37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9132: do_test boundary3-2.48.gt.11 {
9133: db eval {
9134: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
9135: WHERE t2.a=1
9136: ORDER BY t1.rowid DESC
9137: }
9138: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37}
9139: do_test boundary3-2.48.ge.1 {
9140: db eval {
9141: SELECT t2.a FROM t1 JOIN t2 USING(a)
9142: WHERE t1.rowid >= -8388609 ORDER BY t2.a
9143: }
9144: } {1 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
9145: do_test boundary3-2.48.ge.2 {
9146: db eval {
9147: SELECT t2.a FROM t2 NATURAL JOIN t1
9148: WHERE t1.rowid >= -8388609 ORDER BY t1.a DESC
9149: }
9150: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 1}
9151: do_test boundary3-2.48.ge.3 {
9152: db eval {
9153: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9154: WHERE t2.a=1
9155: ORDER BY t1.rowid
9156: }
9157: } {1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9158: do_test boundary3-2.48.ge.4 {
9159: db eval {
9160: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9161: WHERE t2.a=1
9162: ORDER BY t1.rowid DESC
9163: }
9164: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1}
9165: do_test boundary3-2.48.ge.5 {
9166: db eval {
9167: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9168: WHERE t2.a=1
9169: ORDER BY x
9170: }
9171: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 1 37 29 32 54 53 52 33 38}
9172: do_test boundary3-2.48.ge.10 {
9173: db eval {
9174: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
9175: WHERE t2.a=1
9176: ORDER BY t1.rowid
9177: }
9178: } {1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9179: do_test boundary3-2.48.ge.11 {
9180: db eval {
9181: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
9182: WHERE t2.a=1
9183: ORDER BY t1.rowid DESC
9184: }
9185: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1}
9186: do_test boundary3-2.48.lt.1 {
9187: db eval {
9188: SELECT t2.a FROM t1 JOIN t2 USING(a)
9189: WHERE t1.rowid < -8388609 ORDER BY t2.a
9190: }
9191: } {2 11 21 44 47 55 58 63 64}
9192: do_test boundary3-2.48.lt.2 {
9193: db eval {
9194: SELECT t2.a FROM t2 NATURAL JOIN t1
9195: WHERE t1.rowid < -8388609 ORDER BY t1.a DESC
9196: }
9197: } {64 63 58 55 47 44 21 11 2}
9198: do_test boundary3-2.48.lt.3 {
9199: db eval {
9200: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9201: WHERE t2.a=1
9202: ORDER BY t1.rowid
9203: }
9204: } {55 2 64 21 44 58 63 47 11}
9205: do_test boundary3-2.48.lt.4 {
9206: db eval {
9207: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9208: WHERE t2.a=1
9209: ORDER BY t1.rowid DESC
9210: }
9211: } {11 47 63 58 44 21 64 2 55}
9212: do_test boundary3-2.48.lt.5 {
9213: db eval {
9214: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9215: WHERE t2.a=1
9216: ORDER BY x
9217: }
9218: } {55 2 64 21 44 58 63 47 11}
9219: do_test boundary3-2.48.lt.10 {
9220: db eval {
9221: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
9222: WHERE t2.a=1
9223: ORDER BY t1.rowid
9224: }
9225: } {55 2 64 21 44 58 63 47 11}
9226: do_test boundary3-2.48.lt.11 {
9227: db eval {
9228: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
9229: WHERE t2.a=1
9230: ORDER BY t1.rowid DESC
9231: }
9232: } {11 47 63 58 44 21 64 2 55}
9233: do_test boundary3-2.48.le.1 {
9234: db eval {
9235: SELECT t2.a FROM t1 JOIN t2 USING(a)
9236: WHERE t1.rowid <= -8388609 ORDER BY t2.a
9237: }
9238: } {1 2 11 21 44 47 55 58 63 64}
9239: do_test boundary3-2.48.le.2 {
9240: db eval {
9241: SELECT t2.a FROM t2 NATURAL JOIN t1
9242: WHERE t1.rowid <= -8388609 ORDER BY t1.a DESC
9243: }
9244: } {64 63 58 55 47 44 21 11 2 1}
9245: do_test boundary3-2.48.le.3 {
9246: db eval {
9247: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9248: WHERE t2.a=1
9249: ORDER BY t1.rowid
9250: }
9251: } {55 2 64 21 44 58 63 47 11 1}
9252: do_test boundary3-2.48.le.4 {
9253: db eval {
9254: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9255: WHERE t2.a=1
9256: ORDER BY t1.rowid DESC
9257: }
9258: } {1 11 47 63 58 44 21 64 2 55}
9259: do_test boundary3-2.48.le.5 {
9260: db eval {
9261: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9262: WHERE t2.a=1
9263: ORDER BY x
9264: }
9265: } {55 2 64 21 44 58 63 47 11 1}
9266: do_test boundary3-2.48.le.10 {
9267: db eval {
9268: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
9269: WHERE t2.a=1
9270: ORDER BY t1.rowid
9271: }
9272: } {55 2 64 21 44 58 63 47 11 1}
9273: do_test boundary3-2.48.le.11 {
9274: db eval {
9275: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
9276: WHERE t2.a=1
9277: ORDER BY t1.rowid DESC
9278: }
9279: } {1 11 47 63 58 44 21 64 2 55}
9280: do_test boundary3-2.49.1 {
9281: db eval {
9282: SELECT t1.* FROM t1, t2 WHERE t1.rowid=16777215 AND t2.a=t1.a
9283: }
9284: } {9 0000000000ffffff}
9285: do_test boundary3-2.49.2 {
9286: db eval {
9287: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000ffffff'
9288: }
9289: } {16777215 9}
9290: do_test boundary3-2.49.3 {
9291: db eval {
9292: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=9
9293: }
9294: } {16777215 0000000000ffffff}
9295: do_test boundary3-2.49.gt.1 {
9296: db eval {
9297: SELECT t2.a FROM t1 JOIN t2 USING(a)
9298: WHERE t1.rowid > 16777215 ORDER BY t2.a
9299: }
9300: } {3 6 7 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
9301: do_test boundary3-2.49.gt.2 {
9302: db eval {
9303: SELECT t2.a FROM t2 NATURAL JOIN t1
9304: WHERE t1.rowid > 16777215 ORDER BY t1.a DESC
9305: }
9306: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 7 6 3}
9307: do_test boundary3-2.49.gt.3 {
9308: db eval {
9309: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9310: WHERE t2.a=9
9311: ORDER BY t1.rowid
9312: }
9313: } {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9314: do_test boundary3-2.49.gt.4 {
9315: db eval {
9316: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9317: WHERE t2.a=9
9318: ORDER BY t1.rowid DESC
9319: }
9320: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6}
9321: do_test boundary3-2.49.gt.5 {
9322: db eval {
9323: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9324: WHERE t2.a=9
9325: ORDER BY x
9326: }
9327: } {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9328: do_test boundary3-2.49.gt.10 {
9329: db eval {
9330: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
9331: WHERE t2.a=9
9332: ORDER BY t1.rowid
9333: }
9334: } {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9335: do_test boundary3-2.49.gt.11 {
9336: db eval {
9337: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
9338: WHERE t2.a=9
9339: ORDER BY t1.rowid DESC
9340: }
9341: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6}
9342: do_test boundary3-2.49.ge.1 {
9343: db eval {
9344: SELECT t2.a FROM t1 JOIN t2 USING(a)
9345: WHERE t1.rowid >= 16777215 ORDER BY t2.a
9346: }
9347: } {3 6 7 9 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
9348: do_test boundary3-2.49.ge.2 {
9349: db eval {
9350: SELECT t2.a FROM t2 NATURAL JOIN t1
9351: WHERE t1.rowid >= 16777215 ORDER BY t1.a DESC
9352: }
9353: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 9 7 6 3}
9354: do_test boundary3-2.49.ge.3 {
9355: db eval {
9356: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9357: WHERE t2.a=9
9358: ORDER BY t1.rowid
9359: }
9360: } {9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9361: do_test boundary3-2.49.ge.4 {
9362: db eval {
9363: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9364: WHERE t2.a=9
9365: ORDER BY t1.rowid DESC
9366: }
9367: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9}
9368: do_test boundary3-2.49.ge.5 {
9369: db eval {
9370: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9371: WHERE t2.a=9
9372: ORDER BY x
9373: }
9374: } {9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9375: do_test boundary3-2.49.ge.10 {
9376: db eval {
9377: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
9378: WHERE t2.a=9
9379: ORDER BY t1.rowid
9380: }
9381: } {9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9382: do_test boundary3-2.49.ge.11 {
9383: db eval {
9384: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
9385: WHERE t2.a=9
9386: ORDER BY t1.rowid DESC
9387: }
9388: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9}
9389: do_test boundary3-2.49.lt.1 {
9390: db eval {
9391: SELECT t2.a FROM t1 JOIN t2 USING(a)
9392: WHERE t1.rowid < 16777215 ORDER BY t2.a
9393: }
9394: } {1 2 4 5 8 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
9395: do_test boundary3-2.49.lt.2 {
9396: db eval {
9397: SELECT t2.a FROM t2 NATURAL JOIN t1
9398: WHERE t1.rowid < 16777215 ORDER BY t1.a DESC
9399: }
9400: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 8 5 4 2 1}
9401: do_test boundary3-2.49.lt.3 {
9402: db eval {
9403: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9404: WHERE t2.a=9
9405: ORDER BY t1.rowid
9406: }
9407: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24}
9408: do_test boundary3-2.49.lt.4 {
9409: db eval {
9410: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9411: WHERE t2.a=9
9412: ORDER BY t1.rowid DESC
9413: }
9414: } {24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9415: do_test boundary3-2.49.lt.5 {
9416: db eval {
9417: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9418: WHERE t2.a=9
9419: ORDER BY x
9420: }
9421: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
9422: do_test boundary3-2.49.lt.10 {
9423: db eval {
9424: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
9425: WHERE t2.a=9
9426: ORDER BY t1.rowid
9427: }
9428: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24}
9429: do_test boundary3-2.49.lt.11 {
9430: db eval {
9431: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
9432: WHERE t2.a=9
9433: ORDER BY t1.rowid DESC
9434: }
9435: } {24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9436: do_test boundary3-2.49.le.1 {
9437: db eval {
9438: SELECT t2.a FROM t1 JOIN t2 USING(a)
9439: WHERE t1.rowid <= 16777215 ORDER BY t2.a
9440: }
9441: } {1 2 4 5 8 9 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
9442: do_test boundary3-2.49.le.2 {
9443: db eval {
9444: SELECT t2.a FROM t2 NATURAL JOIN t1
9445: WHERE t1.rowid <= 16777215 ORDER BY t1.a DESC
9446: }
9447: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 9 8 5 4 2 1}
9448: do_test boundary3-2.49.le.3 {
9449: db eval {
9450: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9451: WHERE t2.a=9
9452: ORDER BY t1.rowid
9453: }
9454: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9}
9455: do_test boundary3-2.49.le.4 {
9456: db eval {
9457: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9458: WHERE t2.a=9
9459: ORDER BY t1.rowid DESC
9460: }
9461: } {9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9462: do_test boundary3-2.49.le.5 {
9463: db eval {
9464: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9465: WHERE t2.a=9
9466: ORDER BY x
9467: }
9468: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
9469: do_test boundary3-2.49.le.10 {
9470: db eval {
9471: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
9472: WHERE t2.a=9
9473: ORDER BY t1.rowid
9474: }
9475: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9}
9476: do_test boundary3-2.49.le.11 {
9477: db eval {
9478: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
9479: WHERE t2.a=9
9480: ORDER BY t1.rowid DESC
9481: }
9482: } {9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9483: do_test boundary3-2.50.1 {
9484: db eval {
9485: SELECT t1.* FROM t1, t2 WHERE t1.rowid=8388608 AND t2.a=t1.a
9486: }
9487: } {24 0000000000800000}
9488: do_test boundary3-2.50.2 {
9489: db eval {
9490: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000800000'
9491: }
9492: } {8388608 24}
9493: do_test boundary3-2.50.3 {
9494: db eval {
9495: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=24
9496: }
9497: } {8388608 0000000000800000}
9498: do_test boundary3-2.50.gt.1 {
9499: db eval {
9500: SELECT t2.a FROM t1 JOIN t2 USING(a)
9501: WHERE t1.rowid > 8388608 ORDER BY t2.a
9502: }
9503: } {3 6 7 9 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
9504: do_test boundary3-2.50.gt.2 {
9505: db eval {
9506: SELECT t2.a FROM t2 NATURAL JOIN t1
9507: WHERE t1.rowid > 8388608 ORDER BY t1.a DESC
9508: }
9509: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 9 7 6 3}
9510: do_test boundary3-2.50.gt.3 {
9511: db eval {
9512: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9513: WHERE t2.a=24
9514: ORDER BY t1.rowid
9515: }
9516: } {9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9517: do_test boundary3-2.50.gt.4 {
9518: db eval {
9519: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9520: WHERE t2.a=24
9521: ORDER BY t1.rowid DESC
9522: }
9523: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9}
9524: do_test boundary3-2.50.gt.5 {
9525: db eval {
9526: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9527: WHERE t2.a=24
9528: ORDER BY x
9529: }
9530: } {9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9531: do_test boundary3-2.50.gt.10 {
9532: db eval {
9533: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
9534: WHERE t2.a=24
9535: ORDER BY t1.rowid
9536: }
9537: } {9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9538: do_test boundary3-2.50.gt.11 {
9539: db eval {
9540: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
9541: WHERE t2.a=24
9542: ORDER BY t1.rowid DESC
9543: }
9544: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9}
9545: do_test boundary3-2.50.ge.1 {
9546: db eval {
9547: SELECT t2.a FROM t1 JOIN t2 USING(a)
9548: WHERE t1.rowid >= 8388608 ORDER BY t2.a
9549: }
9550: } {3 6 7 9 10 12 13 14 17 19 20 22 24 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}
9551: do_test boundary3-2.50.ge.2 {
9552: db eval {
9553: SELECT t2.a FROM t2 NATURAL JOIN t1
9554: WHERE t1.rowid >= 8388608 ORDER BY t1.a DESC
9555: }
9556: } {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 24 22 20 19 17 14 13 12 10 9 7 6 3}
9557: do_test boundary3-2.50.ge.3 {
9558: db eval {
9559: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9560: WHERE t2.a=24
9561: ORDER BY t1.rowid
9562: }
9563: } {24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9564: do_test boundary3-2.50.ge.4 {
9565: db eval {
9566: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9567: WHERE t2.a=24
9568: ORDER BY t1.rowid DESC
9569: }
9570: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24}
9571: do_test boundary3-2.50.ge.5 {
9572: db eval {
9573: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9574: WHERE t2.a=24
9575: ORDER BY x
9576: }
9577: } {24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9578: do_test boundary3-2.50.ge.10 {
9579: db eval {
9580: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
9581: WHERE t2.a=24
9582: ORDER BY t1.rowid
9583: }
9584: } {24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9585: do_test boundary3-2.50.ge.11 {
9586: db eval {
9587: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
9588: WHERE t2.a=24
9589: ORDER BY t1.rowid DESC
9590: }
9591: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24}
9592: do_test boundary3-2.50.lt.1 {
9593: db eval {
9594: SELECT t2.a FROM t1 JOIN t2 USING(a)
9595: WHERE t1.rowid < 8388608 ORDER BY t2.a
9596: }
9597: } {1 2 4 5 8 11 15 16 18 21 23 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
9598: do_test boundary3-2.50.lt.2 {
9599: db eval {
9600: SELECT t2.a FROM t2 NATURAL JOIN t1
9601: WHERE t1.rowid < 8388608 ORDER BY t1.a DESC
9602: }
9603: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 23 21 18 16 15 11 8 5 4 2 1}
9604: do_test boundary3-2.50.lt.3 {
9605: db eval {
9606: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9607: WHERE t2.a=24
9608: ORDER BY t1.rowid
9609: }
9610: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18}
9611: do_test boundary3-2.50.lt.4 {
9612: db eval {
9613: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9614: WHERE t2.a=24
9615: ORDER BY t1.rowid DESC
9616: }
9617: } {18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9618: do_test boundary3-2.50.lt.5 {
9619: db eval {
9620: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9621: WHERE t2.a=24
9622: ORDER BY x
9623: }
9624: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
9625: do_test boundary3-2.50.lt.10 {
9626: db eval {
9627: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
9628: WHERE t2.a=24
9629: ORDER BY t1.rowid
9630: }
9631: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18}
9632: do_test boundary3-2.50.lt.11 {
9633: db eval {
9634: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
9635: WHERE t2.a=24
9636: ORDER BY t1.rowid DESC
9637: }
9638: } {18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9639: do_test boundary3-2.50.le.1 {
9640: db eval {
9641: SELECT t2.a FROM t1 JOIN t2 USING(a)
9642: WHERE t1.rowid <= 8388608 ORDER BY t2.a
9643: }
9644: } {1 2 4 5 8 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
9645: do_test boundary3-2.50.le.2 {
9646: db eval {
9647: SELECT t2.a FROM t2 NATURAL JOIN t1
9648: WHERE t1.rowid <= 8388608 ORDER BY t1.a DESC
9649: }
9650: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 8 5 4 2 1}
9651: do_test boundary3-2.50.le.3 {
9652: db eval {
9653: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9654: WHERE t2.a=24
9655: ORDER BY t1.rowid
9656: }
9657: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24}
9658: do_test boundary3-2.50.le.4 {
9659: db eval {
9660: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9661: WHERE t2.a=24
9662: ORDER BY t1.rowid DESC
9663: }
9664: } {24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9665: do_test boundary3-2.50.le.5 {
9666: db eval {
9667: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9668: WHERE t2.a=24
9669: ORDER BY x
9670: }
9671: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
9672: do_test boundary3-2.50.le.10 {
9673: db eval {
9674: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
9675: WHERE t2.a=24
9676: ORDER BY t1.rowid
9677: }
9678: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24}
9679: do_test boundary3-2.50.le.11 {
9680: db eval {
9681: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
9682: WHERE t2.a=24
9683: ORDER BY t1.rowid DESC
9684: }
9685: } {24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9686: do_test boundary3-2.51.1 {
9687: db eval {
9688: SELECT t1.* FROM t1, t2 WHERE t1.rowid=16383 AND t2.a=t1.a
9689: }
9690: } {8 0000000000003fff}
9691: do_test boundary3-2.51.2 {
9692: db eval {
9693: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000003fff'
9694: }
9695: } {16383 8}
9696: do_test boundary3-2.51.3 {
9697: db eval {
9698: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=8
9699: }
9700: } {16383 0000000000003fff}
9701: do_test boundary3-2.51.gt.1 {
9702: db eval {
9703: SELECT t2.a FROM t1 JOIN t2 USING(a)
9704: WHERE t1.rowid > 16383 ORDER BY t2.a
9705: }
9706: } {3 6 7 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
9707: do_test boundary3-2.51.gt.2 {
9708: db eval {
9709: SELECT t2.a FROM t2 NATURAL JOIN t1
9710: WHERE t1.rowid > 16383 ORDER BY t1.a DESC
9711: }
9712: } {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 7 6 3}
9713: do_test boundary3-2.51.gt.3 {
9714: db eval {
9715: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9716: WHERE t2.a=8
9717: ORDER BY t1.rowid
9718: }
9719: } {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9720: do_test boundary3-2.51.gt.4 {
9721: db eval {
9722: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9723: WHERE t2.a=8
9724: ORDER BY t1.rowid DESC
9725: }
9726: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16}
9727: do_test boundary3-2.51.gt.5 {
9728: db eval {
9729: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9730: WHERE t2.a=8
9731: ORDER BY x
9732: }
9733: } {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9734: do_test boundary3-2.51.gt.10 {
9735: db eval {
9736: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
9737: WHERE t2.a=8
9738: ORDER BY t1.rowid
9739: }
9740: } {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9741: do_test boundary3-2.51.gt.11 {
9742: db eval {
9743: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
9744: WHERE t2.a=8
9745: ORDER BY t1.rowid DESC
9746: }
9747: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16}
9748: do_test boundary3-2.51.ge.1 {
9749: db eval {
9750: SELECT t2.a FROM t1 JOIN t2 USING(a)
9751: WHERE t1.rowid >= 16383 ORDER BY t2.a
9752: }
9753: } {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
9754: do_test boundary3-2.51.ge.2 {
9755: db eval {
9756: SELECT t2.a FROM t2 NATURAL JOIN t1
9757: WHERE t1.rowid >= 16383 ORDER BY t1.a DESC
9758: }
9759: } {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
9760: do_test boundary3-2.51.ge.3 {
9761: db eval {
9762: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9763: WHERE t2.a=8
9764: ORDER BY t1.rowid
9765: }
9766: } {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9767: do_test boundary3-2.51.ge.4 {
9768: db eval {
9769: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9770: WHERE t2.a=8
9771: ORDER BY t1.rowid DESC
9772: }
9773: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8}
9774: do_test boundary3-2.51.ge.5 {
9775: db eval {
9776: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9777: WHERE t2.a=8
9778: ORDER BY x
9779: }
9780: } {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9781: do_test boundary3-2.51.ge.10 {
9782: db eval {
9783: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
9784: WHERE t2.a=8
9785: ORDER BY t1.rowid
9786: }
9787: } {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
9788: do_test boundary3-2.51.ge.11 {
9789: db eval {
9790: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
9791: WHERE t2.a=8
9792: ORDER BY t1.rowid DESC
9793: }
9794: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8}
9795: do_test boundary3-2.51.lt.1 {
9796: db eval {
9797: SELECT t2.a FROM t1 JOIN t2 USING(a)
9798: WHERE t1.rowid < 16383 ORDER BY t2.a
9799: }
9800: } {1 2 4 5 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
9801: do_test boundary3-2.51.lt.2 {
9802: db eval {
9803: SELECT t2.a FROM t2 NATURAL JOIN t1
9804: WHERE t1.rowid < 16383 ORDER BY t1.a DESC
9805: }
9806: } {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 5 4 2 1}
9807: do_test boundary3-2.51.lt.3 {
9808: db eval {
9809: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9810: WHERE t2.a=8
9811: ORDER BY t1.rowid
9812: }
9813: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61}
9814: do_test boundary3-2.51.lt.4 {
9815: db eval {
9816: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9817: WHERE t2.a=8
9818: ORDER BY t1.rowid DESC
9819: }
9820: } {61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9821: do_test boundary3-2.51.lt.5 {
9822: db eval {
9823: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9824: WHERE t2.a=8
9825: ORDER BY x
9826: }
9827: } {59 60 41 5 31 4 49 30 61 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
9828: do_test boundary3-2.51.lt.10 {
9829: db eval {
9830: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
9831: WHERE t2.a=8
9832: ORDER BY t1.rowid
9833: }
9834: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61}
9835: do_test boundary3-2.51.lt.11 {
9836: db eval {
9837: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
9838: WHERE t2.a=8
9839: ORDER BY t1.rowid DESC
9840: }
9841: } {61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9842: do_test boundary3-2.51.le.1 {
9843: db eval {
9844: SELECT t2.a FROM t1 JOIN t2 USING(a)
9845: WHERE t1.rowid <= 16383 ORDER BY t2.a
9846: }
9847: } {1 2 4 5 8 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
9848: do_test boundary3-2.51.le.2 {
9849: db eval {
9850: SELECT t2.a FROM t2 NATURAL JOIN t1
9851: WHERE t1.rowid <= 16383 ORDER BY t1.a DESC
9852: }
9853: } {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 8 5 4 2 1}
9854: do_test boundary3-2.51.le.3 {
9855: db eval {
9856: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9857: WHERE t2.a=8
9858: ORDER BY t1.rowid
9859: }
9860: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8}
9861: do_test boundary3-2.51.le.4 {
9862: db eval {
9863: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9864: WHERE t2.a=8
9865: ORDER BY t1.rowid DESC
9866: }
9867: } {8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9868: do_test boundary3-2.51.le.5 {
9869: db eval {
9870: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
9871: WHERE t2.a=8
9872: ORDER BY x
9873: }
9874: } {59 60 41 5 31 4 49 30 61 8 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
9875: do_test boundary3-2.51.le.10 {
9876: db eval {
9877: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
9878: WHERE t2.a=8
9879: ORDER BY t1.rowid
9880: }
9881: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8}
9882: do_test boundary3-2.51.le.11 {
9883: db eval {
9884: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
9885: WHERE t2.a=8
9886: ORDER BY t1.rowid DESC
9887: }
9888: } {8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9889: do_test boundary3-2.52.1 {
9890: db eval {
9891: SELECT t1.* FROM t1, t2 WHERE t1.rowid=140737488355328 AND t2.a=t1.a
9892: }
9893: } {34 0000800000000000}
9894: do_test boundary3-2.52.2 {
9895: db eval {
9896: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000800000000000'
9897: }
9898: } {140737488355328 34}
9899: do_test boundary3-2.52.3 {
9900: db eval {
9901: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=34
9902: }
9903: } {140737488355328 0000800000000000}
9904: do_test boundary3-2.52.gt.1 {
9905: db eval {
9906: SELECT t2.a FROM t1 JOIN t2 USING(a)
9907: WHERE t1.rowid > 140737488355328 ORDER BY t2.a
9908: }
9909: } {3 10 13 17 26 27 28 43 45}
9910: do_test boundary3-2.52.gt.2 {
9911: db eval {
9912: SELECT t2.a FROM t2 NATURAL JOIN t1
9913: WHERE t1.rowid > 140737488355328 ORDER BY t1.a DESC
9914: }
9915: } {45 43 28 27 26 17 13 10 3}
9916: do_test boundary3-2.52.gt.3 {
9917: db eval {
9918: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9919: WHERE t2.a=34
9920: ORDER BY t1.rowid
9921: }
9922: } {10 26 13 43 27 45 17 28 3}
9923: do_test boundary3-2.52.gt.4 {
9924: db eval {
9925: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9926: WHERE t2.a=34
9927: ORDER BY t1.rowid DESC
9928: }
9929: } {3 28 17 45 27 43 13 26 10}
9930: do_test boundary3-2.52.gt.5 {
9931: db eval {
9932: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
9933: WHERE t2.a=34
9934: ORDER BY x
9935: }
9936: } {10 26 13 43 27 45 17 28 3}
9937: do_test boundary3-2.52.ge.1 {
9938: db eval {
9939: SELECT t2.a FROM t1 JOIN t2 USING(a)
9940: WHERE t1.rowid >= 140737488355328 ORDER BY t2.a
9941: }
9942: } {3 10 13 17 26 27 28 34 43 45}
9943: do_test boundary3-2.52.ge.2 {
9944: db eval {
9945: SELECT t2.a FROM t2 NATURAL JOIN t1
9946: WHERE t1.rowid >= 140737488355328 ORDER BY t1.a DESC
9947: }
9948: } {45 43 34 28 27 26 17 13 10 3}
9949: do_test boundary3-2.52.ge.3 {
9950: db eval {
9951: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9952: WHERE t2.a=34
9953: ORDER BY t1.rowid
9954: }
9955: } {34 10 26 13 43 27 45 17 28 3}
9956: do_test boundary3-2.52.ge.4 {
9957: db eval {
9958: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9959: WHERE t2.a=34
9960: ORDER BY t1.rowid DESC
9961: }
9962: } {3 28 17 45 27 43 13 26 10 34}
9963: do_test boundary3-2.52.ge.5 {
9964: db eval {
9965: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
9966: WHERE t2.a=34
9967: ORDER BY x
9968: }
9969: } {34 10 26 13 43 27 45 17 28 3}
9970: do_test boundary3-2.52.lt.1 {
9971: db eval {
9972: SELECT t2.a FROM t1 JOIN t2 USING(a)
9973: WHERE t1.rowid < 140737488355328 ORDER BY t2.a
9974: }
9975: } {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
9976: do_test boundary3-2.52.lt.2 {
9977: db eval {
9978: SELECT t2.a FROM t2 NATURAL JOIN t1
9979: WHERE t1.rowid < 140737488355328 ORDER BY t1.a DESC
9980: }
9981: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
9982: do_test boundary3-2.52.lt.3 {
9983: db eval {
9984: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9985: WHERE t2.a=34
9986: ORDER BY t1.rowid
9987: }
9988: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25}
9989: do_test boundary3-2.52.lt.4 {
9990: db eval {
9991: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9992: WHERE t2.a=34
9993: ORDER BY t1.rowid DESC
9994: }
9995: } {25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
9996: do_test boundary3-2.52.lt.5 {
9997: db eval {
9998: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
9999: WHERE t2.a=34
10000: ORDER BY x
10001: }
10002: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10003: do_test boundary3-2.52.le.1 {
10004: db eval {
10005: SELECT t2.a FROM t1 JOIN t2 USING(a)
10006: WHERE t1.rowid <= 140737488355328 ORDER BY t2.a
10007: }
10008: } {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
10009: do_test boundary3-2.52.le.2 {
10010: db eval {
10011: SELECT t2.a FROM t2 NATURAL JOIN t1
10012: WHERE t1.rowid <= 140737488355328 ORDER BY t1.a DESC
10013: }
10014: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
10015: do_test boundary3-2.52.le.3 {
10016: db eval {
10017: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10018: WHERE t2.a=34
10019: ORDER BY t1.rowid
10020: }
10021: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34}
10022: do_test boundary3-2.52.le.4 {
10023: db eval {
10024: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10025: WHERE t2.a=34
10026: ORDER BY t1.rowid DESC
10027: }
10028: } {34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10029: do_test boundary3-2.52.le.5 {
10030: db eval {
10031: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10032: WHERE t2.a=34
10033: ORDER BY x
10034: }
10035: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10036: do_test boundary3-2.53.1 {
10037: db eval {
10038: SELECT t1.* FROM t1, t2 WHERE t1.rowid=2097151 AND t2.a=t1.a
10039: }
10040: } {15 00000000001fffff}
10041: do_test boundary3-2.53.2 {
10042: db eval {
10043: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00000000001fffff'
10044: }
10045: } {2097151 15}
10046: do_test boundary3-2.53.3 {
10047: db eval {
10048: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=15
10049: }
10050: } {2097151 00000000001fffff}
10051: do_test boundary3-2.53.gt.1 {
10052: db eval {
10053: SELECT t2.a FROM t1 JOIN t2 USING(a)
10054: WHERE t1.rowid > 2097151 ORDER BY t2.a
10055: }
10056: } {3 6 7 9 10 12 13 14 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57}
10057: do_test boundary3-2.53.gt.2 {
10058: db eval {
10059: SELECT t2.a FROM t2 NATURAL JOIN t1
10060: WHERE t1.rowid > 2097151 ORDER BY t1.a DESC
10061: }
10062: } {57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 14 13 12 10 9 7 6 3}
10063: do_test boundary3-2.53.gt.3 {
10064: db eval {
10065: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10066: WHERE t2.a=15
10067: ORDER BY t1.rowid
10068: }
10069: } {42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10070: do_test boundary3-2.53.gt.4 {
10071: db eval {
10072: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10073: WHERE t2.a=15
10074: ORDER BY t1.rowid DESC
10075: }
10076: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42}
10077: do_test boundary3-2.53.gt.5 {
10078: db eval {
10079: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10080: WHERE t2.a=15
10081: ORDER BY x
10082: }
10083: } {42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10084: do_test boundary3-2.53.gt.10 {
10085: db eval {
10086: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
10087: WHERE t2.a=15
10088: ORDER BY t1.rowid
10089: }
10090: } {42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10091: do_test boundary3-2.53.gt.11 {
10092: db eval {
10093: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
10094: WHERE t2.a=15
10095: ORDER BY t1.rowid DESC
10096: }
10097: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42}
10098: do_test boundary3-2.53.ge.1 {
10099: db eval {
10100: SELECT t2.a FROM t1 JOIN t2 USING(a)
10101: WHERE t1.rowid >= 2097151 ORDER BY t2.a
10102: }
10103: } {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 51 56 57}
10104: do_test boundary3-2.53.ge.2 {
10105: db eval {
10106: SELECT t2.a FROM t2 NATURAL JOIN t1
10107: WHERE t1.rowid >= 2097151 ORDER BY t1.a DESC
10108: }
10109: } {57 56 51 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
10110: do_test boundary3-2.53.ge.3 {
10111: db eval {
10112: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10113: WHERE t2.a=15
10114: ORDER BY t1.rowid
10115: }
10116: } {15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10117: do_test boundary3-2.53.ge.4 {
10118: db eval {
10119: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10120: WHERE t2.a=15
10121: ORDER BY t1.rowid DESC
10122: }
10123: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15}
10124: do_test boundary3-2.53.ge.5 {
10125: db eval {
10126: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10127: WHERE t2.a=15
10128: ORDER BY x
10129: }
10130: } {15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10131: do_test boundary3-2.53.ge.10 {
10132: db eval {
10133: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
10134: WHERE t2.a=15
10135: ORDER BY t1.rowid
10136: }
10137: } {15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10138: do_test boundary3-2.53.ge.11 {
10139: db eval {
10140: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
10141: WHERE t2.a=15
10142: ORDER BY t1.rowid DESC
10143: }
10144: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15}
10145: do_test boundary3-2.53.lt.1 {
10146: db eval {
10147: SELECT t2.a FROM t1 JOIN t2 USING(a)
10148: WHERE t1.rowid < 2097151 ORDER BY t2.a
10149: }
10150: } {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
10151: do_test boundary3-2.53.lt.2 {
10152: db eval {
10153: SELECT t2.a FROM t2 NATURAL JOIN t1
10154: WHERE t1.rowid < 2097151 ORDER BY t1.a DESC
10155: }
10156: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
10157: do_test boundary3-2.53.lt.3 {
10158: db eval {
10159: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10160: WHERE t2.a=15
10161: ORDER BY t1.rowid
10162: }
10163: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62}
10164: do_test boundary3-2.53.lt.4 {
10165: db eval {
10166: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10167: WHERE t2.a=15
10168: ORDER BY t1.rowid DESC
10169: }
10170: } {62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10171: do_test boundary3-2.53.lt.5 {
10172: db eval {
10173: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10174: WHERE t2.a=15
10175: ORDER BY x
10176: }
10177: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10178: do_test boundary3-2.53.lt.10 {
10179: db eval {
10180: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
10181: WHERE t2.a=15
10182: ORDER BY t1.rowid
10183: }
10184: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62}
10185: do_test boundary3-2.53.lt.11 {
10186: db eval {
10187: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
10188: WHERE t2.a=15
10189: ORDER BY t1.rowid DESC
10190: }
10191: } {62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10192: do_test boundary3-2.53.le.1 {
10193: db eval {
10194: SELECT t2.a FROM t1 JOIN t2 USING(a)
10195: WHERE t1.rowid <= 2097151 ORDER BY t2.a
10196: }
10197: } {1 2 4 5 8 11 15 16 21 23 29 30 31 32 33 37 38 41 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}
10198: do_test boundary3-2.53.le.2 {
10199: db eval {
10200: SELECT t2.a FROM t2 NATURAL JOIN t1
10201: WHERE t1.rowid <= 2097151 ORDER BY t1.a DESC
10202: }
10203: } {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 41 38 37 33 32 31 30 29 23 21 16 15 11 8 5 4 2 1}
10204: do_test boundary3-2.53.le.3 {
10205: db eval {
10206: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10207: WHERE t2.a=15
10208: ORDER BY t1.rowid
10209: }
10210: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15}
10211: do_test boundary3-2.53.le.4 {
10212: db eval {
10213: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10214: WHERE t2.a=15
10215: ORDER BY t1.rowid DESC
10216: }
10217: } {15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10218: do_test boundary3-2.53.le.5 {
10219: db eval {
10220: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10221: WHERE t2.a=15
10222: ORDER BY x
10223: }
10224: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10225: do_test boundary3-2.53.le.10 {
10226: db eval {
10227: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
10228: WHERE t2.a=15
10229: ORDER BY t1.rowid
10230: }
10231: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15}
10232: do_test boundary3-2.53.le.11 {
10233: db eval {
10234: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
10235: WHERE t2.a=15
10236: ORDER BY t1.rowid DESC
10237: }
10238: } {15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10239: do_test boundary3-2.54.1 {
10240: db eval {
10241: SELECT t1.* FROM t1, t2 WHERE t1.rowid=140737488355327 AND t2.a=t1.a
10242: }
10243: } {25 00007fffffffffff}
10244: do_test boundary3-2.54.2 {
10245: db eval {
10246: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00007fffffffffff'
10247: }
10248: } {140737488355327 25}
10249: do_test boundary3-2.54.3 {
10250: db eval {
10251: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=25
10252: }
10253: } {140737488355327 00007fffffffffff}
10254: do_test boundary3-2.54.gt.1 {
10255: db eval {
10256: SELECT t2.a FROM t1 JOIN t2 USING(a)
10257: WHERE t1.rowid > 140737488355327 ORDER BY t2.a
10258: }
10259: } {3 10 13 17 26 27 28 34 43 45}
10260: do_test boundary3-2.54.gt.2 {
10261: db eval {
10262: SELECT t2.a FROM t2 NATURAL JOIN t1
10263: WHERE t1.rowid > 140737488355327 ORDER BY t1.a DESC
10264: }
10265: } {45 43 34 28 27 26 17 13 10 3}
10266: do_test boundary3-2.54.gt.3 {
10267: db eval {
10268: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10269: WHERE t2.a=25
10270: ORDER BY t1.rowid
10271: }
10272: } {34 10 26 13 43 27 45 17 28 3}
10273: do_test boundary3-2.54.gt.4 {
10274: db eval {
10275: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10276: WHERE t2.a=25
10277: ORDER BY t1.rowid DESC
10278: }
10279: } {3 28 17 45 27 43 13 26 10 34}
10280: do_test boundary3-2.54.gt.5 {
10281: db eval {
10282: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10283: WHERE t2.a=25
10284: ORDER BY x
10285: }
10286: } {34 10 26 13 43 27 45 17 28 3}
10287: do_test boundary3-2.54.ge.1 {
10288: db eval {
10289: SELECT t2.a FROM t1 JOIN t2 USING(a)
10290: WHERE t1.rowid >= 140737488355327 ORDER BY t2.a
10291: }
10292: } {3 10 13 17 25 26 27 28 34 43 45}
10293: do_test boundary3-2.54.ge.2 {
10294: db eval {
10295: SELECT t2.a FROM t2 NATURAL JOIN t1
10296: WHERE t1.rowid >= 140737488355327 ORDER BY t1.a DESC
10297: }
10298: } {45 43 34 28 27 26 25 17 13 10 3}
10299: do_test boundary3-2.54.ge.3 {
10300: db eval {
10301: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10302: WHERE t2.a=25
10303: ORDER BY t1.rowid
10304: }
10305: } {25 34 10 26 13 43 27 45 17 28 3}
10306: do_test boundary3-2.54.ge.4 {
10307: db eval {
10308: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10309: WHERE t2.a=25
10310: ORDER BY t1.rowid DESC
10311: }
10312: } {3 28 17 45 27 43 13 26 10 34 25}
10313: do_test boundary3-2.54.ge.5 {
10314: db eval {
10315: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10316: WHERE t2.a=25
10317: ORDER BY x
10318: }
10319: } {25 34 10 26 13 43 27 45 17 28 3}
10320: do_test boundary3-2.54.lt.1 {
10321: db eval {
10322: SELECT t2.a FROM t1 JOIN t2 USING(a)
10323: WHERE t1.rowid < 140737488355327 ORDER BY t2.a
10324: }
10325: } {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
10326: do_test boundary3-2.54.lt.2 {
10327: db eval {
10328: SELECT t2.a FROM t2 NATURAL JOIN t1
10329: WHERE t1.rowid < 140737488355327 ORDER BY t1.a DESC
10330: }
10331: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
10332: do_test boundary3-2.54.lt.3 {
10333: db eval {
10334: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10335: WHERE t2.a=25
10336: ORDER BY t1.rowid
10337: }
10338: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56}
10339: do_test boundary3-2.54.lt.4 {
10340: db eval {
10341: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10342: WHERE t2.a=25
10343: ORDER BY t1.rowid DESC
10344: }
10345: } {56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10346: do_test boundary3-2.54.lt.5 {
10347: db eval {
10348: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10349: WHERE t2.a=25
10350: ORDER BY x
10351: }
10352: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10353: do_test boundary3-2.54.le.1 {
10354: db eval {
10355: SELECT t2.a FROM t1 JOIN t2 USING(a)
10356: WHERE t1.rowid <= 140737488355327 ORDER BY t2.a
10357: }
10358: } {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
10359: do_test boundary3-2.54.le.2 {
10360: db eval {
10361: SELECT t2.a FROM t2 NATURAL JOIN t1
10362: WHERE t1.rowid <= 140737488355327 ORDER BY t1.a DESC
10363: }
10364: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
10365: do_test boundary3-2.54.le.3 {
10366: db eval {
10367: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10368: WHERE t2.a=25
10369: ORDER BY t1.rowid
10370: }
10371: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25}
10372: do_test boundary3-2.54.le.4 {
10373: db eval {
10374: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10375: WHERE t2.a=25
10376: ORDER BY t1.rowid DESC
10377: }
10378: } {25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10379: do_test boundary3-2.54.le.5 {
10380: db eval {
10381: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10382: WHERE t2.a=25
10383: ORDER BY x
10384: }
10385: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10386: do_test boundary3-2.55.1 {
10387: db eval {
10388: SELECT t1.* FROM t1, t2 WHERE t1.rowid=281474976710656 AND t2.a=t1.a
10389: }
10390: } {26 0001000000000000}
10391: do_test boundary3-2.55.2 {
10392: db eval {
10393: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0001000000000000'
10394: }
10395: } {281474976710656 26}
10396: do_test boundary3-2.55.3 {
10397: db eval {
10398: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=26
10399: }
10400: } {281474976710656 0001000000000000}
10401: do_test boundary3-2.55.gt.1 {
10402: db eval {
10403: SELECT t2.a FROM t1 JOIN t2 USING(a)
10404: WHERE t1.rowid > 281474976710656 ORDER BY t2.a
10405: }
10406: } {3 13 17 27 28 43 45}
10407: do_test boundary3-2.55.gt.2 {
10408: db eval {
10409: SELECT t2.a FROM t2 NATURAL JOIN t1
10410: WHERE t1.rowid > 281474976710656 ORDER BY t1.a DESC
10411: }
10412: } {45 43 28 27 17 13 3}
10413: do_test boundary3-2.55.gt.3 {
10414: db eval {
10415: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10416: WHERE t2.a=26
10417: ORDER BY t1.rowid
10418: }
10419: } {13 43 27 45 17 28 3}
10420: do_test boundary3-2.55.gt.4 {
10421: db eval {
10422: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10423: WHERE t2.a=26
10424: ORDER BY t1.rowid DESC
10425: }
10426: } {3 28 17 45 27 43 13}
10427: do_test boundary3-2.55.gt.5 {
10428: db eval {
10429: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10430: WHERE t2.a=26
10431: ORDER BY x
10432: }
10433: } {13 43 27 45 17 28 3}
10434: do_test boundary3-2.55.ge.1 {
10435: db eval {
10436: SELECT t2.a FROM t1 JOIN t2 USING(a)
10437: WHERE t1.rowid >= 281474976710656 ORDER BY t2.a
10438: }
10439: } {3 13 17 26 27 28 43 45}
10440: do_test boundary3-2.55.ge.2 {
10441: db eval {
10442: SELECT t2.a FROM t2 NATURAL JOIN t1
10443: WHERE t1.rowid >= 281474976710656 ORDER BY t1.a DESC
10444: }
10445: } {45 43 28 27 26 17 13 3}
10446: do_test boundary3-2.55.ge.3 {
10447: db eval {
10448: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10449: WHERE t2.a=26
10450: ORDER BY t1.rowid
10451: }
10452: } {26 13 43 27 45 17 28 3}
10453: do_test boundary3-2.55.ge.4 {
10454: db eval {
10455: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10456: WHERE t2.a=26
10457: ORDER BY t1.rowid DESC
10458: }
10459: } {3 28 17 45 27 43 13 26}
10460: do_test boundary3-2.55.ge.5 {
10461: db eval {
10462: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10463: WHERE t2.a=26
10464: ORDER BY x
10465: }
10466: } {26 13 43 27 45 17 28 3}
10467: do_test boundary3-2.55.lt.1 {
10468: db eval {
10469: SELECT t2.a FROM t1 JOIN t2 USING(a)
10470: WHERE t1.rowid < 281474976710656 ORDER BY t2.a
10471: }
10472: } {1 2 4 5 6 7 8 9 10 11 12 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
10473: do_test boundary3-2.55.lt.2 {
10474: db eval {
10475: SELECT t2.a FROM t2 NATURAL JOIN t1
10476: WHERE t1.rowid < 281474976710656 ORDER BY t1.a DESC
10477: }
10478: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 25 24 23 22 21 20 19 18 16 15 14 12 11 10 9 8 7 6 5 4 2 1}
10479: do_test boundary3-2.55.lt.3 {
10480: db eval {
10481: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10482: WHERE t2.a=26
10483: ORDER BY t1.rowid
10484: }
10485: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10}
10486: do_test boundary3-2.55.lt.4 {
10487: db eval {
10488: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10489: WHERE t2.a=26
10490: ORDER BY t1.rowid DESC
10491: }
10492: } {10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10493: do_test boundary3-2.55.lt.5 {
10494: db eval {
10495: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10496: WHERE t2.a=26
10497: ORDER BY x
10498: }
10499: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10500: do_test boundary3-2.55.le.1 {
10501: db eval {
10502: SELECT t2.a FROM t1 JOIN t2 USING(a)
10503: WHERE t1.rowid <= 281474976710656 ORDER BY t2.a
10504: }
10505: } {1 2 4 5 6 7 8 9 10 11 12 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
10506: do_test boundary3-2.55.le.2 {
10507: db eval {
10508: SELECT t2.a FROM t2 NATURAL JOIN t1
10509: WHERE t1.rowid <= 281474976710656 ORDER BY t1.a DESC
10510: }
10511: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 12 11 10 9 8 7 6 5 4 2 1}
10512: do_test boundary3-2.55.le.3 {
10513: db eval {
10514: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10515: WHERE t2.a=26
10516: ORDER BY t1.rowid
10517: }
10518: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26}
10519: do_test boundary3-2.55.le.4 {
10520: db eval {
10521: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10522: WHERE t2.a=26
10523: ORDER BY t1.rowid DESC
10524: }
10525: } {26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10526: do_test boundary3-2.55.le.5 {
10527: db eval {
10528: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10529: WHERE t2.a=26
10530: ORDER BY x
10531: }
10532: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10533: do_test boundary3-2.56.1 {
10534: db eval {
10535: SELECT t1.* FROM t1, t2 WHERE t1.rowid=32767 AND t2.a=t1.a
10536: }
10537: } {23 0000000000007fff}
10538: do_test boundary3-2.56.2 {
10539: db eval {
10540: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000007fff'
10541: }
10542: } {32767 23}
10543: do_test boundary3-2.56.3 {
10544: db eval {
10545: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=23
10546: }
10547: } {32767 0000000000007fff}
10548: do_test boundary3-2.56.gt.1 {
10549: db eval {
10550: SELECT t2.a FROM t1 JOIN t2 USING(a)
10551: WHERE t1.rowid > 32767 ORDER BY t2.a
10552: }
10553: } {3 6 7 9 10 12 13 14 15 17 18 19 20 22 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
10554: do_test boundary3-2.56.gt.2 {
10555: db eval {
10556: SELECT t2.a FROM t2 NATURAL JOIN t1
10557: WHERE t1.rowid > 32767 ORDER BY t1.a DESC
10558: }
10559: } {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
10560: do_test boundary3-2.56.gt.3 {
10561: db eval {
10562: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10563: WHERE t2.a=23
10564: ORDER BY t1.rowid
10565: }
10566: } {50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10567: do_test boundary3-2.56.gt.4 {
10568: db eval {
10569: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10570: WHERE t2.a=23
10571: ORDER BY t1.rowid DESC
10572: }
10573: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50}
10574: do_test boundary3-2.56.gt.5 {
10575: db eval {
10576: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10577: WHERE t2.a=23
10578: ORDER BY x
10579: }
10580: } {50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10581: do_test boundary3-2.56.gt.10 {
10582: db eval {
10583: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
10584: WHERE t2.a=23
10585: ORDER BY t1.rowid
10586: }
10587: } {50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10588: do_test boundary3-2.56.gt.11 {
10589: db eval {
10590: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
10591: WHERE t2.a=23
10592: ORDER BY t1.rowid DESC
10593: }
10594: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50}
10595: do_test boundary3-2.56.ge.1 {
10596: db eval {
10597: SELECT t2.a FROM t1 JOIN t2 USING(a)
10598: WHERE t1.rowid >= 32767 ORDER BY t2.a
10599: }
10600: } {3 6 7 9 10 12 13 14 15 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}
10601: do_test boundary3-2.56.ge.2 {
10602: db eval {
10603: SELECT t2.a FROM t2 NATURAL JOIN t1
10604: WHERE t1.rowid >= 32767 ORDER BY t1.a DESC
10605: }
10606: } {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 15 14 13 12 10 9 7 6 3}
10607: do_test boundary3-2.56.ge.3 {
10608: db eval {
10609: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10610: WHERE t2.a=23
10611: ORDER BY t1.rowid
10612: }
10613: } {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10614: do_test boundary3-2.56.ge.4 {
10615: db eval {
10616: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10617: WHERE t2.a=23
10618: ORDER BY t1.rowid DESC
10619: }
10620: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23}
10621: do_test boundary3-2.56.ge.5 {
10622: db eval {
10623: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10624: WHERE t2.a=23
10625: ORDER BY x
10626: }
10627: } {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10628: do_test boundary3-2.56.ge.10 {
10629: db eval {
10630: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
10631: WHERE t2.a=23
10632: ORDER BY t1.rowid
10633: }
10634: } {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10635: do_test boundary3-2.56.ge.11 {
10636: db eval {
10637: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
10638: WHERE t2.a=23
10639: ORDER BY t1.rowid DESC
10640: }
10641: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23}
10642: do_test boundary3-2.56.lt.1 {
10643: db eval {
10644: SELECT t2.a FROM t1 JOIN t2 USING(a)
10645: WHERE t1.rowid < 32767 ORDER BY t2.a
10646: }
10647: } {1 2 4 5 8 11 16 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
10648: do_test boundary3-2.56.lt.2 {
10649: db eval {
10650: SELECT t2.a FROM t2 NATURAL JOIN t1
10651: WHERE t1.rowid < 32767 ORDER BY t1.a DESC
10652: }
10653: } {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 16 11 8 5 4 2 1}
10654: do_test boundary3-2.56.lt.3 {
10655: db eval {
10656: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10657: WHERE t2.a=23
10658: ORDER BY t1.rowid
10659: }
10660: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16}
10661: do_test boundary3-2.56.lt.4 {
10662: db eval {
10663: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10664: WHERE t2.a=23
10665: ORDER BY t1.rowid DESC
10666: }
10667: } {16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10668: do_test boundary3-2.56.lt.5 {
10669: db eval {
10670: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10671: WHERE t2.a=23
10672: ORDER BY x
10673: }
10674: } {59 60 41 5 31 4 49 30 61 8 16 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10675: do_test boundary3-2.56.lt.10 {
10676: db eval {
10677: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
10678: WHERE t2.a=23
10679: ORDER BY t1.rowid
10680: }
10681: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16}
10682: do_test boundary3-2.56.lt.11 {
10683: db eval {
10684: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
10685: WHERE t2.a=23
10686: ORDER BY t1.rowid DESC
10687: }
10688: } {16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10689: do_test boundary3-2.56.le.1 {
10690: db eval {
10691: SELECT t2.a FROM t1 JOIN t2 USING(a)
10692: WHERE t1.rowid <= 32767 ORDER BY t2.a
10693: }
10694: } {1 2 4 5 8 11 16 21 23 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}
10695: do_test boundary3-2.56.le.2 {
10696: db eval {
10697: SELECT t2.a FROM t2 NATURAL JOIN t1
10698: WHERE t1.rowid <= 32767 ORDER BY t1.a DESC
10699: }
10700: } {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 23 21 16 11 8 5 4 2 1}
10701: do_test boundary3-2.56.le.3 {
10702: db eval {
10703: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10704: WHERE t2.a=23
10705: ORDER BY t1.rowid
10706: }
10707: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23}
10708: do_test boundary3-2.56.le.4 {
10709: db eval {
10710: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10711: WHERE t2.a=23
10712: ORDER BY t1.rowid DESC
10713: }
10714: } {23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10715: do_test boundary3-2.56.le.5 {
10716: db eval {
10717: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10718: WHERE t2.a=23
10719: ORDER BY x
10720: }
10721: } {59 60 41 5 31 4 49 30 61 8 16 23 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10722: do_test boundary3-2.56.le.10 {
10723: db eval {
10724: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
10725: WHERE t2.a=23
10726: ORDER BY t1.rowid
10727: }
10728: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23}
10729: do_test boundary3-2.56.le.11 {
10730: db eval {
10731: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
10732: WHERE t2.a=23
10733: ORDER BY t1.rowid DESC
10734: }
10735: } {23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10736: do_test boundary3-2.57.1 {
10737: db eval {
10738: SELECT t1.* FROM t1, t2 WHERE t1.rowid=127 AND t2.a=t1.a
10739: }
10740: } {4 000000000000007f}
10741: do_test boundary3-2.57.2 {
10742: db eval {
10743: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='000000000000007f'
10744: }
10745: } {127 4}
10746: do_test boundary3-2.57.3 {
10747: db eval {
10748: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=4
10749: }
10750: } {127 000000000000007f}
10751: do_test boundary3-2.57.gt.1 {
10752: db eval {
10753: SELECT t2.a FROM t1 JOIN t2 USING(a)
10754: WHERE t1.rowid > 127 ORDER BY t2.a
10755: }
10756: } {3 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
10757: do_test boundary3-2.57.gt.2 {
10758: db eval {
10759: SELECT t2.a FROM t2 NATURAL JOIN t1
10760: WHERE t1.rowid > 127 ORDER BY t1.a DESC
10761: }
10762: } {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 3}
10763: do_test boundary3-2.57.gt.3 {
10764: db eval {
10765: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10766: WHERE t2.a=4
10767: ORDER BY t1.rowid
10768: }
10769: } {49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10770: do_test boundary3-2.57.gt.4 {
10771: db eval {
10772: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10773: WHERE t2.a=4
10774: ORDER BY t1.rowid DESC
10775: }
10776: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49}
10777: do_test boundary3-2.57.gt.5 {
10778: db eval {
10779: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10780: WHERE t2.a=4
10781: ORDER BY x
10782: }
10783: } {49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10784: do_test boundary3-2.57.gt.10 {
10785: db eval {
10786: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
10787: WHERE t2.a=4
10788: ORDER BY t1.rowid
10789: }
10790: } {49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10791: do_test boundary3-2.57.gt.11 {
10792: db eval {
10793: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
10794: WHERE t2.a=4
10795: ORDER BY t1.rowid DESC
10796: }
10797: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49}
10798: do_test boundary3-2.57.ge.1 {
10799: db eval {
10800: SELECT t2.a FROM t1 JOIN t2 USING(a)
10801: WHERE t1.rowid >= 127 ORDER BY t2.a
10802: }
10803: } {3 4 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
10804: do_test boundary3-2.57.ge.2 {
10805: db eval {
10806: SELECT t2.a FROM t2 NATURAL JOIN t1
10807: WHERE t1.rowid >= 127 ORDER BY t1.a DESC
10808: }
10809: } {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 4 3}
10810: do_test boundary3-2.57.ge.3 {
10811: db eval {
10812: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10813: WHERE t2.a=4
10814: ORDER BY t1.rowid
10815: }
10816: } {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10817: do_test boundary3-2.57.ge.4 {
10818: db eval {
10819: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10820: WHERE t2.a=4
10821: ORDER BY t1.rowid DESC
10822: }
10823: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4}
10824: do_test boundary3-2.57.ge.5 {
10825: db eval {
10826: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
10827: WHERE t2.a=4
10828: ORDER BY x
10829: }
10830: } {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10831: do_test boundary3-2.57.ge.10 {
10832: db eval {
10833: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
10834: WHERE t2.a=4
10835: ORDER BY t1.rowid
10836: }
10837: } {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
10838: do_test boundary3-2.57.ge.11 {
10839: db eval {
10840: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
10841: WHERE t2.a=4
10842: ORDER BY t1.rowid DESC
10843: }
10844: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4}
10845: do_test boundary3-2.57.lt.1 {
10846: db eval {
10847: SELECT t2.a FROM t1 JOIN t2 USING(a)
10848: WHERE t1.rowid < 127 ORDER BY t2.a
10849: }
10850: } {1 2 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
10851: do_test boundary3-2.57.lt.2 {
10852: db eval {
10853: SELECT t2.a FROM t2 NATURAL JOIN t1
10854: WHERE t1.rowid < 127 ORDER BY t1.a DESC
10855: }
10856: } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 2 1}
10857: do_test boundary3-2.57.lt.3 {
10858: db eval {
10859: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10860: WHERE t2.a=4
10861: ORDER BY t1.rowid
10862: }
10863: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31}
10864: do_test boundary3-2.57.lt.4 {
10865: db eval {
10866: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10867: WHERE t2.a=4
10868: ORDER BY t1.rowid DESC
10869: }
10870: } {31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10871: do_test boundary3-2.57.lt.5 {
10872: db eval {
10873: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
10874: WHERE t2.a=4
10875: ORDER BY x
10876: }
10877: } {59 60 41 5 31 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10878: do_test boundary3-2.57.lt.10 {
10879: db eval {
10880: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
10881: WHERE t2.a=4
10882: ORDER BY t1.rowid
10883: }
10884: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31}
10885: do_test boundary3-2.57.lt.11 {
10886: db eval {
10887: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
10888: WHERE t2.a=4
10889: ORDER BY t1.rowid DESC
10890: }
10891: } {31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10892: do_test boundary3-2.57.le.1 {
10893: db eval {
10894: SELECT t2.a FROM t1 JOIN t2 USING(a)
10895: WHERE t1.rowid <= 127 ORDER BY t2.a
10896: }
10897: } {1 2 4 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
10898: do_test boundary3-2.57.le.2 {
10899: db eval {
10900: SELECT t2.a FROM t2 NATURAL JOIN t1
10901: WHERE t1.rowid <= 127 ORDER BY t1.a DESC
10902: }
10903: } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 4 2 1}
10904: do_test boundary3-2.57.le.3 {
10905: db eval {
10906: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10907: WHERE t2.a=4
10908: ORDER BY t1.rowid
10909: }
10910: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4}
10911: do_test boundary3-2.57.le.4 {
10912: db eval {
10913: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10914: WHERE t2.a=4
10915: ORDER BY t1.rowid DESC
10916: }
10917: } {4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10918: do_test boundary3-2.57.le.5 {
10919: db eval {
10920: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
10921: WHERE t2.a=4
10922: ORDER BY x
10923: }
10924: } {59 60 41 5 31 4 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
10925: do_test boundary3-2.57.le.10 {
10926: db eval {
10927: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
10928: WHERE t2.a=4
10929: ORDER BY t1.rowid
10930: }
10931: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4}
10932: do_test boundary3-2.57.le.11 {
10933: db eval {
10934: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
10935: WHERE t2.a=4
10936: ORDER BY t1.rowid DESC
10937: }
10938: } {4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
10939: do_test boundary3-2.58.1 {
10940: db eval {
10941: SELECT t1.* FROM t1, t2 WHERE t1.rowid=36028797018963967 AND t2.a=t1.a
10942: }
10943: } {27 007fffffffffffff}
10944: do_test boundary3-2.58.2 {
10945: db eval {
10946: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='007fffffffffffff'
10947: }
10948: } {36028797018963967 27}
10949: do_test boundary3-2.58.3 {
10950: db eval {
10951: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=27
10952: }
10953: } {36028797018963967 007fffffffffffff}
10954: do_test boundary3-2.58.gt.1 {
10955: db eval {
10956: SELECT t2.a FROM t1 JOIN t2 USING(a)
10957: WHERE t1.rowid > 36028797018963967 ORDER BY t2.a
10958: }
10959: } {3 17 28 45}
10960: do_test boundary3-2.58.gt.2 {
10961: db eval {
10962: SELECT t2.a FROM t2 NATURAL JOIN t1
10963: WHERE t1.rowid > 36028797018963967 ORDER BY t1.a DESC
10964: }
10965: } {45 28 17 3}
10966: do_test boundary3-2.58.gt.3 {
10967: db eval {
10968: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10969: WHERE t2.a=27
10970: ORDER BY t1.rowid
10971: }
10972: } {45 17 28 3}
10973: do_test boundary3-2.58.gt.4 {
10974: db eval {
10975: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10976: WHERE t2.a=27
10977: ORDER BY t1.rowid DESC
10978: }
10979: } {3 28 17 45}
10980: do_test boundary3-2.58.gt.5 {
10981: db eval {
10982: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
10983: WHERE t2.a=27
10984: ORDER BY x
10985: }
10986: } {45 17 28 3}
10987: do_test boundary3-2.58.ge.1 {
10988: db eval {
10989: SELECT t2.a FROM t1 JOIN t2 USING(a)
10990: WHERE t1.rowid >= 36028797018963967 ORDER BY t2.a
10991: }
10992: } {3 17 27 28 45}
10993: do_test boundary3-2.58.ge.2 {
10994: db eval {
10995: SELECT t2.a FROM t2 NATURAL JOIN t1
10996: WHERE t1.rowid >= 36028797018963967 ORDER BY t1.a DESC
10997: }
10998: } {45 28 27 17 3}
10999: do_test boundary3-2.58.ge.3 {
11000: db eval {
11001: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11002: WHERE t2.a=27
11003: ORDER BY t1.rowid
11004: }
11005: } {27 45 17 28 3}
11006: do_test boundary3-2.58.ge.4 {
11007: db eval {
11008: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11009: WHERE t2.a=27
11010: ORDER BY t1.rowid DESC
11011: }
11012: } {3 28 17 45 27}
11013: do_test boundary3-2.58.ge.5 {
11014: db eval {
11015: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11016: WHERE t2.a=27
11017: ORDER BY x
11018: }
11019: } {27 45 17 28 3}
11020: do_test boundary3-2.58.lt.1 {
11021: db eval {
11022: SELECT t2.a FROM t1 JOIN t2 USING(a)
11023: WHERE t1.rowid < 36028797018963967 ORDER BY t2.a
11024: }
11025: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
11026: do_test boundary3-2.58.lt.2 {
11027: db eval {
11028: SELECT t2.a FROM t2 NATURAL JOIN t1
11029: WHERE t1.rowid < 36028797018963967 ORDER BY t1.a DESC
11030: }
11031: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
11032: do_test boundary3-2.58.lt.3 {
11033: db eval {
11034: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11035: WHERE t2.a=27
11036: ORDER BY t1.rowid
11037: }
11038: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43}
11039: do_test boundary3-2.58.lt.4 {
11040: db eval {
11041: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11042: WHERE t2.a=27
11043: ORDER BY t1.rowid DESC
11044: }
11045: } {43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11046: do_test boundary3-2.58.lt.5 {
11047: db eval {
11048: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11049: WHERE t2.a=27
11050: ORDER BY x
11051: }
11052: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
11053: do_test boundary3-2.58.le.1 {
11054: db eval {
11055: SELECT t2.a FROM t1 JOIN t2 USING(a)
11056: WHERE t1.rowid <= 36028797018963967 ORDER BY t2.a
11057: }
11058: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
11059: do_test boundary3-2.58.le.2 {
11060: db eval {
11061: SELECT t2.a FROM t2 NATURAL JOIN t1
11062: WHERE t1.rowid <= 36028797018963967 ORDER BY t1.a DESC
11063: }
11064: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
11065: do_test boundary3-2.58.le.3 {
11066: db eval {
11067: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11068: WHERE t2.a=27
11069: ORDER BY t1.rowid
11070: }
11071: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27}
11072: do_test boundary3-2.58.le.4 {
11073: db eval {
11074: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11075: WHERE t2.a=27
11076: ORDER BY t1.rowid DESC
11077: }
11078: } {27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11079: do_test boundary3-2.58.le.5 {
11080: db eval {
11081: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11082: WHERE t2.a=27
11083: ORDER BY x
11084: }
11085: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
11086: do_test boundary3-2.59.1 {
11087: db eval {
11088: SELECT t1.* FROM t1, t2 WHERE t1.rowid=4398046511104 AND t2.a=t1.a
11089: }
11090: } {56 0000040000000000}
11091: do_test boundary3-2.59.2 {
11092: db eval {
11093: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000040000000000'
11094: }
11095: } {4398046511104 56}
11096: do_test boundary3-2.59.3 {
11097: db eval {
11098: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=56
11099: }
11100: } {4398046511104 0000040000000000}
11101: do_test boundary3-2.59.gt.1 {
11102: db eval {
11103: SELECT t2.a FROM t1 JOIN t2 USING(a)
11104: WHERE t1.rowid > 4398046511104 ORDER BY t2.a
11105: }
11106: } {3 10 13 17 25 26 27 28 34 43 45}
11107: do_test boundary3-2.59.gt.2 {
11108: db eval {
11109: SELECT t2.a FROM t2 NATURAL JOIN t1
11110: WHERE t1.rowid > 4398046511104 ORDER BY t1.a DESC
11111: }
11112: } {45 43 34 28 27 26 25 17 13 10 3}
11113: do_test boundary3-2.59.gt.3 {
11114: db eval {
11115: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11116: WHERE t2.a=56
11117: ORDER BY t1.rowid
11118: }
11119: } {25 34 10 26 13 43 27 45 17 28 3}
11120: do_test boundary3-2.59.gt.4 {
11121: db eval {
11122: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11123: WHERE t2.a=56
11124: ORDER BY t1.rowid DESC
11125: }
11126: } {3 28 17 45 27 43 13 26 10 34 25}
11127: do_test boundary3-2.59.gt.5 {
11128: db eval {
11129: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11130: WHERE t2.a=56
11131: ORDER BY x
11132: }
11133: } {25 34 10 26 13 43 27 45 17 28 3}
11134: do_test boundary3-2.59.gt.10 {
11135: db eval {
11136: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
11137: WHERE t2.a=56
11138: ORDER BY t1.rowid
11139: }
11140: } {25 34 10 26 13 43 27 45 17 28 3}
11141: do_test boundary3-2.59.gt.11 {
11142: db eval {
11143: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
11144: WHERE t2.a=56
11145: ORDER BY t1.rowid DESC
11146: }
11147: } {3 28 17 45 27 43 13 26 10 34 25}
11148: do_test boundary3-2.59.ge.1 {
11149: db eval {
11150: SELECT t2.a FROM t1 JOIN t2 USING(a)
11151: WHERE t1.rowid >= 4398046511104 ORDER BY t2.a
11152: }
11153: } {3 10 13 17 25 26 27 28 34 43 45 56}
11154: do_test boundary3-2.59.ge.2 {
11155: db eval {
11156: SELECT t2.a FROM t2 NATURAL JOIN t1
11157: WHERE t1.rowid >= 4398046511104 ORDER BY t1.a DESC
11158: }
11159: } {56 45 43 34 28 27 26 25 17 13 10 3}
11160: do_test boundary3-2.59.ge.3 {
11161: db eval {
11162: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11163: WHERE t2.a=56
11164: ORDER BY t1.rowid
11165: }
11166: } {56 25 34 10 26 13 43 27 45 17 28 3}
11167: do_test boundary3-2.59.ge.4 {
11168: db eval {
11169: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11170: WHERE t2.a=56
11171: ORDER BY t1.rowid DESC
11172: }
11173: } {3 28 17 45 27 43 13 26 10 34 25 56}
11174: do_test boundary3-2.59.ge.5 {
11175: db eval {
11176: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11177: WHERE t2.a=56
11178: ORDER BY x
11179: }
11180: } {56 25 34 10 26 13 43 27 45 17 28 3}
11181: do_test boundary3-2.59.ge.10 {
11182: db eval {
11183: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
11184: WHERE t2.a=56
11185: ORDER BY t1.rowid
11186: }
11187: } {56 25 34 10 26 13 43 27 45 17 28 3}
11188: do_test boundary3-2.59.ge.11 {
11189: db eval {
11190: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
11191: WHERE t2.a=56
11192: ORDER BY t1.rowid DESC
11193: }
11194: } {3 28 17 45 27 43 13 26 10 34 25 56}
11195: do_test boundary3-2.59.lt.1 {
11196: db eval {
11197: SELECT t2.a FROM t1 JOIN t2 USING(a)
11198: WHERE t1.rowid < 4398046511104 ORDER BY t2.a
11199: }
11200: } {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64}
11201: do_test boundary3-2.59.lt.2 {
11202: db eval {
11203: SELECT t2.a FROM t2 NATURAL JOIN t1
11204: WHERE t1.rowid < 4398046511104 ORDER BY t1.a DESC
11205: }
11206: } {64 63 62 61 60 59 58 57 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
11207: do_test boundary3-2.59.lt.3 {
11208: db eval {
11209: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11210: WHERE t2.a=56
11211: ORDER BY t1.rowid
11212: }
11213: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7}
11214: do_test boundary3-2.59.lt.4 {
11215: db eval {
11216: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11217: WHERE t2.a=56
11218: ORDER BY t1.rowid DESC
11219: }
11220: } {7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11221: do_test boundary3-2.59.lt.5 {
11222: db eval {
11223: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11224: WHERE t2.a=56
11225: ORDER BY x
11226: }
11227: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
11228: do_test boundary3-2.59.lt.10 {
11229: db eval {
11230: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
11231: WHERE t2.a=56
11232: ORDER BY t1.rowid
11233: }
11234: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7}
11235: do_test boundary3-2.59.lt.11 {
11236: db eval {
11237: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
11238: WHERE t2.a=56
11239: ORDER BY t1.rowid DESC
11240: }
11241: } {7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11242: do_test boundary3-2.59.le.1 {
11243: db eval {
11244: SELECT t2.a FROM t1 JOIN t2 USING(a)
11245: WHERE t1.rowid <= 4398046511104 ORDER BY t2.a
11246: }
11247: } {1 2 4 5 6 7 8 9 11 12 14 15 16 18 19 20 21 22 23 24 29 30 31 32 33 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
11248: do_test boundary3-2.59.le.2 {
11249: db eval {
11250: SELECT t2.a FROM t2 NATURAL JOIN t1
11251: WHERE t1.rowid <= 4398046511104 ORDER BY t1.a DESC
11252: }
11253: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 42 41 40 39 38 37 36 35 33 32 31 30 29 24 23 22 21 20 19 18 16 15 14 12 11 9 8 7 6 5 4 2 1}
11254: do_test boundary3-2.59.le.3 {
11255: db eval {
11256: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11257: WHERE t2.a=56
11258: ORDER BY t1.rowid
11259: }
11260: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56}
11261: do_test boundary3-2.59.le.4 {
11262: db eval {
11263: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11264: WHERE t2.a=56
11265: ORDER BY t1.rowid DESC
11266: }
11267: } {56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11268: do_test boundary3-2.59.le.5 {
11269: db eval {
11270: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11271: WHERE t2.a=56
11272: ORDER BY x
11273: }
11274: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
11275: do_test boundary3-2.59.le.10 {
11276: db eval {
11277: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
11278: WHERE t2.a=56
11279: ORDER BY t1.rowid
11280: }
11281: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56}
11282: do_test boundary3-2.59.le.11 {
11283: db eval {
11284: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
11285: WHERE t2.a=56
11286: ORDER BY t1.rowid DESC
11287: }
11288: } {56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11289: do_test boundary3-2.60.1 {
11290: db eval {
11291: SELECT t1.* FROM t1, t2 WHERE t1.rowid=1 AND t2.a=t1.a
11292: }
11293: } {60 0000000000000001}
11294: do_test boundary3-2.60.2 {
11295: db eval {
11296: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000001'
11297: }
11298: } {1 60}
11299: do_test boundary3-2.60.3 {
11300: db eval {
11301: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=60
11302: }
11303: } {1 0000000000000001}
11304: do_test boundary3-2.60.gt.1 {
11305: db eval {
11306: SELECT t2.a FROM t1 JOIN t2 USING(a)
11307: WHERE t1.rowid > 1 ORDER BY t2.a
11308: }
11309: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 61 62}
11310: do_test boundary3-2.60.gt.2 {
11311: db eval {
11312: SELECT t2.a FROM t2 NATURAL JOIN t1
11313: WHERE t1.rowid > 1 ORDER BY t1.a DESC
11314: }
11315: } {62 61 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
11316: do_test boundary3-2.60.gt.3 {
11317: db eval {
11318: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11319: WHERE t2.a=60
11320: ORDER BY t1.rowid
11321: }
11322: } {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11323: do_test boundary3-2.60.gt.4 {
11324: db eval {
11325: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11326: WHERE t2.a=60
11327: ORDER BY t1.rowid DESC
11328: }
11329: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41}
11330: do_test boundary3-2.60.gt.5 {
11331: db eval {
11332: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11333: WHERE t2.a=60
11334: ORDER BY x
11335: }
11336: } {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11337: do_test boundary3-2.60.gt.10 {
11338: db eval {
11339: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
11340: WHERE t2.a=60
11341: ORDER BY t1.rowid
11342: }
11343: } {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11344: do_test boundary3-2.60.gt.11 {
11345: db eval {
11346: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
11347: WHERE t2.a=60
11348: ORDER BY t1.rowid DESC
11349: }
11350: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41}
11351: do_test boundary3-2.60.ge.1 {
11352: db eval {
11353: SELECT t2.a FROM t1 JOIN t2 USING(a)
11354: WHERE t1.rowid >= 1 ORDER BY t2.a
11355: }
11356: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 41 42 43 45 46 48 49 50 51 56 57 60 61 62}
11357: do_test boundary3-2.60.ge.2 {
11358: db eval {
11359: SELECT t2.a FROM t2 NATURAL JOIN t1
11360: WHERE t1.rowid >= 1 ORDER BY t1.a DESC
11361: }
11362: } {62 61 60 57 56 51 50 49 48 46 45 43 42 41 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
11363: do_test boundary3-2.60.ge.3 {
11364: db eval {
11365: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11366: WHERE t2.a=60
11367: ORDER BY t1.rowid
11368: }
11369: } {60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11370: do_test boundary3-2.60.ge.4 {
11371: db eval {
11372: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11373: WHERE t2.a=60
11374: ORDER BY t1.rowid DESC
11375: }
11376: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60}
11377: do_test boundary3-2.60.ge.5 {
11378: db eval {
11379: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11380: WHERE t2.a=60
11381: ORDER BY x
11382: }
11383: } {60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11384: do_test boundary3-2.60.ge.10 {
11385: db eval {
11386: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
11387: WHERE t2.a=60
11388: ORDER BY t1.rowid
11389: }
11390: } {60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11391: do_test boundary3-2.60.ge.11 {
11392: db eval {
11393: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
11394: WHERE t2.a=60
11395: ORDER BY t1.rowid DESC
11396: }
11397: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60}
11398: do_test boundary3-2.60.lt.1 {
11399: db eval {
11400: SELECT t2.a FROM t1 JOIN t2 USING(a)
11401: WHERE t1.rowid < 1 ORDER BY t2.a
11402: }
11403: } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 63 64}
11404: do_test boundary3-2.60.lt.2 {
11405: db eval {
11406: SELECT t2.a FROM t2 NATURAL JOIN t1
11407: WHERE t1.rowid < 1 ORDER BY t1.a DESC
11408: }
11409: } {64 63 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
11410: do_test boundary3-2.60.lt.3 {
11411: db eval {
11412: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11413: WHERE t2.a=60
11414: ORDER BY t1.rowid
11415: }
11416: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59}
11417: do_test boundary3-2.60.lt.4 {
11418: db eval {
11419: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11420: WHERE t2.a=60
11421: ORDER BY t1.rowid DESC
11422: }
11423: } {59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11424: do_test boundary3-2.60.lt.5 {
11425: db eval {
11426: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11427: WHERE t2.a=60
11428: ORDER BY x
11429: }
11430: } {59 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
11431: do_test boundary3-2.60.lt.10 {
11432: db eval {
11433: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
11434: WHERE t2.a=60
11435: ORDER BY t1.rowid
11436: }
11437: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59}
11438: do_test boundary3-2.60.lt.11 {
11439: db eval {
11440: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
11441: WHERE t2.a=60
11442: ORDER BY t1.rowid DESC
11443: }
11444: } {59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11445: do_test boundary3-2.60.le.1 {
11446: db eval {
11447: SELECT t2.a FROM t1 JOIN t2 USING(a)
11448: WHERE t1.rowid <= 1 ORDER BY t2.a
11449: }
11450: } {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 60 63 64}
11451: do_test boundary3-2.60.le.2 {
11452: db eval {
11453: SELECT t2.a FROM t2 NATURAL JOIN t1
11454: WHERE t1.rowid <= 1 ORDER BY t1.a DESC
11455: }
11456: } {64 63 60 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}
11457: do_test boundary3-2.60.le.3 {
11458: db eval {
11459: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11460: WHERE t2.a=60
11461: ORDER BY t1.rowid
11462: }
11463: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60}
11464: do_test boundary3-2.60.le.4 {
11465: db eval {
11466: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11467: WHERE t2.a=60
11468: ORDER BY t1.rowid DESC
11469: }
11470: } {60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11471: do_test boundary3-2.60.le.5 {
11472: db eval {
11473: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11474: WHERE t2.a=60
11475: ORDER BY x
11476: }
11477: } {59 60 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
11478: do_test boundary3-2.60.le.10 {
11479: db eval {
11480: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
11481: WHERE t2.a=60
11482: ORDER BY t1.rowid
11483: }
11484: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60}
11485: do_test boundary3-2.60.le.11 {
11486: db eval {
11487: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
11488: WHERE t2.a=60
11489: ORDER BY t1.rowid DESC
11490: }
11491: } {60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11492: do_test boundary3-2.61.1 {
11493: db eval {
11494: SELECT t1.* FROM t1, t2 WHERE t1.rowid=36028797018963968 AND t2.a=t1.a
11495: }
11496: } {45 0080000000000000}
11497: do_test boundary3-2.61.2 {
11498: db eval {
11499: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0080000000000000'
11500: }
11501: } {36028797018963968 45}
11502: do_test boundary3-2.61.3 {
11503: db eval {
11504: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=45
11505: }
11506: } {36028797018963968 0080000000000000}
11507: do_test boundary3-2.61.gt.1 {
11508: db eval {
11509: SELECT t2.a FROM t1 JOIN t2 USING(a)
11510: WHERE t1.rowid > 36028797018963968 ORDER BY t2.a
11511: }
11512: } {3 17 28}
11513: do_test boundary3-2.61.gt.2 {
11514: db eval {
11515: SELECT t2.a FROM t2 NATURAL JOIN t1
11516: WHERE t1.rowid > 36028797018963968 ORDER BY t1.a DESC
11517: }
11518: } {28 17 3}
11519: do_test boundary3-2.61.gt.3 {
11520: db eval {
11521: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11522: WHERE t2.a=45
11523: ORDER BY t1.rowid
11524: }
11525: } {17 28 3}
11526: do_test boundary3-2.61.gt.4 {
11527: db eval {
11528: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11529: WHERE t2.a=45
11530: ORDER BY t1.rowid DESC
11531: }
11532: } {3 28 17}
11533: do_test boundary3-2.61.gt.5 {
11534: db eval {
11535: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11536: WHERE t2.a=45
11537: ORDER BY x
11538: }
11539: } {17 28 3}
11540: do_test boundary3-2.61.ge.1 {
11541: db eval {
11542: SELECT t2.a FROM t1 JOIN t2 USING(a)
11543: WHERE t1.rowid >= 36028797018963968 ORDER BY t2.a
11544: }
11545: } {3 17 28 45}
11546: do_test boundary3-2.61.ge.2 {
11547: db eval {
11548: SELECT t2.a FROM t2 NATURAL JOIN t1
11549: WHERE t1.rowid >= 36028797018963968 ORDER BY t1.a DESC
11550: }
11551: } {45 28 17 3}
11552: do_test boundary3-2.61.ge.3 {
11553: db eval {
11554: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11555: WHERE t2.a=45
11556: ORDER BY t1.rowid
11557: }
11558: } {45 17 28 3}
11559: do_test boundary3-2.61.ge.4 {
11560: db eval {
11561: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11562: WHERE t2.a=45
11563: ORDER BY t1.rowid DESC
11564: }
11565: } {3 28 17 45}
11566: do_test boundary3-2.61.ge.5 {
11567: db eval {
11568: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11569: WHERE t2.a=45
11570: ORDER BY x
11571: }
11572: } {45 17 28 3}
11573: do_test boundary3-2.61.lt.1 {
11574: db eval {
11575: SELECT t2.a FROM t1 JOIN t2 USING(a)
11576: WHERE t1.rowid < 36028797018963968 ORDER BY t2.a
11577: }
11578: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
11579: do_test boundary3-2.61.lt.2 {
11580: db eval {
11581: SELECT t2.a FROM t2 NATURAL JOIN t1
11582: WHERE t1.rowid < 36028797018963968 ORDER BY t1.a DESC
11583: }
11584: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
11585: do_test boundary3-2.61.lt.3 {
11586: db eval {
11587: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11588: WHERE t2.a=45
11589: ORDER BY t1.rowid
11590: }
11591: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27}
11592: do_test boundary3-2.61.lt.4 {
11593: db eval {
11594: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11595: WHERE t2.a=45
11596: ORDER BY t1.rowid DESC
11597: }
11598: } {27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11599: do_test boundary3-2.61.lt.5 {
11600: db eval {
11601: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11602: WHERE t2.a=45
11603: ORDER BY x
11604: }
11605: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
11606: do_test boundary3-2.61.le.1 {
11607: db eval {
11608: SELECT t2.a FROM t1 JOIN t2 USING(a)
11609: WHERE t1.rowid <= 36028797018963968 ORDER BY t2.a
11610: }
11611: } {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
11612: do_test boundary3-2.61.le.2 {
11613: db eval {
11614: SELECT t2.a FROM t2 NATURAL JOIN t1
11615: WHERE t1.rowid <= 36028797018963968 ORDER BY t1.a DESC
11616: }
11617: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}
11618: do_test boundary3-2.61.le.3 {
11619: db eval {
11620: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11621: WHERE t2.a=45
11622: ORDER BY t1.rowid
11623: }
11624: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45}
11625: do_test boundary3-2.61.le.4 {
11626: db eval {
11627: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11628: WHERE t2.a=45
11629: ORDER BY t1.rowid DESC
11630: }
11631: } {45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
11632: do_test boundary3-2.61.le.5 {
11633: db eval {
11634: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11635: WHERE t2.a=45
11636: ORDER BY x
11637: }
11638: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
11639: do_test boundary3-2.62.1 {
11640: db eval {
11641: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-2147483649 AND t2.a=t1.a
11642: }
11643: } {47 ffffffff7fffffff}
11644: do_test boundary3-2.62.2 {
11645: db eval {
11646: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffff7fffffff'
11647: }
11648: } {-2147483649 47}
11649: do_test boundary3-2.62.3 {
11650: db eval {
11651: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=47
11652: }
11653: } {-2147483649 ffffffff7fffffff}
11654: do_test boundary3-2.62.gt.1 {
11655: db eval {
11656: SELECT t2.a FROM t1 JOIN t2 USING(a)
11657: WHERE t1.rowid > -2147483649 ORDER BY t2.a
11658: }
11659: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}
11660: do_test boundary3-2.62.gt.2 {
11661: db eval {
11662: SELECT t2.a FROM t2 NATURAL JOIN t1
11663: WHERE t1.rowid > -2147483649 ORDER BY t1.a DESC
11664: }
11665: } {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
11666: do_test boundary3-2.62.gt.3 {
11667: db eval {
11668: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11669: WHERE t2.a=47
11670: ORDER BY t1.rowid
11671: }
11672: } {11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11673: do_test boundary3-2.62.gt.4 {
11674: db eval {
11675: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11676: WHERE t2.a=47
11677: ORDER BY t1.rowid DESC
11678: }
11679: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11}
11680: do_test boundary3-2.62.gt.5 {
11681: db eval {
11682: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11683: WHERE t2.a=47
11684: ORDER BY x
11685: }
11686: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 11 1 37 29 32 54 53 52 33 38}
11687: do_test boundary3-2.62.gt.10 {
11688: db eval {
11689: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
11690: WHERE t2.a=47
11691: ORDER BY t1.rowid
11692: }
11693: } {11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11694: do_test boundary3-2.62.gt.11 {
11695: db eval {
11696: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
11697: WHERE t2.a=47
11698: ORDER BY t1.rowid DESC
11699: }
11700: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11}
11701: do_test boundary3-2.62.ge.1 {
11702: db eval {
11703: SELECT t2.a FROM t1 JOIN t2 USING(a)
11704: WHERE t1.rowid >= -2147483649 ORDER BY t2.a
11705: }
11706: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 56 57 59 60 61 62}
11707: do_test boundary3-2.62.ge.2 {
11708: db eval {
11709: SELECT t2.a FROM t2 NATURAL JOIN t1
11710: WHERE t1.rowid >= -2147483649 ORDER BY t1.a DESC
11711: }
11712: } {62 61 60 59 57 56 54 53 52 51 50 49 48 47 46 45 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
11713: do_test boundary3-2.62.ge.3 {
11714: db eval {
11715: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11716: WHERE t2.a=47
11717: ORDER BY t1.rowid
11718: }
11719: } {47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11720: do_test boundary3-2.62.ge.4 {
11721: db eval {
11722: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11723: WHERE t2.a=47
11724: ORDER BY t1.rowid DESC
11725: }
11726: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47}
11727: do_test boundary3-2.62.ge.5 {
11728: db eval {
11729: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11730: WHERE t2.a=47
11731: ORDER BY x
11732: }
11733: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 47 11 1 37 29 32 54 53 52 33 38}
11734: do_test boundary3-2.62.ge.10 {
11735: db eval {
11736: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
11737: WHERE t2.a=47
11738: ORDER BY t1.rowid
11739: }
11740: } {47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11741: do_test boundary3-2.62.ge.11 {
11742: db eval {
11743: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
11744: WHERE t2.a=47
11745: ORDER BY t1.rowid DESC
11746: }
11747: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47}
11748: do_test boundary3-2.62.lt.1 {
11749: db eval {
11750: SELECT t2.a FROM t1 JOIN t2 USING(a)
11751: WHERE t1.rowid < -2147483649 ORDER BY t2.a
11752: }
11753: } {2 21 44 55 58 63 64}
11754: do_test boundary3-2.62.lt.2 {
11755: db eval {
11756: SELECT t2.a FROM t2 NATURAL JOIN t1
11757: WHERE t1.rowid < -2147483649 ORDER BY t1.a DESC
11758: }
11759: } {64 63 58 55 44 21 2}
11760: do_test boundary3-2.62.lt.3 {
11761: db eval {
11762: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11763: WHERE t2.a=47
11764: ORDER BY t1.rowid
11765: }
11766: } {55 2 64 21 44 58 63}
11767: do_test boundary3-2.62.lt.4 {
11768: db eval {
11769: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11770: WHERE t2.a=47
11771: ORDER BY t1.rowid DESC
11772: }
11773: } {63 58 44 21 64 2 55}
11774: do_test boundary3-2.62.lt.5 {
11775: db eval {
11776: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11777: WHERE t2.a=47
11778: ORDER BY x
11779: }
11780: } {55 2 64 21 44 58 63}
11781: do_test boundary3-2.62.lt.10 {
11782: db eval {
11783: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
11784: WHERE t2.a=47
11785: ORDER BY t1.rowid
11786: }
11787: } {55 2 64 21 44 58 63}
11788: do_test boundary3-2.62.lt.11 {
11789: db eval {
11790: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
11791: WHERE t2.a=47
11792: ORDER BY t1.rowid DESC
11793: }
11794: } {63 58 44 21 64 2 55}
11795: do_test boundary3-2.62.le.1 {
11796: db eval {
11797: SELECT t2.a FROM t1 JOIN t2 USING(a)
11798: WHERE t1.rowid <= -2147483649 ORDER BY t2.a
11799: }
11800: } {2 21 44 47 55 58 63 64}
11801: do_test boundary3-2.62.le.2 {
11802: db eval {
11803: SELECT t2.a FROM t2 NATURAL JOIN t1
11804: WHERE t1.rowid <= -2147483649 ORDER BY t1.a DESC
11805: }
11806: } {64 63 58 55 47 44 21 2}
11807: do_test boundary3-2.62.le.3 {
11808: db eval {
11809: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11810: WHERE t2.a=47
11811: ORDER BY t1.rowid
11812: }
11813: } {55 2 64 21 44 58 63 47}
11814: do_test boundary3-2.62.le.4 {
11815: db eval {
11816: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11817: WHERE t2.a=47
11818: ORDER BY t1.rowid DESC
11819: }
11820: } {47 63 58 44 21 64 2 55}
11821: do_test boundary3-2.62.le.5 {
11822: db eval {
11823: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11824: WHERE t2.a=47
11825: ORDER BY x
11826: }
11827: } {55 2 64 21 44 58 63 47}
11828: do_test boundary3-2.62.le.10 {
11829: db eval {
11830: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
11831: WHERE t2.a=47
11832: ORDER BY t1.rowid
11833: }
11834: } {55 2 64 21 44 58 63 47}
11835: do_test boundary3-2.62.le.11 {
11836: db eval {
11837: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
11838: WHERE t2.a=47
11839: ORDER BY t1.rowid DESC
11840: }
11841: } {47 63 58 44 21 64 2 55}
11842: do_test boundary3-2.63.1 {
11843: db eval {
11844: SELECT t1.* FROM t1, t2 WHERE t1.rowid=-36028797018963969 AND t2.a=t1.a
11845: }
11846: } {2 ff7fffffffffffff}
11847: do_test boundary3-2.63.2 {
11848: db eval {
11849: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ff7fffffffffffff'
11850: }
11851: } {-36028797018963969 2}
11852: do_test boundary3-2.63.3 {
11853: db eval {
11854: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=2
11855: }
11856: } {-36028797018963969 ff7fffffffffffff}
11857: do_test boundary3-2.63.gt.1 {
11858: db eval {
11859: SELECT t2.a FROM t1 JOIN t2 USING(a)
11860: WHERE t1.rowid > -36028797018963969 ORDER BY t2.a
11861: }
11862: } {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64}
11863: do_test boundary3-2.63.gt.2 {
11864: db eval {
11865: SELECT t2.a FROM t2 NATURAL JOIN t1
11866: WHERE t1.rowid > -36028797018963969 ORDER BY t1.a DESC
11867: }
11868: } {64 63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}
11869: do_test boundary3-2.63.gt.3 {
11870: db eval {
11871: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11872: WHERE t2.a=2
11873: ORDER BY t1.rowid
11874: }
11875: } {64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11876: do_test boundary3-2.63.gt.4 {
11877: db eval {
11878: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11879: WHERE t2.a=2
11880: ORDER BY t1.rowid DESC
11881: }
11882: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64}
11883: do_test boundary3-2.63.gt.5 {
11884: db eval {
11885: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
11886: WHERE t2.a=2
11887: ORDER BY x
11888: }
11889: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
11890: do_test boundary3-2.63.ge.1 {
11891: db eval {
11892: SELECT t2.a FROM t1 JOIN t2 USING(a)
11893: WHERE t1.rowid >= -36028797018963969 ORDER BY t2.a
11894: }
11895: } {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64}
11896: do_test boundary3-2.63.ge.2 {
11897: db eval {
11898: SELECT t2.a FROM t2 NATURAL JOIN t1
11899: WHERE t1.rowid >= -36028797018963969 ORDER BY t1.a DESC
11900: }
11901: } {64 63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
11902: do_test boundary3-2.63.ge.3 {
11903: db eval {
11904: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11905: WHERE t2.a=2
11906: ORDER BY t1.rowid
11907: }
11908: } {2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
11909: do_test boundary3-2.63.ge.4 {
11910: db eval {
11911: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11912: WHERE t2.a=2
11913: ORDER BY t1.rowid DESC
11914: }
11915: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2}
11916: do_test boundary3-2.63.ge.5 {
11917: db eval {
11918: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
11919: WHERE t2.a=2
11920: ORDER BY x
11921: }
11922: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
11923: do_test boundary3-2.63.lt.1 {
11924: db eval {
11925: SELECT t2.a FROM t1 JOIN t2 USING(a)
11926: WHERE t1.rowid < -36028797018963969 ORDER BY t2.a
11927: }
11928: } {55}
11929: do_test boundary3-2.63.lt.2 {
11930: db eval {
11931: SELECT t2.a FROM t2 NATURAL JOIN t1
11932: WHERE t1.rowid < -36028797018963969 ORDER BY t1.a DESC
11933: }
11934: } {55}
11935: do_test boundary3-2.63.lt.3 {
11936: db eval {
11937: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11938: WHERE t2.a=2
11939: ORDER BY t1.rowid
11940: }
11941: } {55}
11942: do_test boundary3-2.63.lt.4 {
11943: db eval {
11944: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11945: WHERE t2.a=2
11946: ORDER BY t1.rowid DESC
11947: }
11948: } {55}
11949: do_test boundary3-2.63.lt.5 {
11950: db eval {
11951: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
11952: WHERE t2.a=2
11953: ORDER BY x
11954: }
11955: } {55}
11956: do_test boundary3-2.63.le.1 {
11957: db eval {
11958: SELECT t2.a FROM t1 JOIN t2 USING(a)
11959: WHERE t1.rowid <= -36028797018963969 ORDER BY t2.a
11960: }
11961: } {2 55}
11962: do_test boundary3-2.63.le.2 {
11963: db eval {
11964: SELECT t2.a FROM t2 NATURAL JOIN t1
11965: WHERE t1.rowid <= -36028797018963969 ORDER BY t1.a DESC
11966: }
11967: } {55 2}
11968: do_test boundary3-2.63.le.3 {
11969: db eval {
11970: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11971: WHERE t2.a=2
11972: ORDER BY t1.rowid
11973: }
11974: } {55 2}
11975: do_test boundary3-2.63.le.4 {
11976: db eval {
11977: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11978: WHERE t2.a=2
11979: ORDER BY t1.rowid DESC
11980: }
11981: } {2 55}
11982: do_test boundary3-2.63.le.5 {
11983: db eval {
11984: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
11985: WHERE t2.a=2
11986: ORDER BY x
11987: }
11988: } {55 2}
11989: do_test boundary3-2.64.1 {
11990: db eval {
11991: SELECT t1.* FROM t1, t2 WHERE t1.rowid=3 AND t2.a=t1.a
11992: }
11993: } {5 0000000000000003}
11994: do_test boundary3-2.64.2 {
11995: db eval {
11996: SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000000003'
11997: }
11998: } {3 5}
11999: do_test boundary3-2.64.3 {
12000: db eval {
12001: SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=5
12002: }
12003: } {3 0000000000000003}
12004: do_test boundary3-2.64.gt.1 {
12005: db eval {
12006: SELECT t2.a FROM t1 JOIN t2 USING(a)
12007: WHERE t1.rowid > 3 ORDER BY t2.a
12008: }
12009: } {3 4 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
12010: do_test boundary3-2.64.gt.2 {
12011: db eval {
12012: SELECT t2.a FROM t2 NATURAL JOIN t1
12013: WHERE t1.rowid > 3 ORDER BY t1.a DESC
12014: }
12015: } {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 4 3}
12016: do_test boundary3-2.64.gt.3 {
12017: db eval {
12018: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
12019: WHERE t2.a=5
12020: ORDER BY t1.rowid
12021: }
12022: } {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
12023: do_test boundary3-2.64.gt.4 {
12024: db eval {
12025: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
12026: WHERE t2.a=5
12027: ORDER BY t1.rowid DESC
12028: }
12029: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31}
12030: do_test boundary3-2.64.gt.5 {
12031: db eval {
12032: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
12033: WHERE t2.a=5
12034: ORDER BY x
12035: }
12036: } {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
12037: do_test boundary3-2.64.gt.10 {
12038: db eval {
12039: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
12040: WHERE t2.a=5
12041: ORDER BY t1.rowid
12042: }
12043: } {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
12044: do_test boundary3-2.64.gt.11 {
12045: db eval {
12046: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)
12047: WHERE t2.a=5
12048: ORDER BY t1.rowid DESC
12049: }
12050: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31}
12051: do_test boundary3-2.64.ge.1 {
12052: db eval {
12053: SELECT t2.a FROM t1 JOIN t2 USING(a)
12054: WHERE t1.rowid >= 3 ORDER BY t2.a
12055: }
12056: } {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 39 40 42 43 45 46 48 49 50 51 56 57 61 62}
12057: do_test boundary3-2.64.ge.2 {
12058: db eval {
12059: SELECT t2.a FROM t2 NATURAL JOIN t1
12060: WHERE t1.rowid >= 3 ORDER BY t1.a DESC
12061: }
12062: } {62 61 57 56 51 50 49 48 46 45 43 42 40 39 36 35 34 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}
12063: do_test boundary3-2.64.ge.3 {
12064: db eval {
12065: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
12066: WHERE t2.a=5
12067: ORDER BY t1.rowid
12068: }
12069: } {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
12070: do_test boundary3-2.64.ge.4 {
12071: db eval {
12072: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
12073: WHERE t2.a=5
12074: ORDER BY t1.rowid DESC
12075: }
12076: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5}
12077: do_test boundary3-2.64.ge.5 {
12078: db eval {
12079: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
12080: WHERE t2.a=5
12081: ORDER BY x
12082: }
12083: } {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
12084: do_test boundary3-2.64.ge.10 {
12085: db eval {
12086: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
12087: WHERE t2.a=5
12088: ORDER BY t1.rowid
12089: }
12090: } {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
12091: do_test boundary3-2.64.ge.11 {
12092: db eval {
12093: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)
12094: WHERE t2.a=5
12095: ORDER BY t1.rowid DESC
12096: }
12097: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5}
12098: do_test boundary3-2.64.lt.1 {
12099: db eval {
12100: SELECT t2.a FROM t1 JOIN t2 USING(a)
12101: WHERE t1.rowid < 3 ORDER BY t2.a
12102: }
12103: } {1 2 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
12104: do_test boundary3-2.64.lt.2 {
12105: db eval {
12106: SELECT t2.a FROM t2 NATURAL JOIN t1
12107: WHERE t1.rowid < 3 ORDER BY t1.a DESC
12108: }
12109: } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 2 1}
12110: do_test boundary3-2.64.lt.3 {
12111: db eval {
12112: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
12113: WHERE t2.a=5
12114: ORDER BY t1.rowid
12115: }
12116: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41}
12117: do_test boundary3-2.64.lt.4 {
12118: db eval {
12119: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
12120: WHERE t2.a=5
12121: ORDER BY t1.rowid DESC
12122: }
12123: } {41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
12124: do_test boundary3-2.64.lt.5 {
12125: db eval {
12126: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
12127: WHERE t2.a=5
12128: ORDER BY x
12129: }
12130: } {59 60 41 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
12131: do_test boundary3-2.64.lt.10 {
12132: db eval {
12133: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
12134: WHERE t2.a=5
12135: ORDER BY t1.rowid
12136: }
12137: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41}
12138: do_test boundary3-2.64.lt.11 {
12139: db eval {
12140: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)
12141: WHERE t2.a=5
12142: ORDER BY t1.rowid DESC
12143: }
12144: } {41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
12145: do_test boundary3-2.64.le.1 {
12146: db eval {
12147: SELECT t2.a FROM t1 JOIN t2 USING(a)
12148: WHERE t1.rowid <= 3 ORDER BY t2.a
12149: }
12150: } {1 2 5 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}
12151: do_test boundary3-2.64.le.2 {
12152: db eval {
12153: SELECT t2.a FROM t2 NATURAL JOIN t1
12154: WHERE t1.rowid <= 3 ORDER BY t1.a DESC
12155: }
12156: } {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 5 2 1}
12157: do_test boundary3-2.64.le.3 {
12158: db eval {
12159: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
12160: WHERE t2.a=5
12161: ORDER BY t1.rowid
12162: }
12163: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5}
12164: do_test boundary3-2.64.le.4 {
12165: db eval {
12166: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
12167: WHERE t2.a=5
12168: ORDER BY t1.rowid DESC
12169: }
12170: } {5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
12171: do_test boundary3-2.64.le.5 {
12172: db eval {
12173: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
12174: WHERE t2.a=5
12175: ORDER BY x
12176: }
12177: } {59 60 41 5 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
12178: do_test boundary3-2.64.le.10 {
12179: db eval {
12180: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
12181: WHERE t2.a=5
12182: ORDER BY t1.rowid
12183: }
12184: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5}
12185: do_test boundary3-2.64.le.11 {
12186: db eval {
12187: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)
12188: WHERE t2.a=5
12189: ORDER BY t1.rowid DESC
12190: }
12191: } {5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
12192: do_test boundary3-2.65.gt.1 {
12193: db eval {
12194: SELECT t2.a FROM t1 JOIN t2 USING(a)
12195: WHERE t1.rowid > 9.22337303685477580800e+18 ORDER BY t2.a
12196: }
12197: } {}
12198: do_test boundary3-2.65.gt.2 {
12199: db eval {
12200: SELECT t2.a FROM t2 NATURAL JOIN t1
12201: WHERE t1.rowid > 9.22337303685477580800e+18 ORDER BY t1.a DESC
12202: }
12203: } {}
12204: do_test boundary3-2.65.gt.3 {
12205: db eval {
12206: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
12207: WHERE t2.a=65
12208: ORDER BY t1.rowid
12209: }
12210: } {}
12211: do_test boundary3-2.65.gt.4 {
12212: db eval {
12213: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
12214: WHERE t2.a=65
12215: ORDER BY t1.rowid DESC
12216: }
12217: } {}
12218: do_test boundary3-2.65.gt.5 {
12219: db eval {
12220: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
12221: WHERE t2.a=65
12222: ORDER BY x
12223: }
12224: } {}
12225: do_test boundary3-2.65.ge.1 {
12226: db eval {
12227: SELECT t2.a FROM t1 JOIN t2 USING(a)
12228: WHERE t1.rowid >= 9.22337303685477580800e+18 ORDER BY t2.a
12229: }
12230: } {}
12231: do_test boundary3-2.65.ge.2 {
12232: db eval {
12233: SELECT t2.a FROM t2 NATURAL JOIN t1
12234: WHERE t1.rowid >= 9.22337303685477580800e+18 ORDER BY t1.a DESC
12235: }
12236: } {}
12237: do_test boundary3-2.65.ge.3 {
12238: db eval {
12239: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
12240: WHERE t2.a=65
12241: ORDER BY t1.rowid
12242: }
12243: } {}
12244: do_test boundary3-2.65.ge.4 {
12245: db eval {
12246: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
12247: WHERE t2.a=65
12248: ORDER BY t1.rowid DESC
12249: }
12250: } {}
12251: do_test boundary3-2.65.ge.5 {
12252: db eval {
12253: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
12254: WHERE t2.a=65
12255: ORDER BY x
12256: }
12257: } {}
12258: do_test boundary3-2.65.lt.1 {
12259: db eval {
12260: SELECT t2.a FROM t1 JOIN t2 USING(a)
12261: WHERE t1.rowid < 9.22337303685477580800e+18 ORDER BY t2.a
12262: }
12263: } {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
12264: do_test boundary3-2.65.lt.2 {
12265: db eval {
12266: SELECT t2.a FROM t2 NATURAL JOIN t1
12267: WHERE t1.rowid < 9.22337303685477580800e+18 ORDER BY t1.a DESC
12268: }
12269: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
12270: do_test boundary3-2.65.lt.3 {
12271: db eval {
12272: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
12273: WHERE t2.a=65
12274: ORDER BY t1.rowid
12275: }
12276: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
12277: do_test boundary3-2.65.lt.4 {
12278: db eval {
12279: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
12280: WHERE t2.a=65
12281: ORDER BY t1.rowid DESC
12282: }
12283: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
12284: do_test boundary3-2.65.lt.5 {
12285: db eval {
12286: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
12287: WHERE t2.a=65
12288: ORDER BY x
12289: }
12290: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
12291: do_test boundary3-2.65.le.1 {
12292: db eval {
12293: SELECT t2.a FROM t1 JOIN t2 USING(a)
12294: WHERE t1.rowid <= 9.22337303685477580800e+18 ORDER BY t2.a
12295: }
12296: } {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
12297: do_test boundary3-2.65.le.2 {
12298: db eval {
12299: SELECT t2.a FROM t2 NATURAL JOIN t1
12300: WHERE t1.rowid <= 9.22337303685477580800e+18 ORDER BY t1.a DESC
12301: }
12302: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
12303: do_test boundary3-2.65.le.3 {
12304: db eval {
12305: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
12306: WHERE t2.a=65
12307: ORDER BY t1.rowid
12308: }
12309: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
12310: do_test boundary3-2.65.le.4 {
12311: db eval {
12312: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
12313: WHERE t2.a=65
12314: ORDER BY t1.rowid DESC
12315: }
12316: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
12317: do_test boundary3-2.65.le.5 {
12318: db eval {
12319: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
12320: WHERE t2.a=65
12321: ORDER BY x
12322: }
12323: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
12324: do_test boundary3-2.66.gt.1 {
12325: db eval {
12326: SELECT t2.a FROM t1 JOIN t2 USING(a)
12327: WHERE t1.rowid > -9.22337303685477580800e+18 ORDER BY t2.a
12328: }
12329: } {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
12330: do_test boundary3-2.66.gt.2 {
12331: db eval {
12332: SELECT t2.a FROM t2 NATURAL JOIN t1
12333: WHERE t1.rowid > -9.22337303685477580800e+18 ORDER BY t1.a DESC
12334: }
12335: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
12336: do_test boundary3-2.66.gt.3 {
12337: db eval {
12338: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
12339: WHERE t2.a=66
12340: ORDER BY t1.rowid
12341: }
12342: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
12343: do_test boundary3-2.66.gt.4 {
12344: db eval {
12345: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
12346: WHERE t2.a=66
12347: ORDER BY t1.rowid DESC
12348: }
12349: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
12350: do_test boundary3-2.66.gt.5 {
12351: db eval {
12352: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r
12353: WHERE t2.a=66
12354: ORDER BY x
12355: }
12356: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
12357: do_test boundary3-2.66.ge.1 {
12358: db eval {
12359: SELECT t2.a FROM t1 JOIN t2 USING(a)
12360: WHERE t1.rowid >= -9.22337303685477580800e+18 ORDER BY t2.a
12361: }
12362: } {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}
12363: do_test boundary3-2.66.ge.2 {
12364: db eval {
12365: SELECT t2.a FROM t2 NATURAL JOIN t1
12366: WHERE t1.rowid >= -9.22337303685477580800e+18 ORDER BY t1.a DESC
12367: }
12368: } {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
12369: do_test boundary3-2.66.ge.3 {
12370: db eval {
12371: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
12372: WHERE t2.a=66
12373: ORDER BY t1.rowid
12374: }
12375: } {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}
12376: do_test boundary3-2.66.ge.4 {
12377: db eval {
12378: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
12379: WHERE t2.a=66
12380: ORDER BY t1.rowid DESC
12381: }
12382: } {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}
12383: do_test boundary3-2.66.ge.5 {
12384: db eval {
12385: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r
12386: WHERE t2.a=66
12387: ORDER BY x
12388: }
12389: } {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}
12390: do_test boundary3-2.66.lt.1 {
12391: db eval {
12392: SELECT t2.a FROM t1 JOIN t2 USING(a)
12393: WHERE t1.rowid < -9.22337303685477580800e+18 ORDER BY t2.a
12394: }
12395: } {}
12396: do_test boundary3-2.66.lt.2 {
12397: db eval {
12398: SELECT t2.a FROM t2 NATURAL JOIN t1
12399: WHERE t1.rowid < -9.22337303685477580800e+18 ORDER BY t1.a DESC
12400: }
12401: } {}
12402: do_test boundary3-2.66.lt.3 {
12403: db eval {
12404: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
12405: WHERE t2.a=66
12406: ORDER BY t1.rowid
12407: }
12408: } {}
12409: do_test boundary3-2.66.lt.4 {
12410: db eval {
12411: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
12412: WHERE t2.a=66
12413: ORDER BY t1.rowid DESC
12414: }
12415: } {}
12416: do_test boundary3-2.66.lt.5 {
12417: db eval {
12418: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r
12419: WHERE t2.a=66
12420: ORDER BY x
12421: }
12422: } {}
12423: do_test boundary3-2.66.le.1 {
12424: db eval {
12425: SELECT t2.a FROM t1 JOIN t2 USING(a)
12426: WHERE t1.rowid <= -9.22337303685477580800e+18 ORDER BY t2.a
12427: }
12428: } {}
12429: do_test boundary3-2.66.le.2 {
12430: db eval {
12431: SELECT t2.a FROM t2 NATURAL JOIN t1
12432: WHERE t1.rowid <= -9.22337303685477580800e+18 ORDER BY t1.a DESC
12433: }
12434: } {}
12435: do_test boundary3-2.66.le.3 {
12436: db eval {
12437: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
12438: WHERE t2.a=66
12439: ORDER BY t1.rowid
12440: }
12441: } {}
12442: do_test boundary3-2.66.le.4 {
12443: db eval {
12444: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
12445: WHERE t2.a=66
12446: ORDER BY t1.rowid DESC
12447: }
12448: } {}
12449: do_test boundary3-2.66.le.5 {
12450: db eval {
12451: SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r
12452: WHERE t2.a=66
12453: ORDER BY x
12454: }
12455: } {}
12456: finish_test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>