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: boundary1.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 boundary1-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 boundary1-1.2 {96 db eval {97 SELECT count(*) FROM t198 }99} {64}100do_test boundary1-2.1.1 {101 db eval {102 SELECT * FROM t1 WHERE rowid=72057594037927935103 }104} {17 00ffffffffffffff}105do_test boundary1-2.1.2 {106 db eval {107 SELECT rowid, a FROM t1 WHERE x='00ffffffffffffff'108 }109} {72057594037927935 17}110do_test boundary1-2.1.3 {111 db eval {112 SELECT rowid, x FROM t1 WHERE a=17113 }114} {72057594037927935 00ffffffffffffff}115do_test boundary1-2.1.gt.1 {116 db eval {117 SELECT a FROM t1 WHERE rowid > 72057594037927935 ORDER BY a118 }119} {3 28}120do_test boundary1-2.1.gt.2 {121 db eval {122 SELECT a FROM t1 WHERE rowid > 72057594037927935 ORDER BY a DESC123 }124} {28 3}125do_test boundary1-2.1.gt.3 {126 db eval {127 SELECT a FROM t1 WHERE rowid > 72057594037927935 ORDER BY rowid128 }129} {28 3}130do_test boundary1-2.1.gt.4 {131 db eval {132 SELECT a FROM t1 WHERE rowid > 72057594037927935 ORDER BY rowid DESC133 }134} {3 28}135do_test boundary1-2.1.gt.5 {136 db eval {137 SELECT a FROM t1 WHERE rowid > 72057594037927935 ORDER BY x138 }139} {28 3}140do_test boundary1-2.1.ge.1 {141 db eval {142 SELECT a FROM t1 WHERE rowid >= 72057594037927935 ORDER BY a143 }144} {3 17 28}145do_test boundary1-2.1.ge.2 {146 db eval {147 SELECT a FROM t1 WHERE rowid >= 72057594037927935 ORDER BY a DESC148 }149} {28 17 3}150do_test boundary1-2.1.ge.3 {151 db eval {152 SELECT a FROM t1 WHERE rowid >= 72057594037927935 ORDER BY rowid153 }154} {17 28 3}155do_test boundary1-2.1.ge.4 {156 db eval {157 SELECT a FROM t1 WHERE rowid >= 72057594037927935 ORDER BY rowid DESC158 }159} {3 28 17}160do_test boundary1-2.1.ge.5 {161 db eval {162 SELECT a FROM t1 WHERE rowid >= 72057594037927935 ORDER BY x163 }164} {17 28 3}165do_test boundary1-2.1.lt.1 {166 db eval {167 SELECT a FROM t1 WHERE rowid < 72057594037927935 ORDER BY a168 }169} {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}170do_test boundary1-2.1.lt.2 {171 db eval {172 SELECT a FROM t1 WHERE rowid < 72057594037927935 ORDER BY a DESC173 }174} {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}175do_test boundary1-2.1.lt.3 {176 db eval {177 SELECT a FROM t1 WHERE rowid < 72057594037927935 ORDER BY rowid178 }179} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45}180do_test boundary1-2.1.lt.4 {181 db eval {182 SELECT a FROM t1 WHERE rowid < 72057594037927935 ORDER BY rowid DESC183 }184} {45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}185do_test boundary1-2.1.lt.5 {186 db eval {187 SELECT a FROM t1 WHERE rowid < 72057594037927935 ORDER BY x188 }189} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 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}190do_test boundary1-2.1.le.1 {191 db eval {192 SELECT a FROM t1 WHERE rowid <= 72057594037927935 ORDER BY a193 }194} {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}195do_test boundary1-2.1.le.2 {196 db eval {197 SELECT a FROM t1 WHERE rowid <= 72057594037927935 ORDER BY a DESC198 }199} {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}200do_test boundary1-2.1.le.3 {201 db eval {202 SELECT a FROM t1 WHERE rowid <= 72057594037927935 ORDER BY rowid203 }204} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17}205do_test boundary1-2.1.le.4 {206 db eval {207 SELECT a FROM t1 WHERE rowid <= 72057594037927935 ORDER BY rowid DESC208 }209} {17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}210do_test boundary1-2.1.le.5 {211 db eval {212 SELECT a FROM t1 WHERE rowid <= 72057594037927935 ORDER BY x213 }214} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 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}215do_test boundary1-2.2.1 {216 db eval {217 SELECT * FROM t1 WHERE rowid=16384218 }219} {16 0000000000004000}220do_test boundary1-2.2.2 {221 db eval {222 SELECT rowid, a FROM t1 WHERE x='0000000000004000'223 }224} {16384 16}225do_test boundary1-2.2.3 {226 db eval {227 SELECT rowid, x FROM t1 WHERE a=16228 }229} {16384 0000000000004000}230do_test boundary1-2.2.gt.1 {231 db eval {232 SELECT a FROM t1 WHERE rowid > 16384 ORDER BY a233 }234} {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}235do_test boundary1-2.2.gt.2 {236 db eval {237 SELECT a FROM t1 WHERE rowid > 16384 ORDER BY a DESC238 }239} {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}240do_test boundary1-2.2.gt.3 {241 db eval {242 SELECT a FROM t1 WHERE rowid > 16384 ORDER BY rowid243 }244} {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}245do_test boundary1-2.2.gt.4 {246 db eval {247 SELECT a FROM t1 WHERE rowid > 16384 ORDER BY rowid DESC248 }249} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23}250do_test boundary1-2.2.gt.5 {251 db eval {252 SELECT a FROM t1 WHERE rowid > 16384 ORDER BY x253 }254} {23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}255do_test boundary1-2.2.ge.1 {256 db eval {257 SELECT a FROM t1 WHERE rowid >= 16384 ORDER BY a258 }259} {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}260do_test boundary1-2.2.ge.2 {261 db eval {262 SELECT a FROM t1 WHERE rowid >= 16384 ORDER BY a DESC263 }264} {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}265do_test boundary1-2.2.ge.3 {266 db eval {267 SELECT a FROM t1 WHERE rowid >= 16384 ORDER BY rowid268 }269} {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}270do_test boundary1-2.2.ge.4 {271 db eval {272 SELECT a FROM t1 WHERE rowid >= 16384 ORDER BY rowid DESC273 }274} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16}275do_test boundary1-2.2.ge.5 {276 db eval {277 SELECT a FROM t1 WHERE rowid >= 16384 ORDER BY x278 }279} {16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}280do_test boundary1-2.2.lt.1 {281 db eval {282 SELECT a FROM t1 WHERE rowid < 16384 ORDER BY a283 }284} {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}285do_test boundary1-2.2.lt.2 {286 db eval {287 SELECT a FROM t1 WHERE rowid < 16384 ORDER BY a DESC288 }289} {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}290do_test boundary1-2.2.lt.3 {291 db eval {292 SELECT a FROM t1 WHERE rowid < 16384 ORDER BY rowid293 }294} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8}295do_test boundary1-2.2.lt.4 {296 db eval {297 SELECT a FROM t1 WHERE rowid < 16384 ORDER BY rowid DESC298 }299} {8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}300do_test boundary1-2.2.lt.5 {301 db eval {302 SELECT a FROM t1 WHERE rowid < 16384 ORDER BY x303 }304} {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}305do_test boundary1-2.2.le.1 {306 db eval {307 SELECT a FROM t1 WHERE rowid <= 16384 ORDER BY a308 }309} {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}310do_test boundary1-2.2.le.2 {311 db eval {312 SELECT a FROM t1 WHERE rowid <= 16384 ORDER BY a DESC313 }314} {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}315do_test boundary1-2.2.le.3 {316 db eval {317 SELECT a FROM t1 WHERE rowid <= 16384 ORDER BY rowid318 }319} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16}320do_test boundary1-2.2.le.4 {321 db eval {322 SELECT a FROM t1 WHERE rowid <= 16384 ORDER BY rowid DESC323 }324} {16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}325do_test boundary1-2.2.le.5 {326 db eval {327 SELECT a FROM t1 WHERE rowid <= 16384 ORDER BY x328 }329} {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}330do_test boundary1-2.3.1 {331 db eval {332 SELECT * FROM t1 WHERE rowid=4294967296333 }334} {36 0000000100000000}335do_test boundary1-2.3.2 {336 db eval {337 SELECT rowid, a FROM t1 WHERE x='0000000100000000'338 }339} {4294967296 36}340do_test boundary1-2.3.3 {341 db eval {342 SELECT rowid, x FROM t1 WHERE a=36343 }344} {4294967296 0000000100000000}345do_test boundary1-2.3.gt.1 {346 db eval {347 SELECT a FROM t1 WHERE rowid > 4294967296 ORDER BY a348 }349} {3 7 10 13 17 19 22 25 26 27 28 34 35 39 43 45 46 56 57}350do_test boundary1-2.3.gt.2 {351 db eval {352 SELECT a FROM t1 WHERE rowid > 4294967296 ORDER BY a DESC353 }354} {57 56 46 45 43 39 35 34 28 27 26 25 22 19 17 13 10 7 3}355do_test boundary1-2.3.gt.3 {356 db eval {357 SELECT a FROM t1 WHERE rowid > 4294967296 ORDER BY rowid358 }359} {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}360do_test boundary1-2.3.gt.4 {361 db eval {362 SELECT a FROM t1 WHERE rowid > 4294967296 ORDER BY rowid DESC363 }364} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39}365do_test boundary1-2.3.gt.5 {366 db eval {367 SELECT a FROM t1 WHERE rowid > 4294967296 ORDER BY x368 }369} {39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}370do_test boundary1-2.3.ge.1 {371 db eval {372 SELECT a FROM t1 WHERE rowid >= 4294967296 ORDER BY a373 }374} {3 7 10 13 17 19 22 25 26 27 28 34 35 36 39 43 45 46 56 57}375do_test boundary1-2.3.ge.2 {376 db eval {377 SELECT a FROM t1 WHERE rowid >= 4294967296 ORDER BY a DESC378 }379} {57 56 46 45 43 39 36 35 34 28 27 26 25 22 19 17 13 10 7 3}380do_test boundary1-2.3.ge.3 {381 db eval {382 SELECT a FROM t1 WHERE rowid >= 4294967296 ORDER BY rowid383 }384} {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}385do_test boundary1-2.3.ge.4 {386 db eval {387 SELECT a FROM t1 WHERE rowid >= 4294967296 ORDER BY rowid DESC388 }389} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36}390do_test boundary1-2.3.ge.5 {391 db eval {392 SELECT a FROM t1 WHERE rowid >= 4294967296 ORDER BY x393 }394} {36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}395do_test boundary1-2.3.lt.1 {396 db eval {397 SELECT a FROM t1 WHERE rowid < 4294967296 ORDER BY a398 }399} {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}400do_test boundary1-2.3.lt.2 {401 db eval {402 SELECT a FROM t1 WHERE rowid < 4294967296 ORDER BY a DESC403 }404} {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}405do_test boundary1-2.3.lt.3 {406 db eval {407 SELECT a FROM t1 WHERE rowid < 4294967296 ORDER BY rowid408 }409} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14}410do_test boundary1-2.3.lt.4 {411 db eval {412 SELECT a FROM t1 WHERE rowid < 4294967296 ORDER BY rowid DESC413 }414} {14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}415do_test boundary1-2.3.lt.5 {416 db eval {417 SELECT a FROM t1 WHERE rowid < 4294967296 ORDER BY x418 }419} {59 60 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}420do_test boundary1-2.3.le.1 {421 db eval {422 SELECT a FROM t1 WHERE rowid <= 4294967296 ORDER BY a423 }424} {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}425do_test boundary1-2.3.le.2 {426 db eval {427 SELECT a FROM t1 WHERE rowid <= 4294967296 ORDER BY a DESC428 }429} {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}430do_test boundary1-2.3.le.3 {431 db eval {432 SELECT a FROM t1 WHERE rowid <= 4294967296 ORDER BY rowid433 }434} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36}435do_test boundary1-2.3.le.4 {436 db eval {437 SELECT a FROM t1 WHERE rowid <= 4294967296 ORDER BY rowid DESC438 }439} {36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 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 boundary1-2.3.le.5 {441 db eval {442 SELECT a FROM t1 WHERE rowid <= 4294967296 ORDER BY x443 }444} {59 60 41 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}445do_test boundary1-2.4.1 {446 db eval {447 SELECT * FROM t1 WHERE rowid=16777216448 }449} {6 0000000001000000}450do_test boundary1-2.4.2 {451 db eval {452 SELECT rowid, a FROM t1 WHERE x='0000000001000000'453 }454} {16777216 6}455do_test boundary1-2.4.3 {456 db eval {457 SELECT rowid, x FROM t1 WHERE a=6458 }459} {16777216 0000000001000000}460do_test boundary1-2.4.gt.1 {461 db eval {462 SELECT a FROM t1 WHERE rowid > 16777216 ORDER BY a463 }464} {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}465do_test boundary1-2.4.gt.2 {466 db eval {467 SELECT a FROM t1 WHERE rowid > 16777216 ORDER BY a DESC468 }469} {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}470do_test boundary1-2.4.gt.3 {471 db eval {472 SELECT a FROM t1 WHERE rowid > 16777216 ORDER BY rowid473 }474} {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}475do_test boundary1-2.4.gt.4 {476 db eval {477 SELECT a FROM t1 WHERE rowid > 16777216 ORDER BY rowid DESC478 }479} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12}480do_test boundary1-2.4.gt.5 {481 db eval {482 SELECT a FROM t1 WHERE rowid > 16777216 ORDER BY x483 }484} {12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}485do_test boundary1-2.4.ge.1 {486 db eval {487 SELECT a FROM t1 WHERE rowid >= 16777216 ORDER BY a488 }489} {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}490do_test boundary1-2.4.ge.2 {491 db eval {492 SELECT a FROM t1 WHERE rowid >= 16777216 ORDER BY a DESC493 }494} {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}495do_test boundary1-2.4.ge.3 {496 db eval {497 SELECT a FROM t1 WHERE rowid >= 16777216 ORDER BY rowid498 }499} {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}500do_test boundary1-2.4.ge.4 {501 db eval {502 SELECT a FROM t1 WHERE rowid >= 16777216 ORDER BY rowid DESC503 }504} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6}505do_test boundary1-2.4.ge.5 {506 db eval {507 SELECT a FROM t1 WHERE rowid >= 16777216 ORDER BY x508 }509} {6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}510do_test boundary1-2.4.lt.1 {511 db eval {512 SELECT a FROM t1 WHERE rowid < 16777216 ORDER BY a513 }514} {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}515do_test boundary1-2.4.lt.2 {516 db eval {517 SELECT a FROM t1 WHERE rowid < 16777216 ORDER BY a DESC518 }519} {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}520do_test boundary1-2.4.lt.3 {521 db eval {522 SELECT a FROM t1 WHERE rowid < 16777216 ORDER BY rowid523 }524} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9}525do_test boundary1-2.4.lt.4 {526 db eval {527 SELECT a FROM t1 WHERE rowid < 16777216 ORDER BY rowid DESC528 }529} {9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}530do_test boundary1-2.4.lt.5 {531 db eval {532 SELECT a FROM t1 WHERE rowid < 16777216 ORDER BY x533 }534} {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}535do_test boundary1-2.4.le.1 {536 db eval {537 SELECT a FROM t1 WHERE rowid <= 16777216 ORDER BY a538 }539} {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}540do_test boundary1-2.4.le.2 {541 db eval {542 SELECT a FROM t1 WHERE rowid <= 16777216 ORDER BY a DESC543 }544} {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}545do_test boundary1-2.4.le.3 {546 db eval {547 SELECT a FROM t1 WHERE rowid <= 16777216 ORDER BY rowid548 }549} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6}550do_test boundary1-2.4.le.4 {551 db eval {552 SELECT a FROM t1 WHERE rowid <= 16777216 ORDER BY rowid DESC553 }554} {6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}555do_test boundary1-2.4.le.5 {556 db eval {557 SELECT a FROM t1 WHERE rowid <= 16777216 ORDER BY x558 }559} {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}560do_test boundary1-2.5.1 {561 db eval {562 SELECT * FROM t1 WHERE rowid=-32769563 }564} {29 ffffffffffff7fff}565do_test boundary1-2.5.2 {566 db eval {567 SELECT rowid, a FROM t1 WHERE x='ffffffffffff7fff'568 }569} {-32769 29}570do_test boundary1-2.5.3 {571 db eval {572 SELECT rowid, x FROM t1 WHERE a=29573 }574} {-32769 ffffffffffff7fff}575do_test boundary1-2.5.gt.1 {576 db eval {577 SELECT a FROM t1 WHERE rowid > -32769 ORDER BY a578 }579} {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}580do_test boundary1-2.5.gt.2 {581 db eval {582 SELECT a FROM t1 WHERE rowid > -32769 ORDER BY a DESC583 }584} {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}585do_test boundary1-2.5.gt.3 {586 db eval {587 SELECT a FROM t1 WHERE rowid > -32769 ORDER BY rowid588 }589} {32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}590do_test boundary1-2.5.gt.4 {591 db eval {592 SELECT a FROM t1 WHERE rowid > -32769 ORDER BY rowid DESC593 }594} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32}595do_test boundary1-2.5.gt.5 {596 db eval {597 SELECT a FROM t1 WHERE rowid > -32769 ORDER BY x598 }599} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 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}600do_test boundary1-2.5.ge.1 {601 db eval {602 SELECT a FROM t1 WHERE rowid >= -32769 ORDER BY a603 }604} {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}605do_test boundary1-2.5.ge.2 {606 db eval {607 SELECT a FROM t1 WHERE rowid >= -32769 ORDER BY a DESC608 }609} {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}610do_test boundary1-2.5.ge.3 {611 db eval {612 SELECT a FROM t1 WHERE rowid >= -32769 ORDER BY rowid613 }614} {29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}615do_test boundary1-2.5.ge.4 {616 db eval {617 SELECT a FROM t1 WHERE rowid >= -32769 ORDER BY rowid DESC618 }619} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29}620do_test boundary1-2.5.ge.5 {621 db eval {622 SELECT a FROM t1 WHERE rowid >= -32769 ORDER BY x623 }624} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 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}625do_test boundary1-2.5.lt.1 {626 db eval {627 SELECT a FROM t1 WHERE rowid < -32769 ORDER BY a628 }629} {1 2 11 21 37 44 47 55 58 63 64}630do_test boundary1-2.5.lt.2 {631 db eval {632 SELECT a FROM t1 WHERE rowid < -32769 ORDER BY a DESC633 }634} {64 63 58 55 47 44 37 21 11 2 1}635do_test boundary1-2.5.lt.3 {636 db eval {637 SELECT a FROM t1 WHERE rowid < -32769 ORDER BY rowid638 }639} {55 2 64 21 44 58 63 47 11 1 37}640do_test boundary1-2.5.lt.4 {641 db eval {642 SELECT a FROM t1 WHERE rowid < -32769 ORDER BY rowid DESC643 }644} {37 1 11 47 63 58 44 21 64 2 55}645do_test boundary1-2.5.lt.5 {646 db eval {647 SELECT a FROM t1 WHERE rowid < -32769 ORDER BY x648 }649} {55 2 64 21 44 58 63 47 11 1 37}650do_test boundary1-2.5.le.1 {651 db eval {652 SELECT a FROM t1 WHERE rowid <= -32769 ORDER BY a653 }654} {1 2 11 21 29 37 44 47 55 58 63 64}655do_test boundary1-2.5.le.2 {656 db eval {657 SELECT a FROM t1 WHERE rowid <= -32769 ORDER BY a DESC658 }659} {64 63 58 55 47 44 37 29 21 11 2 1}660do_test boundary1-2.5.le.3 {661 db eval {662 SELECT a FROM t1 WHERE rowid <= -32769 ORDER BY rowid663 }664} {55 2 64 21 44 58 63 47 11 1 37 29}665do_test boundary1-2.5.le.4 {666 db eval {667 SELECT a FROM t1 WHERE rowid <= -32769 ORDER BY rowid DESC668 }669} {29 37 1 11 47 63 58 44 21 64 2 55}670do_test boundary1-2.5.le.5 {671 db eval {672 SELECT a FROM t1 WHERE rowid <= -32769 ORDER BY x673 }674} {55 2 64 21 44 58 63 47 11 1 37 29}675do_test boundary1-2.6.1 {676 db eval {677 SELECT * FROM t1 WHERE rowid=-140737488355329678 }679} {21 ffff7fffffffffff}680do_test boundary1-2.6.2 {681 db eval {682 SELECT rowid, a FROM t1 WHERE x='ffff7fffffffffff'683 }684} {-140737488355329 21}685do_test boundary1-2.6.3 {686 db eval {687 SELECT rowid, x FROM t1 WHERE a=21688 }689} {-140737488355329 ffff7fffffffffff}690do_test boundary1-2.6.gt.1 {691 db eval {692 SELECT a FROM t1 WHERE rowid > -140737488355329 ORDER BY a693 }694} {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}695do_test boundary1-2.6.gt.2 {696 db eval {697 SELECT a FROM t1 WHERE rowid > -140737488355329 ORDER BY a DESC698 }699} {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}700do_test boundary1-2.6.gt.3 {701 db eval {702 SELECT a FROM t1 WHERE rowid > -140737488355329 ORDER BY rowid703 }704} {44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}705do_test boundary1-2.6.gt.4 {706 db eval {707 SELECT a FROM t1 WHERE rowid > -140737488355329 ORDER BY rowid DESC708 }709} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44}710do_test boundary1-2.6.gt.5 {711 db eval {712 SELECT a FROM t1 WHERE rowid > -140737488355329 ORDER BY x713 }714} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 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}715do_test boundary1-2.6.ge.1 {716 db eval {717 SELECT a FROM t1 WHERE rowid >= -140737488355329 ORDER BY a718 }719} {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}720do_test boundary1-2.6.ge.2 {721 db eval {722 SELECT a FROM t1 WHERE rowid >= -140737488355329 ORDER BY a DESC723 }724} {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}725do_test boundary1-2.6.ge.3 {726 db eval {727 SELECT a FROM t1 WHERE rowid >= -140737488355329 ORDER BY rowid728 }729} {21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}730do_test boundary1-2.6.ge.4 {731 db eval {732 SELECT a FROM t1 WHERE rowid >= -140737488355329 ORDER BY rowid DESC733 }734} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21}735do_test boundary1-2.6.ge.5 {736 db eval {737 SELECT a FROM t1 WHERE rowid >= -140737488355329 ORDER BY x738 }739} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 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}740do_test boundary1-2.6.lt.1 {741 db eval {742 SELECT a FROM t1 WHERE rowid < -140737488355329 ORDER BY a743 }744} {2 55 64}745do_test boundary1-2.6.lt.2 {746 db eval {747 SELECT a FROM t1 WHERE rowid < -140737488355329 ORDER BY a DESC748 }749} {64 55 2}750do_test boundary1-2.6.lt.3 {751 db eval {752 SELECT a FROM t1 WHERE rowid < -140737488355329 ORDER BY rowid753 }754} {55 2 64}755do_test boundary1-2.6.lt.4 {756 db eval {757 SELECT a FROM t1 WHERE rowid < -140737488355329 ORDER BY rowid DESC758 }759} {64 2 55}760do_test boundary1-2.6.lt.5 {761 db eval {762 SELECT a FROM t1 WHERE rowid < -140737488355329 ORDER BY x763 }764} {55 2 64}765do_test boundary1-2.6.le.1 {766 db eval {767 SELECT a FROM t1 WHERE rowid <= -140737488355329 ORDER BY a768 }769} {2 21 55 64}770do_test boundary1-2.6.le.2 {771 db eval {772 SELECT a FROM t1 WHERE rowid <= -140737488355329 ORDER BY a DESC773 }774} {64 55 21 2}775do_test boundary1-2.6.le.3 {776 db eval {777 SELECT a FROM t1 WHERE rowid <= -140737488355329 ORDER BY rowid778 }779} {55 2 64 21}780do_test boundary1-2.6.le.4 {781 db eval {782 SELECT a FROM t1 WHERE rowid <= -140737488355329 ORDER BY rowid DESC783 }784} {21 64 2 55}785do_test boundary1-2.6.le.5 {786 db eval {787 SELECT a FROM t1 WHERE rowid <= -140737488355329 ORDER BY x788 }789} {55 2 64 21}790do_test boundary1-2.7.1 {791 db eval {792 SELECT * FROM t1 WHERE rowid=2793 }794} {41 0000000000000002}795do_test boundary1-2.7.2 {796 db eval {797 SELECT rowid, a FROM t1 WHERE x='0000000000000002'798 }799} {2 41}800do_test boundary1-2.7.3 {801 db eval {802 SELECT rowid, x FROM t1 WHERE a=41803 }804} {2 0000000000000002}805do_test boundary1-2.7.gt.1 {806 db eval {807 SELECT a FROM t1 WHERE rowid > 2 ORDER BY a808 }809} {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}810do_test boundary1-2.7.gt.2 {811 db eval {812 SELECT a FROM t1 WHERE rowid > 2 ORDER BY a DESC813 }814} {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}815do_test boundary1-2.7.gt.3 {816 db eval {817 SELECT a FROM t1 WHERE rowid > 2 ORDER BY rowid818 }819} {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}820do_test boundary1-2.7.gt.4 {821 db eval {822 SELECT a FROM t1 WHERE rowid > 2 ORDER BY rowid DESC823 }824} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5}825do_test boundary1-2.7.gt.5 {826 db eval {827 SELECT a FROM t1 WHERE rowid > 2 ORDER BY x828 }829} {5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}830do_test boundary1-2.7.ge.1 {831 db eval {832 SELECT a FROM t1 WHERE rowid >= 2 ORDER BY a833 }834} {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}835do_test boundary1-2.7.ge.2 {836 db eval {837 SELECT a FROM t1 WHERE rowid >= 2 ORDER BY a DESC838 }839} {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}840do_test boundary1-2.7.ge.3 {841 db eval {842 SELECT a FROM t1 WHERE rowid >= 2 ORDER BY rowid843 }844} {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}845do_test boundary1-2.7.ge.4 {846 db eval {847 SELECT a FROM t1 WHERE rowid >= 2 ORDER BY rowid DESC848 }849} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41}850do_test boundary1-2.7.ge.5 {851 db eval {852 SELECT a FROM t1 WHERE rowid >= 2 ORDER BY x853 }854} {41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}855do_test boundary1-2.7.lt.1 {856 db eval {857 SELECT a FROM t1 WHERE rowid < 2 ORDER BY a858 }859} {1 2 11 21 29 32 33 37 38 44 47 52 53 54 55 58 59 60 63 64}860do_test boundary1-2.7.lt.2 {861 db eval {862 SELECT a FROM t1 WHERE rowid < 2 ORDER BY a DESC863 }864} {64 63 60 59 58 55 54 53 52 47 44 38 37 33 32 29 21 11 2 1}865do_test boundary1-2.7.lt.3 {866 db eval {867 SELECT a FROM t1 WHERE rowid < 2 ORDER BY rowid868 }869} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60}870do_test boundary1-2.7.lt.4 {871 db eval {872 SELECT a FROM t1 WHERE rowid < 2 ORDER BY rowid DESC873 }874} {60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}875do_test boundary1-2.7.lt.5 {876 db eval {877 SELECT a FROM t1 WHERE rowid < 2 ORDER BY x878 }879} {59 60 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}880do_test boundary1-2.7.le.1 {881 db eval {882 SELECT a FROM t1 WHERE rowid <= 2 ORDER BY a883 }884} {1 2 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}885do_test boundary1-2.7.le.2 {886 db eval {887 SELECT a FROM t1 WHERE rowid <= 2 ORDER BY a DESC888 }889} {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 2 1}890do_test boundary1-2.7.le.3 {891 db eval {892 SELECT a FROM t1 WHERE rowid <= 2 ORDER BY rowid893 }894} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41}895do_test boundary1-2.7.le.4 {896 db eval {897 SELECT a FROM t1 WHERE rowid <= 2 ORDER BY rowid DESC898 }899} {41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}900do_test boundary1-2.7.le.5 {901 db eval {902 SELECT a FROM t1 WHERE rowid <= 2 ORDER BY x903 }904} {59 60 41 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}905do_test boundary1-2.8.1 {906 db eval {907 SELECT * FROM t1 WHERE rowid=4908 }909} {31 0000000000000004}910do_test boundary1-2.8.2 {911 db eval {912 SELECT rowid, a FROM t1 WHERE x='0000000000000004'913 }914} {4 31}915do_test boundary1-2.8.3 {916 db eval {917 SELECT rowid, x FROM t1 WHERE a=31918 }919} {4 0000000000000004}920do_test boundary1-2.8.gt.1 {921 db eval {922 SELECT a FROM t1 WHERE rowid > 4 ORDER BY a923 }924} {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}925do_test boundary1-2.8.gt.2 {926 db eval {927 SELECT a FROM t1 WHERE rowid > 4 ORDER BY a DESC928 }929} {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}930do_test boundary1-2.8.gt.3 {931 db eval {932 SELECT a FROM t1 WHERE rowid > 4 ORDER BY rowid933 }934} {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}935do_test boundary1-2.8.gt.4 {936 db eval {937 SELECT a FROM t1 WHERE rowid > 4 ORDER BY rowid DESC938 }939} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4}940do_test boundary1-2.8.gt.5 {941 db eval {942 SELECT a FROM t1 WHERE rowid > 4 ORDER BY x943 }944} {4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}945do_test boundary1-2.8.ge.1 {946 db eval {947 SELECT a FROM t1 WHERE rowid >= 4 ORDER BY a948 }949} {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}950do_test boundary1-2.8.ge.2 {951 db eval {952 SELECT a FROM t1 WHERE rowid >= 4 ORDER BY a DESC953 }954} {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}955do_test boundary1-2.8.ge.3 {956 db eval {957 SELECT a FROM t1 WHERE rowid >= 4 ORDER BY rowid958 }959} {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}960do_test boundary1-2.8.ge.4 {961 db eval {962 SELECT a FROM t1 WHERE rowid >= 4 ORDER BY rowid DESC963 }964} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31}965do_test boundary1-2.8.ge.5 {966 db eval {967 SELECT a FROM t1 WHERE rowid >= 4 ORDER BY x968 }969} {31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}970do_test boundary1-2.8.lt.1 {971 db eval {972 SELECT a FROM t1 WHERE rowid < 4 ORDER BY a973 }974} {1 2 5 11 21 29 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}975do_test boundary1-2.8.lt.2 {976 db eval {977 SELECT a FROM t1 WHERE rowid < 4 ORDER BY a DESC978 }979} {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 29 21 11 5 2 1}980do_test boundary1-2.8.lt.3 {981 db eval {982 SELECT a FROM t1 WHERE rowid < 4 ORDER BY rowid983 }984} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5}985do_test boundary1-2.8.lt.4 {986 db eval {987 SELECT a FROM t1 WHERE rowid < 4 ORDER BY rowid DESC988 }989} {5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}990do_test boundary1-2.8.lt.5 {991 db eval {992 SELECT a FROM t1 WHERE rowid < 4 ORDER BY x993 }994} {59 60 41 5 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}995do_test boundary1-2.8.le.1 {996 db eval {997 SELECT a FROM t1 WHERE rowid <= 4 ORDER BY a998 }999} {1 2 5 11 21 29 31 32 33 37 38 41 44 47 52 53 54 55 58 59 60 63 64}1000do_test boundary1-2.8.le.2 {1001 db eval {1002 SELECT a FROM t1 WHERE rowid <= 4 ORDER BY a DESC1003 }1004} {64 63 60 59 58 55 54 53 52 47 44 41 38 37 33 32 31 29 21 11 5 2 1}1005do_test boundary1-2.8.le.3 {1006 db eval {1007 SELECT a FROM t1 WHERE rowid <= 4 ORDER BY rowid1008 }1009} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31}1010do_test boundary1-2.8.le.4 {1011 db eval {1012 SELECT a FROM t1 WHERE rowid <= 4 ORDER BY rowid DESC1013 }1014} {31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}1015do_test boundary1-2.8.le.5 {1016 db eval {1017 SELECT a FROM t1 WHERE rowid <= 4 ORDER BY x1018 }1019} {59 60 41 5 31 55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38}1020do_test boundary1-2.9.1 {1021 db eval {1022 SELECT * FROM t1 WHERE rowid=5629499534213111023 }1024} {13 0001ffffffffffff}1025do_test boundary1-2.9.2 {1026 db eval {1027 SELECT rowid, a FROM t1 WHERE x='0001ffffffffffff'1028 }1029} {562949953421311 13}1030do_test boundary1-2.9.3 {1031 db eval {1032 SELECT rowid, x FROM t1 WHERE a=131033 }1034} {562949953421311 0001ffffffffffff}1035do_test boundary1-2.9.gt.1 {1036 db eval {1037 SELECT a FROM t1 WHERE rowid > 562949953421311 ORDER BY a1038 }1039} {3 17 27 28 43 45}1040do_test boundary1-2.9.gt.2 {1041 db eval {1042 SELECT a FROM t1 WHERE rowid > 562949953421311 ORDER BY a DESC1043 }1044} {45 43 28 27 17 3}1045do_test boundary1-2.9.gt.3 {1046 db eval {1047 SELECT a FROM t1 WHERE rowid > 562949953421311 ORDER BY rowid1048 }1049} {43 27 45 17 28 3}1050do_test boundary1-2.9.gt.4 {1051 db eval {1052 SELECT a FROM t1 WHERE rowid > 562949953421311 ORDER BY rowid DESC1053 }1054} {3 28 17 45 27 43}1055do_test boundary1-2.9.gt.5 {1056 db eval {1057 SELECT a FROM t1 WHERE rowid > 562949953421311 ORDER BY x1058 }1059} {43 27 45 17 28 3}1060do_test boundary1-2.9.ge.1 {1061 db eval {1062 SELECT a FROM t1 WHERE rowid >= 562949953421311 ORDER BY a1063 }1064} {3 13 17 27 28 43 45}1065do_test boundary1-2.9.ge.2 {1066 db eval {1067 SELECT a FROM t1 WHERE rowid >= 562949953421311 ORDER BY a DESC1068 }1069} {45 43 28 27 17 13 3}1070do_test boundary1-2.9.ge.3 {1071 db eval {1072 SELECT a FROM t1 WHERE rowid >= 562949953421311 ORDER BY rowid1073 }1074} {13 43 27 45 17 28 3}1075do_test boundary1-2.9.ge.4 {1076 db eval {1077 SELECT a FROM t1 WHERE rowid >= 562949953421311 ORDER BY rowid DESC1078 }1079} {3 28 17 45 27 43 13}1080do_test boundary1-2.9.ge.5 {1081 db eval {1082 SELECT a FROM t1 WHERE rowid >= 562949953421311 ORDER BY x1083 }1084} {13 43 27 45 17 28 3}1085do_test boundary1-2.9.lt.1 {1086 db eval {1087 SELECT a FROM t1 WHERE rowid < 562949953421311 ORDER BY a1088 }1089} {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}1090do_test boundary1-2.9.lt.2 {1091 db eval {1092 SELECT a FROM t1 WHERE rowid < 562949953421311 ORDER BY a DESC1093 }1094} {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}1095do_test boundary1-2.9.lt.3 {1096 db eval {1097 SELECT a FROM t1 WHERE rowid < 562949953421311 ORDER BY rowid1098 }1099} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26}1100do_test boundary1-2.9.lt.4 {1101 db eval {1102 SELECT a FROM t1 WHERE rowid < 562949953421311 ORDER BY rowid DESC1103 }1104} {26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}1105do_test boundary1-2.9.lt.5 {1106 db eval {1107 SELECT a FROM t1 WHERE rowid < 562949953421311 ORDER BY x1108 }1109} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 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}1110do_test boundary1-2.9.le.1 {1111 db eval {1112 SELECT a FROM t1 WHERE rowid <= 562949953421311 ORDER BY a1113 }1114} {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}1115do_test boundary1-2.9.le.2 {1116 db eval {1117 SELECT a FROM t1 WHERE rowid <= 562949953421311 ORDER BY a DESC1118 }1119} {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}1120do_test boundary1-2.9.le.3 {1121 db eval {1122 SELECT a FROM t1 WHERE rowid <= 562949953421311 ORDER BY rowid1123 }1124} {55 2 64 21 44 58 63 47 11 1 37 29 32 54 53 52 33 38 59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13}1125do_test boundary1-2.9.le.4 {1126 db eval {1127 SELECT a FROM t1 WHERE rowid <= 562949953421311 ORDER BY rowid DESC1128 }1129} {13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61 30 49 4 31 5 41 60 59 38 33 52 53 54 32 29 37 1 11 47 63 58 44 21 64 2 55}1130do_test boundary1-2.9.le.5 {1131 db eval {1132 SELECT a FROM t1 WHERE rowid <= 562949953421311 ORDER BY x1133 }1134} {59 60 41 5 31 4 49 30 61 8 16 23 50 48 62 15 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}1135do_test boundary1-2.10.1 {1136 db eval {1137 SELECT * FROM t1 WHERE rowid=2561138 }1139} {61 0000000000000100}1140do_test boundary1-2.10.2 {1141 db eval {1142 SELECT rowid, a FROM t1 WHERE x='0000000000000100'1143 }1144} {256 61}1145do_test boundary1-2.10.3 {1146 db eval {1147 SELECT rowid, x FROM t1 WHERE a=611148 }1149} {256 0000000000000100}1150do_test boundary1-2.10.gt.1 {1151 db eval {1152 SELECT a FROM t1 WHERE rowid > 256 ORDER BY a1153 }1154} {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}1155do_test boundary1-2.10.gt.2 {1156 db eval {1157 SELECT a FROM t1 WHERE rowid > 256 ORDER BY a DESC1158 }1159} {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}1160do_test boundary1-2.10.gt.3 {1161 db eval {1162 SELECT a FROM t1 WHERE rowid > 256 ORDER BY rowid1163 }1164} {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}1165do_test boundary1-2.10.gt.4 {1166 db eval {1167 SELECT a FROM t1 WHERE rowid > 256 ORDER BY rowid DESC1168 }1169} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8}1170do_test boundary1-2.10.gt.5 {1171 db eval {1172 SELECT a FROM t1 WHERE rowid > 256 ORDER BY x1173 }1174} {8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}1175do_test boundary1-2.10.ge.1 {1176 db eval {1177 SELECT a FROM t1 WHERE rowid >= 256 ORDER BY a1178 }1179} {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}1180do_test boundary1-2.10.ge.2 {1181 db eval {1182 SELECT a FROM t1 WHERE rowid >= 256 ORDER BY a DESC1183 }1184} {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}1185do_test boundary1-2.10.ge.3 {1186 db eval {1187 SELECT a FROM t1 WHERE rowid >= 256 ORDER BY rowid1188 }1189} {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}1190do_test boundary1-2.10.ge.4 {1191 db eval {1192 SELECT a FROM t1 WHERE rowid >= 256 ORDER BY rowid DESC1193 }1194} {3 28 17 45 27 43 13 26 10 34 25 56 7 19 57 35 46 22 39 36 14 51 20 40 12 6 9 24 18 42 15 62 48 50 23 16 8 61}1195do_test boundary1-2.10.ge.5 {1196 db eval {1197 SELECT a FROM t1 WHERE rowid >= 256 ORDER BY x1198 }1199} {61 8 16 23 50 48 62 15 42 18 24 9 6 12 40 20 51 14 36 39 22 46 35 57 19 7 56 25 34 10 26 13 43 27 45 17 28 3}1200do_test boundary1-2.10.lt.1 {