AryaWu/sqlite
0
1# 2008 December 112#3# The author disclaims copyright to this source code. In place of4# a legal notice, here is a blessing:5#6# May you do good and not evil.7# May you find forgiveness for yourself and forgive others.8# May you share freely, never taking more than you give.9#10#***********************************************************************11# This file implements regression tests for SQLite library.12#13# This file is automatically generated from a separate TCL script.14# This file seeks to exercise integer boundary values.15#16# $Id: boundary3.test,v 1.2 2009/01/02 15:45:48 shane Exp $17 18set testdir [file dirname $argv0]19source $testdir/tester.tcl20 21# Many of the boundary tests depend on a working 64-bit implementation.22if {![working_64bit_int]} { finish_test; return }23 24do_test boundary3-1.1 {25 db eval {26 CREATE TABLE t1(a,x);27 INSERT INTO t1(oid,a,x) VALUES(-8388609,1,'ffffffffff7fffff');28 INSERT INTO t1(oid,a,x) VALUES(-36028797018963969,2,'ff7fffffffffffff');29 INSERT INTO t1(oid,a,x) VALUES(9223372036854775807,3,'7fffffffffffffff');30 INSERT INTO t1(oid,a,x) VALUES(127,4,'000000000000007f');31 INSERT INTO t1(oid,a,x) VALUES(3,5,'0000000000000003');32 INSERT INTO t1(oid,a,x) VALUES(16777216,6,'0000000001000000');33 INSERT INTO t1(oid,a,x) VALUES(4398046511103,7,'000003ffffffffff');34 INSERT INTO t1(oid,a,x) VALUES(16383,8,'0000000000003fff');35 INSERT INTO t1(oid,a,x) VALUES(16777215,9,'0000000000ffffff');36 INSERT INTO t1(oid,a,x) VALUES(281474976710655,10,'0000ffffffffffff');37 INSERT INTO t1(oid,a,x) VALUES(-2147483648,11,'ffffffff80000000');38 INSERT INTO t1(oid,a,x) VALUES(268435455,12,'000000000fffffff');39 INSERT INTO t1(oid,a,x) VALUES(562949953421311,13,'0001ffffffffffff');40 INSERT INTO t1(oid,a,x) VALUES(4294967295,14,'00000000ffffffff');41 INSERT INTO t1(oid,a,x) VALUES(2097151,15,'00000000001fffff');42 INSERT INTO t1(oid,a,x) VALUES(16384,16,'0000000000004000');43 INSERT INTO t1(oid,a,x) VALUES(72057594037927935,17,'00ffffffffffffff');44 INSERT INTO t1(oid,a,x) VALUES(8388607,18,'00000000007fffff');45 INSERT INTO t1(oid,a,x) VALUES(1099511627776,19,'0000010000000000');46 INSERT INTO t1(oid,a,x) VALUES(2147483647,20,'000000007fffffff');47 INSERT INTO t1(oid,a,x) VALUES(-140737488355329,21,'ffff7fffffffffff');48 INSERT INTO t1(oid,a,x) VALUES(34359738368,22,'0000000800000000');49 INSERT INTO t1(oid,a,x) VALUES(32767,23,'0000000000007fff');50 INSERT INTO t1(oid,a,x) VALUES(8388608,24,'0000000000800000');51 INSERT INTO t1(oid,a,x) VALUES(140737488355327,25,'00007fffffffffff');52 INSERT INTO t1(oid,a,x) VALUES(281474976710656,26,'0001000000000000');53 INSERT INTO t1(oid,a,x) VALUES(36028797018963967,27,'007fffffffffffff');54 INSERT INTO t1(oid,a,x) VALUES(72057594037927936,28,'0100000000000000');55 INSERT INTO t1(oid,a,x) VALUES(-32769,29,'ffffffffffff7fff');56 INSERT INTO t1(oid,a,x) VALUES(255,30,'00000000000000ff');57 INSERT INTO t1(oid,a,x) VALUES(4,31,'0000000000000004');58 INSERT INTO t1(oid,a,x) VALUES(-32768,32,'ffffffffffff8000');59 INSERT INTO t1(oid,a,x) VALUES(-2,33,'fffffffffffffffe');60 INSERT INTO t1(oid,a,x) VALUES(140737488355328,34,'0000800000000000');61 INSERT INTO t1(oid,a,x) VALUES(549755813888,35,'0000008000000000');62 INSERT INTO t1(oid,a,x) VALUES(4294967296,36,'0000000100000000');63 INSERT INTO t1(oid,a,x) VALUES(-8388608,37,'ffffffffff800000');64 INSERT INTO t1(oid,a,x) VALUES(-1,38,'ffffffffffffffff');65 INSERT INTO t1(oid,a,x) VALUES(34359738367,39,'00000007ffffffff');66 INSERT INTO t1(oid,a,x) VALUES(268435456,40,'0000000010000000');67 INSERT INTO t1(oid,a,x) VALUES(2,41,'0000000000000002');68 INSERT INTO t1(oid,a,x) VALUES(2097152,42,'0000000000200000');69 INSERT INTO t1(oid,a,x) VALUES(562949953421312,43,'0002000000000000');70 INSERT INTO t1(oid,a,x) VALUES(-140737488355328,44,'ffff800000000000');71 INSERT INTO t1(oid,a,x) VALUES(36028797018963968,45,'0080000000000000');72 INSERT INTO t1(oid,a,x) VALUES(549755813887,46,'0000007fffffffff');73 INSERT INTO t1(oid,a,x) VALUES(-2147483649,47,'ffffffff7fffffff');74 INSERT INTO t1(oid,a,x) VALUES(65535,48,'000000000000ffff');75 INSERT INTO t1(oid,a,x) VALUES(128,49,'0000000000000080');76 INSERT INTO t1(oid,a,x) VALUES(32768,50,'0000000000008000');77 INSERT INTO t1(oid,a,x) VALUES(2147483648,51,'0000000080000000');78 INSERT INTO t1(oid,a,x) VALUES(-3,52,'fffffffffffffffd');79 INSERT INTO t1(oid,a,x) VALUES(-128,53,'ffffffffffffff80');80 INSERT INTO t1(oid,a,x) VALUES(-129,54,'ffffffffffffff7f');81 INSERT INTO t1(oid,a,x) VALUES(-9223372036854775808,55,'8000000000000000');82 INSERT INTO t1(oid,a,x) VALUES(4398046511104,56,'0000040000000000');83 INSERT INTO t1(oid,a,x) VALUES(1099511627775,57,'000000ffffffffff');84 INSERT INTO t1(oid,a,x) VALUES(-549755813889,58,'ffffff7fffffffff');85 INSERT INTO t1(oid,a,x) VALUES(0,59,'0000000000000000');86 INSERT INTO t1(oid,a,x) VALUES(1,60,'0000000000000001');87 INSERT INTO t1(oid,a,x) VALUES(256,61,'0000000000000100');88 INSERT INTO t1(oid,a,x) VALUES(65536,62,'0000000000010000');89 INSERT INTO t1(oid,a,x) VALUES(-549755813888,63,'ffffff8000000000');90 INSERT INTO t1(oid,a,x) VALUES(-36028797018963968,64,'ff80000000000000');91 CREATE INDEX t1i1 ON t1(a);92 CREATE INDEX t1i2 ON t1(x);93 }94} {}95do_test boundary3-1.2 {96 db eval {97 SELECT count(*) FROM t198 }99} {64}100do_test boundary3-1.3 {101 db eval {102 CREATE TABLE t2(r,a);103 INSERT INTO t2 SELECT rowid, a FROM t1;104 CREATE INDEX t2i1 ON t2(r);105 CREATE INDEX t2i2 ON t2(a);106 INSERT INTO t2 VALUES(9.22337303685477580800e+18,65);107 INSERT INTO t2 VALUES(-9.22337303685477580800e+18,66);108 SELECT count(*) FROM t2;109 }110} {66}111do_test boundary3-2.1.1 {112 db eval {113 SELECT t1.* FROM t1, t2 WHERE t1.rowid=72057594037927935 AND t2.a=t1.a114 }115} {17 00ffffffffffffff}116do_test boundary3-2.1.2 {117 db eval {118 SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='00ffffffffffffff'119 }120} {72057594037927935 17}121do_test boundary3-2.1.3 {122 db eval {123 SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=17124 }125} {72057594037927935 00ffffffffffffff}126do_test boundary3-2.1.gt.1 {127 db eval {128 SELECT t2.a FROM t1 JOIN t2 USING(a)129 WHERE t1.rowid > 72057594037927935 ORDER BY t2.a130 }131} {3 28}132do_test boundary3-2.1.gt.2 {133 db eval {134 SELECT t2.a FROM t2 NATURAL JOIN t1135 WHERE t1.rowid > 72057594037927935 ORDER BY t1.a DESC136 }137} {28 3}138do_test boundary3-2.1.gt.3 {139 db eval {140 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r141 WHERE t2.a=17142 ORDER BY t1.rowid143 }144} {28 3}145do_test boundary3-2.1.gt.4 {146 db eval {147 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r148 WHERE t2.a=17149 ORDER BY t1.rowid DESC150 }151} {3 28}152do_test boundary3-2.1.gt.5 {153 db eval {154 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r155 WHERE t2.a=17156 ORDER BY x157 }158} {28 3}159do_test boundary3-2.1.ge.1 {160 db eval {161 SELECT t2.a FROM t1 JOIN t2 USING(a)162 WHERE t1.rowid >= 72057594037927935 ORDER BY t2.a163 }164} {3 17 28}165do_test boundary3-2.1.ge.2 {166 db eval {167 SELECT t2.a FROM t2 NATURAL JOIN t1168 WHERE t1.rowid >= 72057594037927935 ORDER BY t1.a DESC169 }170} {28 17 3}171do_test boundary3-2.1.ge.3 {172 db eval {173 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r174 WHERE t2.a=17175 ORDER BY t1.rowid176 }177} {17 28 3}178do_test boundary3-2.1.ge.4 {179 db eval {180 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r181 WHERE t2.a=17182 ORDER BY t1.rowid DESC183 }184} {3 28 17}185do_test boundary3-2.1.ge.5 {186 db eval {187 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r188 WHERE t2.a=17189 ORDER BY x190 }191} {17 28 3}192do_test boundary3-2.1.lt.1 {193 db eval {194 SELECT t2.a FROM t1 JOIN t2 USING(a)195 WHERE t1.rowid < 72057594037927935 ORDER BY t2.a196 }197} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}198do_test boundary3-2.1.lt.2 {199 db eval {200 SELECT t2.a FROM t2 NATURAL JOIN t1201 WHERE t1.rowid < 72057594037927935 ORDER BY t1.a DESC202 }203} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}204do_test boundary3-2.1.lt.3 {205 db eval {206 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r207 WHERE t2.a=17208 ORDER BY t1.rowid209 }210} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45}211do_test boundary3-2.1.lt.4 {212 db eval {213 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r214 WHERE t2.a=17215 ORDER BY t1.rowid DESC216 }217} {45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}218do_test boundary3-2.1.lt.5 {219 db eval {220 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r221 WHERE t2.a=17222 ORDER BY x223 }224} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}225do_test boundary3-2.1.le.1 {226 db eval {227 SELECT t2.a FROM t1 JOIN t2 USING(a)228 WHERE t1.rowid <= 72057594037927935 ORDER BY t2.a229 }230} {1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64}231do_test boundary3-2.1.le.2 {232 db eval {233 SELECT t2.a FROM t2 NATURAL JOIN t1234 WHERE t1.rowid <= 72057594037927935 ORDER BY t1.a DESC235 }236} {64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 2 1}237do_test boundary3-2.1.le.3 {238 db eval {239 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r240 WHERE t2.a=17241 ORDER BY t1.rowid242 }243} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17}244do_test boundary3-2.1.le.4 {245 db eval {246 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r247 WHERE t2.a=17248 ORDER BY t1.rowid DESC249 }250} {17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}251do_test boundary3-2.1.le.5 {252 db eval {253 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r254 WHERE t2.a=17255 ORDER BY x256 }257} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}258do_test boundary3-2.2.1 {259 db eval {260 SELECT t1.* FROM t1, t2 WHERE t1.rowid=16384 AND t2.a=t1.a261 }262} {16 0000000000004000}263do_test boundary3-2.2.2 {264 db eval {265 SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000000004000'266 }267} {16384 16}268do_test boundary3-2.2.3 {269 db eval {270 SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=16271 }272} {16384 0000000000004000}273do_test boundary3-2.2.gt.1 {274 db eval {275 SELECT t2.a FROM t1 JOIN t2 USING(a)276 WHERE t1.rowid > 16384 ORDER BY t2.a277 }278} {3 6 7 9 10 12 13 14 15 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}279do_test boundary3-2.2.gt.2 {280 db eval {281 SELECT t2.a FROM t2 NATURAL JOIN t1282 WHERE t1.rowid > 16384 ORDER BY t1.a DESC283 }284} {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 15 14 13 12 10 9 7 6 3}285do_test boundary3-2.2.gt.3 {286 db eval {287 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r288 WHERE t2.a=16289 ORDER BY t1.rowid290 }291} {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}292do_test boundary3-2.2.gt.4 {293 db eval {294 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r295 WHERE t2.a=16296 ORDER BY t1.rowid DESC297 }298} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23}299do_test boundary3-2.2.gt.5 {300 db eval {301 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r302 WHERE t2.a=16303 ORDER BY x304 }305} {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}306do_test boundary3-2.2.gt.10 {307 db eval {308 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)309 WHERE t2.a=16310 ORDER BY t1.rowid311 }312} {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}313do_test boundary3-2.2.gt.11 {314 db eval {315 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)316 WHERE t2.a=16317 ORDER BY t1.rowid DESC318 }319} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23}320do_test boundary3-2.2.ge.1 {321 db eval {322 SELECT t2.a FROM t1 JOIN t2 USING(a)323 WHERE t1.rowid >= 16384 ORDER BY t2.a324 }325} {3 6 7 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 34 35 36 39 40 42 43 45 46 48 50 51 56 57 62}326do_test boundary3-2.2.ge.2 {327 db eval {328 SELECT t2.a FROM t2 NATURAL JOIN t1329 WHERE t1.rowid >= 16384 ORDER BY t1.a DESC330 }331} {62 57 56 51 50 48 46 45 43 42 40 39 36 35 34 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 7 6 3}332do_test boundary3-2.2.ge.3 {333 db eval {334 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r335 WHERE t2.a=16336 ORDER BY t1.rowid337 }338} {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}339do_test boundary3-2.2.ge.4 {340 db eval {341 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r342 WHERE t2.a=16343 ORDER BY t1.rowid DESC344 }345} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16}346do_test boundary3-2.2.ge.5 {347 db eval {348 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r349 WHERE t2.a=16350 ORDER BY x351 }352} {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}353do_test boundary3-2.2.ge.10 {354 db eval {355 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)356 WHERE t2.a=16357 ORDER BY t1.rowid358 }359} {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}360do_test boundary3-2.2.ge.11 {361 db eval {362 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)363 WHERE t2.a=16364 ORDER BY t1.rowid DESC365 }366} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16}367do_test boundary3-2.2.lt.1 {368 db eval {369 SELECT t2.a FROM t1 JOIN t2 USING(a)370 WHERE t1.rowid < 16384 ORDER BY t2.a371 }372} {1 2 4 5 8 11 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}373do_test boundary3-2.2.lt.2 {374 db eval {375 SELECT t2.a FROM t2 NATURAL JOIN t1376 WHERE t1.rowid < 16384 ORDER BY t1.a DESC377 }378} {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 11 8 5 4 2 1}379do_test boundary3-2.2.lt.3 {380 db eval {381 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r382 WHERE t2.a=16383 ORDER BY t1.rowid384 }385} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8}386do_test boundary3-2.2.lt.4 {387 db eval {388 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r389 WHERE t2.a=16390 ORDER BY t1.rowid DESC391 }392} {8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}393do_test boundary3-2.2.lt.5 {394 db eval {395 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r396 WHERE t2.a=16397 ORDER BY x398 }399} {59 60 41 5 31 4 49 30 61 8 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}400do_test boundary3-2.2.lt.10 {401 db eval {402 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)403 WHERE t2.a=16404 ORDER BY t1.rowid405 }406} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8}407do_test boundary3-2.2.lt.11 {408 db eval {409 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)410 WHERE t2.a=16411 ORDER BY t1.rowid DESC412 }413} {8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}414do_test boundary3-2.2.le.1 {415 db eval {416 SELECT t2.a FROM t1 JOIN t2 USING(a)417 WHERE t1.rowid <= 16384 ORDER BY t2.a418 }419} {1 2 4 5 8 11 16 21 29 30 31 32 33 37 38 41 44 47 49 52 53 54 55 58 59 60 61 63 64}420do_test boundary3-2.2.le.2 {421 db eval {422 SELECT t2.a FROM t2 NATURAL JOIN t1423 WHERE t1.rowid <= 16384 ORDER BY t1.a DESC424 }425} {64 63 61 60 59 58 55 54 53 52 49 47 44 41 38 37 33 32 31 30 29 21 16 11 8 5 4 2 1}426do_test boundary3-2.2.le.3 {427 db eval {428 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r429 WHERE t2.a=16430 ORDER BY t1.rowid431 }432} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16}433do_test boundary3-2.2.le.4 {434 db eval {435 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r436 WHERE t2.a=16437 ORDER BY t1.rowid DESC438 }439} {16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}440do_test boundary3-2.2.le.5 {441 db eval {442 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r443 WHERE t2.a=16444 ORDER BY x445 }446} {59 60 41 5 31 4 49 30 61 8 16 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}447do_test boundary3-2.2.le.10 {448 db eval {449 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)450 WHERE t2.a=16451 ORDER BY t1.rowid452 }453} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16}454do_test boundary3-2.2.le.11 {455 db eval {456 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)457 WHERE t2.a=16458 ORDER BY t1.rowid DESC459 }460} {16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}461do_test boundary3-2.3.1 {462 db eval {463 SELECT t1.* FROM t1, t2 WHERE t1.rowid=4294967296 AND t2.a=t1.a464 }465} {36 0000000100000000}466do_test boundary3-2.3.2 {467 db eval {468 SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000100000000'469 }470} {4294967296 36}471do_test boundary3-2.3.3 {472 db eval {473 SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=36474 }475} {4294967296 0000000100000000}476do_test boundary3-2.3.gt.1 {477 db eval {478 SELECT t2.a FROM t1 JOIN t2 USING(a)479 WHERE t1.rowid > 4294967296 ORDER BY t2.a480 }481} {3 7 10 13 17 19 22 25 26 27 28 34 35 39 43 45 46 56 57}482do_test boundary3-2.3.gt.2 {483 db eval {484 SELECT t2.a FROM t2 NATURAL JOIN t1485 WHERE t1.rowid > 4294967296 ORDER BY t1.a DESC486 }487} {57 56 46 45 43 39 35 34 28 27 26 25 22 19 17 13 10 7 3}488do_test boundary3-2.3.gt.3 {489 db eval {490 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r491 WHERE t2.a=36492 ORDER BY t1.rowid493 }494} {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}495do_test boundary3-2.3.gt.4 {496 db eval {497 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r498 WHERE t2.a=36499 ORDER BY t1.rowid DESC500 }501} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}502do_test boundary3-2.3.gt.5 {503 db eval {504 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r505 WHERE t2.a=36506 ORDER BY x507 }508} {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}509do_test boundary3-2.3.gt.10 {510 db eval {511 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)512 WHERE t2.a=36513 ORDER BY t1.rowid514 }515} {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}516do_test boundary3-2.3.gt.11 {517 db eval {518 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)519 WHERE t2.a=36520 ORDER BY t1.rowid DESC521 }522} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}523do_test boundary3-2.3.ge.1 {524 db eval {525 SELECT t2.a FROM t1 JOIN t2 USING(a)526 WHERE t1.rowid >= 4294967296 ORDER BY t2.a527 }528} {3 7 10 13 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}529do_test boundary3-2.3.ge.2 {530 db eval {531 SELECT t2.a FROM t2 NATURAL JOIN t1532 WHERE t1.rowid >= 4294967296 ORDER BY t1.a DESC533 }534} {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 13 10 7 3}535do_test boundary3-2.3.ge.3 {536 db eval {537 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r538 WHERE t2.a=36539 ORDER BY t1.rowid540 }541} {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}542do_test boundary3-2.3.ge.4 {543 db eval {544 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r545 WHERE t2.a=36546 ORDER BY t1.rowid DESC547 }548} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}549do_test boundary3-2.3.ge.5 {550 db eval {551 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r552 WHERE t2.a=36553 ORDER BY x554 }555} {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}556do_test boundary3-2.3.ge.10 {557 db eval {558 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)559 WHERE t2.a=36560 ORDER BY t1.rowid561 }562} {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}563do_test boundary3-2.3.ge.11 {564 db eval {565 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)566 WHERE t2.a=36567 ORDER BY t1.rowid DESC568 }569} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}570do_test boundary3-2.3.lt.1 {571 db eval {572 SELECT t2.a FROM t1 JOIN t2 USING(a)573 WHERE t1.rowid < 4294967296 ORDER BY t2.a574 }575} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}576do_test boundary3-2.3.lt.2 {577 db eval {578 SELECT t2.a FROM t2 NATURAL JOIN t1579 WHERE t1.rowid < 4294967296 ORDER BY t1.a DESC580 }581} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}582do_test boundary3-2.3.lt.3 {583 db eval {584 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r585 WHERE t2.a=36586 ORDER BY t1.rowid587 }588} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14}589do_test boundary3-2.3.lt.4 {590 db eval {591 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r592 WHERE t2.a=36593 ORDER BY t1.rowid DESC594 }595} {14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}596do_test boundary3-2.3.lt.5 {597 db eval {598 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r599 WHERE t2.a=36600 ORDER BY x601 }602} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}603do_test boundary3-2.3.lt.10 {604 db eval {605 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)606 WHERE t2.a=36607 ORDER BY t1.rowid608 }609} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14}610do_test boundary3-2.3.lt.11 {611 db eval {612 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)613 WHERE t2.a=36614 ORDER BY t1.rowid DESC615 }616} {14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}617do_test boundary3-2.3.le.1 {618 db eval {619 SELECT t2.a FROM t1 JOIN t2 USING(a)620 WHERE t1.rowid <= 4294967296 ORDER BY t2.a621 }622} {1 2 4 5 6 8 9 11 12 14 15 16 18 20 21 23 24 29 30 31 32 33 36 37 38 40 41 42 44 47 48 49 50 51 52 53 54 55 58 59 60 61 62 63 64}623do_test boundary3-2.3.le.2 {624 db eval {625 SELECT t2.a FROM t2 NATURAL JOIN t1626 WHERE t1.rowid <= 4294967296 ORDER BY t1.a DESC627 }628} {64 63 62 61 60 59 58 55 54 53 52 51 50 49 48 47 44 42 41 40 38 37 36 33 32 31 30 29 24 23 21 20 18 16 15 14 12 11 9 8 6 5 4 2 1}629do_test boundary3-2.3.le.3 {630 db eval {631 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r632 WHERE t2.a=36633 ORDER BY t1.rowid634 }635} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36}636do_test boundary3-2.3.le.4 {637 db eval {638 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r639 WHERE t2.a=36640 ORDER BY t1.rowid DESC641 }642} {36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}643do_test boundary3-2.3.le.5 {644 db eval {645 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r646 WHERE t2.a=36647 ORDER BY x648 }649} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}650do_test boundary3-2.3.le.10 {651 db eval {652 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)653 WHERE t2.a=36654 ORDER BY t1.rowid655 }656} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36}657do_test boundary3-2.3.le.11 {658 db eval {659 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)660 WHERE t2.a=36661 ORDER BY t1.rowid DESC662 }663} {36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}664do_test boundary3-2.4.1 {665 db eval {666 SELECT t1.* FROM t1, t2 WHERE t1.rowid=16777216 AND t2.a=t1.a667 }668} {6 0000000001000000}669do_test boundary3-2.4.2 {670 db eval {671 SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='0000000001000000'672 }673} {16777216 6}674do_test boundary3-2.4.3 {675 db eval {676 SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=6677 }678} {16777216 0000000001000000}679do_test boundary3-2.4.gt.1 {680 db eval {681 SELECT t2.a FROM t1 JOIN t2 USING(a)682 WHERE t1.rowid > 16777216 ORDER BY t2.a683 }684} {3 7 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}685do_test boundary3-2.4.gt.2 {686 db eval {687 SELECT t2.a FROM t2 NATURAL JOIN t1688 WHERE t1.rowid > 16777216 ORDER BY t1.a DESC689 }690} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 7 3}691do_test boundary3-2.4.gt.3 {692 db eval {693 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r694 WHERE t2.a=6695 ORDER BY t1.rowid696 }697} {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}698do_test boundary3-2.4.gt.4 {699 db eval {700 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r701 WHERE t2.a=6702 ORDER BY t1.rowid DESC703 }704} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12}705do_test boundary3-2.4.gt.5 {706 db eval {707 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r708 WHERE t2.a=6709 ORDER BY x710 }711} {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}712do_test boundary3-2.4.gt.10 {713 db eval {714 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)715 WHERE t2.a=6716 ORDER BY t1.rowid717 }718} {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}719do_test boundary3-2.4.gt.11 {720 db eval {721 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)722 WHERE t2.a=6723 ORDER BY t1.rowid DESC724 }725} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12}726do_test boundary3-2.4.ge.1 {727 db eval {728 SELECT t2.a FROM t1 JOIN t2 USING(a)729 WHERE t1.rowid >= 16777216 ORDER BY t2.a730 }731} {3 6 7 10 12 13 14 17 19 20 22 25 26 27 28 34 35 36 39 40 43 45 46 51 56 57}732do_test boundary3-2.4.ge.2 {733 db eval {734 SELECT t2.a FROM t2 NATURAL JOIN t1735 WHERE t1.rowid >= 16777216 ORDER BY t1.a DESC736 }737} {57 56 51 46 45 43 40 39 36 35 34 28 27 26 25 22 20 19 17 14 13 12 10 7 6 3}738do_test boundary3-2.4.ge.3 {739 db eval {740 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r741 WHERE t2.a=6742 ORDER BY t1.rowid743 }744} {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}745do_test boundary3-2.4.ge.4 {746 db eval {747 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r748 WHERE t2.a=6749 ORDER BY t1.rowid DESC750 }751} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6}752do_test boundary3-2.4.ge.5 {753 db eval {754 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r755 WHERE t2.a=6756 ORDER BY x757 }758} {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}759do_test boundary3-2.4.ge.10 {760 db eval {761 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)762 WHERE t2.a=6763 ORDER BY t1.rowid764 }765} {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}766do_test boundary3-2.4.ge.11 {767 db eval {768 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)769 WHERE t2.a=6770 ORDER BY t1.rowid DESC771 }772} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6}773do_test boundary3-2.4.lt.1 {774 db eval {775 SELECT t2.a FROM t1 JOIN t2 USING(a)776 WHERE t1.rowid < 16777216 ORDER BY t2.a777 }778} {1 2 4 5 8 9 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}779do_test boundary3-2.4.lt.2 {780 db eval {781 SELECT t2.a FROM t2 NATURAL JOIN t1782 WHERE t1.rowid < 16777216 ORDER BY t1.a DESC783 }784} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 9 8 5 4 2 1}785do_test boundary3-2.4.lt.3 {786 db eval {787 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r788 WHERE t2.a=6789 ORDER BY t1.rowid790 }791} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9}792do_test boundary3-2.4.lt.4 {793 db eval {794 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r795 WHERE t2.a=6796 ORDER BY t1.rowid DESC797 }798} {9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}799do_test boundary3-2.4.lt.5 {800 db eval {801 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r802 WHERE t2.a=6803 ORDER BY x804 }805} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}806do_test boundary3-2.4.lt.10 {807 db eval {808 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)809 WHERE t2.a=6810 ORDER BY t1.rowid811 }812} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9}813do_test boundary3-2.4.lt.11 {814 db eval {815 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)816 WHERE t2.a=6817 ORDER BY t1.rowid DESC818 }819} {9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}820do_test boundary3-2.4.le.1 {821 db eval {822 SELECT t2.a FROM t1 JOIN t2 USING(a)823 WHERE t1.rowid <= 16777216 ORDER BY t2.a824 }825} {1 2 4 5 6 8 9 11 15 16 18 21 23 24 29 30 31 32 33 37 38 41 42 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64}826do_test boundary3-2.4.le.2 {827 db eval {828 SELECT t2.a FROM t2 NATURAL JOIN t1829 WHERE t1.rowid <= 16777216 ORDER BY t1.a DESC830 }831} {64 63 62 61 60 59 58 55 54 53 52 50 49 48 47 44 42 41 38 37 33 32 31 30 29 24 23 21 18 16 15 11 9 8 6 5 4 2 1}832do_test boundary3-2.4.le.3 {833 db eval {834 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r835 WHERE t2.a=6836 ORDER BY t1.rowid837 }838} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6}839do_test boundary3-2.4.le.4 {840 db eval {841 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r842 WHERE t2.a=6843 ORDER BY t1.rowid DESC844 }845} {6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}846do_test boundary3-2.4.le.5 {847 db eval {848 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r849 WHERE t2.a=6850 ORDER BY x851 }852} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}853do_test boundary3-2.4.le.10 {854 db eval {855 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)856 WHERE t2.a=6857 ORDER BY t1.rowid858 }859} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6}860do_test boundary3-2.4.le.11 {861 db eval {862 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)863 WHERE t2.a=6864 ORDER BY t1.rowid DESC865 }866} {6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}867do_test boundary3-2.5.1 {868 db eval {869 SELECT t1.* FROM t1, t2 WHERE t1.rowid=-32769 AND t2.a=t1.a870 }871} {29 ffffffffffff7fff}872do_test boundary3-2.5.2 {873 db eval {874 SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffffffffffff7fff'875 }876} {-32769 29}877do_test boundary3-2.5.3 {878 db eval {879 SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=29880 }881} {-32769 ffffffffffff7fff}882do_test boundary3-2.5.gt.1 {883 db eval {884 SELECT t2.a FROM t1 JOIN t2 USING(a)885 WHERE t1.rowid > -32769 ORDER BY t2.a886 }887} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 32 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}888do_test boundary3-2.5.gt.2 {889 db eval {890 SELECT t2.a FROM t2 NATURAL JOIN t1891 WHERE t1.rowid > -32769 ORDER BY t1.a DESC892 }893} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 32 31 30 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}894do_test boundary3-2.5.gt.3 {895 db eval {896 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r897 WHERE t2.a=29898 ORDER BY t1.rowid899 }900} {32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}901do_test boundary3-2.5.gt.4 {902 db eval {903 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r904 WHERE t2.a=29905 ORDER BY t1.rowid DESC906 }907} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32}908do_test boundary3-2.5.gt.5 {909 db eval {910 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r911 WHERE t2.a=29912 ORDER BY x913 }914} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 32 54 53 52 33 38}915do_test boundary3-2.5.gt.10 {916 db eval {917 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)918 WHERE t2.a=29919 ORDER BY t1.rowid920 }921} {32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}922do_test boundary3-2.5.gt.11 {923 db eval {924 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > CAST(t2.r AS real)925 WHERE t2.a=29926 ORDER BY t1.rowid DESC927 }928} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32}929do_test boundary3-2.5.ge.1 {930 db eval {931 SELECT t2.a FROM t1 JOIN t2 USING(a)932 WHERE t1.rowid >= -32769 ORDER BY t2.a933 }934} {3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 45 46 48 49 50 51 52 53 54 56 57 59 60 61 62}935do_test boundary3-2.5.ge.2 {936 db eval {937 SELECT t2.a FROM t2 NATURAL JOIN t1938 WHERE t1.rowid >= -32769 ORDER BY t1.a DESC939 }940} {62 61 60 59 57 56 54 53 52 51 50 49 48 46 45 43 42 41 40 39 38 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3}941do_test boundary3-2.5.ge.3 {942 db eval {943 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r944 WHERE t2.a=29945 ORDER BY t1.rowid946 }947} {29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}948do_test boundary3-2.5.ge.4 {949 db eval {950 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r951 WHERE t2.a=29952 ORDER BY t1.rowid DESC953 }954} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29}955do_test boundary3-2.5.ge.5 {956 db eval {957 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r958 WHERE t2.a=29959 ORDER BY x960 }961} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 29 32 54 53 52 33 38}962do_test boundary3-2.5.ge.10 {963 db eval {964 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)965 WHERE t2.a=29966 ORDER BY t1.rowid967 }968} {29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}969do_test boundary3-2.5.ge.11 {970 db eval {971 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= CAST(t2.r AS real)972 WHERE t2.a=29973 ORDER BY t1.rowid DESC974 }975} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29}976do_test boundary3-2.5.lt.1 {977 db eval {978 SELECT t2.a FROM t1 JOIN t2 USING(a)979 WHERE t1.rowid < -32769 ORDER BY t2.a980 }981} {1 2 11 21 37 44 47 55 58 63 64}982do_test boundary3-2.5.lt.2 {983 db eval {984 SELECT t2.a FROM t2 NATURAL JOIN t1985 WHERE t1.rowid < -32769 ORDER BY t1.a DESC986 }987} {64 63 58 55 47 44 37 21 11 2 1}988do_test boundary3-2.5.lt.3 {989 db eval {990 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r991 WHERE t2.a=29992 ORDER BY t1.rowid993 }994} {55 2 64 21 44 58 63 47 11 1 37}995do_test boundary3-2.5.lt.4 {996 db eval {997 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r998 WHERE t2.a=29999 ORDER BY t1.rowid DESC1000 }1001} {37 1 11 47 63 58 44 21 64 2 55}1002do_test boundary3-2.5.lt.5 {1003 db eval {1004 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r1005 WHERE t2.a=291006 ORDER BY x1007 }1008} {55 2 64 21 44 58 63 47 11 1 37}1009do_test boundary3-2.5.lt.10 {1010 db eval {1011 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)1012 WHERE t2.a=291013 ORDER BY t1.rowid1014 }1015} {55 2 64 21 44 58 63 47 11 1 37}1016do_test boundary3-2.5.lt.11 {1017 db eval {1018 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < CAST(t2.r AS real)1019 WHERE t2.a=291020 ORDER BY t1.rowid DESC1021 }1022} {37 1 11 47 63 58 44 21 64 2 55}1023do_test boundary3-2.5.le.1 {1024 db eval {1025 SELECT t2.a FROM t1 JOIN t2 USING(a)1026 WHERE t1.rowid <= -32769 ORDER BY t2.a1027 }1028} {1 2 11 21 29 37 44 47 55 58 63 64}1029do_test boundary3-2.5.le.2 {1030 db eval {1031 SELECT t2.a FROM t2 NATURAL JOIN t11032 WHERE t1.rowid <= -32769 ORDER BY t1.a DESC1033 }1034} {64 63 58 55 47 44 37 29 21 11 2 1}1035do_test boundary3-2.5.le.3 {1036 db eval {1037 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r1038 WHERE t2.a=291039 ORDER BY t1.rowid1040 }1041} {55 2 64 21 44 58 63 47 11 1 37 29}1042do_test boundary3-2.5.le.4 {1043 db eval {1044 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r1045 WHERE t2.a=291046 ORDER BY t1.rowid DESC1047 }1048} {29 37 1 11 47 63 58 44 21 64 2 55}1049do_test boundary3-2.5.le.5 {1050 db eval {1051 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r1052 WHERE t2.a=291053 ORDER BY x1054 }1055} {55 2 64 21 44 58 63 47 11 1 37 29}1056do_test boundary3-2.5.le.10 {1057 db eval {1058 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)1059 WHERE t2.a=291060 ORDER BY t1.rowid1061 }1062} {55 2 64 21 44 58 63 47 11 1 37 29}1063do_test boundary3-2.5.le.11 {1064 db eval {1065 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= CAST(t2.r AS real)1066 WHERE t2.a=291067 ORDER BY t1.rowid DESC1068 }1069} {29 37 1 11 47 63 58 44 21 64 2 55}1070do_test boundary3-2.6.1 {1071 db eval {1072 SELECT t1.* FROM t1, t2 WHERE t1.rowid=-140737488355329 AND t2.a=t1.a1073 }1074} {21 ffff7fffffffffff}1075do_test boundary3-2.6.2 {1076 db eval {1077 SELECT t2.* FROM t1 JOIN t2 USING(a) WHERE x='ffff7fffffffffff'1078 }1079} {-140737488355329 21}1080do_test boundary3-2.6.3 {1081 db eval {1082 SELECT t1.rowid, x FROM t1 JOIN t2 ON t2.r=t1.rowid WHERE t2.a=211083 }1084} {-140737488355329 ffff7fffffffffff}1085do_test boundary3-2.6.gt.1 {1086 db eval {1087 SELECT t2.a FROM t1 JOIN t2 USING(a)1088 WHERE t1.rowid > -140737488355329 ORDER BY t2.a1089 }1090} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}1091do_test boundary3-2.6.gt.2 {1092 db eval {1093 SELECT t2.a FROM t2 NATURAL JOIN t11094 WHERE t1.rowid > -140737488355329 ORDER BY t1.a DESC1095 }1096} {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}1097do_test boundary3-2.6.gt.3 {1098 db eval {1099 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r1100 WHERE t2.a=211101 ORDER BY t1.rowid1102 }1103} {44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}1104do_test boundary3-2.6.gt.4 {1105 db eval {1106 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r1107 WHERE t2.a=211108 ORDER BY t1.rowid DESC1109 }1110} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44}1111do_test boundary3-2.6.gt.5 {1112 db eval {1113 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid > t2.r1114 WHERE t2.a=211115 ORDER BY x1116 }1117} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 44 58 63 47 11 1 37 29 32 54 53 52 33 38}1118do_test boundary3-2.6.ge.1 {1119 db eval {1120 SELECT t2.a FROM t1 JOIN t2 USING(a)1121 WHERE t1.rowid >= -140737488355329 ORDER BY t2.a1122 }1123} {1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63}1124do_test boundary3-2.6.ge.2 {1125 db eval {1126 SELECT t2.a FROM t2 NATURAL JOIN t11127 WHERE t1.rowid >= -140737488355329 ORDER BY t1.a DESC1128 }1129} {63 62 61 60 59 58 57 56 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1}1130do_test boundary3-2.6.ge.3 {1131 db eval {1132 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r1133 WHERE t2.a=211134 ORDER BY t1.rowid1135 }1136} {21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}1137do_test boundary3-2.6.ge.4 {1138 db eval {1139 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r1140 WHERE t2.a=211141 ORDER BY t1.rowid DESC1142 }1143} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21}1144do_test boundary3-2.6.ge.5 {1145 db eval {1146 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid >= t2.r1147 WHERE t2.a=211148 ORDER BY x1149 }1150} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}1151do_test boundary3-2.6.lt.1 {1152 db eval {1153 SELECT t2.a FROM t1 JOIN t2 USING(a)1154 WHERE t1.rowid < -140737488355329 ORDER BY t2.a1155 }1156} {2 55 64}1157do_test boundary3-2.6.lt.2 {1158 db eval {1159 SELECT t2.a FROM t2 NATURAL JOIN t11160 WHERE t1.rowid < -140737488355329 ORDER BY t1.a DESC1161 }1162} {64 55 2}1163do_test boundary3-2.6.lt.3 {1164 db eval {1165 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r1166 WHERE t2.a=211167 ORDER BY t1.rowid1168 }1169} {55 2 64}1170do_test boundary3-2.6.lt.4 {1171 db eval {1172 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r1173 WHERE t2.a=211174 ORDER BY t1.rowid DESC1175 }1176} {64 2 55}1177do_test boundary3-2.6.lt.5 {1178 db eval {1179 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid < t2.r1180 WHERE t2.a=211181 ORDER BY x1182 }1183} {55 2 64}1184do_test boundary3-2.6.le.1 {1185 db eval {1186 SELECT t2.a FROM t1 JOIN t2 USING(a)1187 WHERE t1.rowid <= -140737488355329 ORDER BY t2.a1188 }1189} {2 21 55 64}1190do_test boundary3-2.6.le.2 {1191 db eval {1192 SELECT t2.a FROM t2 NATURAL JOIN t11193 WHERE t1.rowid <= -140737488355329 ORDER BY t1.a DESC1194 }1195} {64 55 21 2}1196do_test boundary3-2.6.le.3 {1197 db eval {1198 SELECT t1.a FROM t1 JOIN t2 ON t1.rowid <= t2.r1199 WHERE t2.a=211200 ORDER BY t1.rowid