mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
Correctly store large integers. Ticket #1212. (CVS 2445)
FossilOrigin-Name: 00e20690bb8cc6522c9c48f36f0c3336ae007827
This commit is contained in:
399
test/misc5.test
399
test/misc5.test
@ -13,7 +13,7 @@
|
||||
# This file implements tests for miscellanous features that were
|
||||
# left out of other test files.
|
||||
#
|
||||
# $Id: misc5.test,v 1.1 2005/03/17 03:15:40 drh Exp $
|
||||
# $Id: misc5.test,v 1.2 2005/04/15 12:04:34 drh Exp $
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
@ -41,4 +41,401 @@ for {set i 120} {$i<140} {incr i} {
|
||||
} {}
|
||||
}
|
||||
|
||||
# Make sure large integers are stored correctly.
|
||||
#
|
||||
do_test misc5-2.1 {
|
||||
execsql {
|
||||
create table t2(x unique);
|
||||
insert into t2 values(1);
|
||||
insert or ignore into t2 select x*2 from t2;
|
||||
insert or ignore into t2 select x*4 from t2;
|
||||
insert or ignore into t2 select x*16 from t2;
|
||||
insert or ignore into t2 select x*256 from t2;
|
||||
insert or ignore into t2 select x*65536 from t2;
|
||||
insert or ignore into t2 select x*2147483648 from t2;
|
||||
insert or ignore into t2 select x-1 from t2;
|
||||
insert or ignore into t2 select x+1 from t2;
|
||||
insert or ignore into t2 select -x from t2;
|
||||
select count(*) from t2;
|
||||
}
|
||||
} 371
|
||||
do_test misc5-2.2 {
|
||||
execsql {
|
||||
select x from t2 order by x;
|
||||
}
|
||||
} \
|
||||
"-4611686018427387905\
|
||||
-4611686018427387904\
|
||||
-4611686018427387903\
|
||||
-2305843009213693953\
|
||||
-2305843009213693952\
|
||||
-2305843009213693951\
|
||||
-1152921504606846977\
|
||||
-1152921504606846976\
|
||||
-1152921504606846975\
|
||||
-576460752303423489\
|
||||
-576460752303423488\
|
||||
-576460752303423487\
|
||||
-288230376151711745\
|
||||
-288230376151711744\
|
||||
-288230376151711743\
|
||||
-144115188075855873\
|
||||
-144115188075855872\
|
||||
-144115188075855871\
|
||||
-72057594037927937\
|
||||
-72057594037927936\
|
||||
-72057594037927935\
|
||||
-36028797018963969\
|
||||
-36028797018963968\
|
||||
-36028797018963967\
|
||||
-18014398509481985\
|
||||
-18014398509481984\
|
||||
-18014398509481983\
|
||||
-9007199254740993\
|
||||
-9007199254740992\
|
||||
-9007199254740991\
|
||||
-4503599627370497\
|
||||
-4503599627370496\
|
||||
-4503599627370495\
|
||||
-2251799813685249\
|
||||
-2251799813685248\
|
||||
-2251799813685247\
|
||||
-1125899906842625\
|
||||
-1125899906842624\
|
||||
-1125899906842623\
|
||||
-562949953421313\
|
||||
-562949953421312\
|
||||
-562949953421311\
|
||||
-281474976710657\
|
||||
-281474976710656\
|
||||
-281474976710655\
|
||||
-140737488355329\
|
||||
-140737488355328\
|
||||
-140737488355327\
|
||||
-70368744177665\
|
||||
-70368744177664\
|
||||
-70368744177663\
|
||||
-35184372088833\
|
||||
-35184372088832\
|
||||
-35184372088831\
|
||||
-17592186044417\
|
||||
-17592186044416\
|
||||
-17592186044415\
|
||||
-8796093022209\
|
||||
-8796093022208\
|
||||
-8796093022207\
|
||||
-4398046511105\
|
||||
-4398046511104\
|
||||
-4398046511103\
|
||||
-2199023255553\
|
||||
-2199023255552\
|
||||
-2199023255551\
|
||||
-1099511627777\
|
||||
-1099511627776\
|
||||
-1099511627775\
|
||||
-549755813889\
|
||||
-549755813888\
|
||||
-549755813887\
|
||||
-274877906945\
|
||||
-274877906944\
|
||||
-274877906943\
|
||||
-137438953473\
|
||||
-137438953472\
|
||||
-137438953471\
|
||||
-68719476737\
|
||||
-68719476736\
|
||||
-68719476735\
|
||||
-34359738369\
|
||||
-34359738368\
|
||||
-34359738367\
|
||||
-17179869185\
|
||||
-17179869184\
|
||||
-17179869183\
|
||||
-8589934593\
|
||||
-8589934592\
|
||||
-8589934591\
|
||||
-4294967297\
|
||||
-4294967296\
|
||||
-4294967295\
|
||||
-2147483649\
|
||||
-2147483648\
|
||||
-2147483647\
|
||||
-1073741825\
|
||||
-1073741824\
|
||||
-1073741823\
|
||||
-536870913\
|
||||
-536870912\
|
||||
-536870911\
|
||||
-268435457\
|
||||
-268435456\
|
||||
-268435455\
|
||||
-134217729\
|
||||
-134217728\
|
||||
-134217727\
|
||||
-67108865\
|
||||
-67108864\
|
||||
-67108863\
|
||||
-33554433\
|
||||
-33554432\
|
||||
-33554431\
|
||||
-16777217\
|
||||
-16777216\
|
||||
-16777215\
|
||||
-8388609\
|
||||
-8388608\
|
||||
-8388607\
|
||||
-4194305\
|
||||
-4194304\
|
||||
-4194303\
|
||||
-2097153\
|
||||
-2097152\
|
||||
-2097151\
|
||||
-1048577\
|
||||
-1048576\
|
||||
-1048575\
|
||||
-524289\
|
||||
-524288\
|
||||
-524287\
|
||||
-262145\
|
||||
-262144\
|
||||
-262143\
|
||||
-131073\
|
||||
-131072\
|
||||
-131071\
|
||||
-65537\
|
||||
-65536\
|
||||
-65535\
|
||||
-32769\
|
||||
-32768\
|
||||
-32767\
|
||||
-16385\
|
||||
-16384\
|
||||
-16383\
|
||||
-8193\
|
||||
-8192\
|
||||
-8191\
|
||||
-4097\
|
||||
-4096\
|
||||
-4095\
|
||||
-2049\
|
||||
-2048\
|
||||
-2047\
|
||||
-1025\
|
||||
-1024\
|
||||
-1023\
|
||||
-513\
|
||||
-512\
|
||||
-511\
|
||||
-257\
|
||||
-256\
|
||||
-255\
|
||||
-129\
|
||||
-128\
|
||||
-127\
|
||||
-65\
|
||||
-64\
|
||||
-63\
|
||||
-33\
|
||||
-32\
|
||||
-31\
|
||||
-17\
|
||||
-16\
|
||||
-15\
|
||||
-9\
|
||||
-8\
|
||||
-7\
|
||||
-5\
|
||||
-4\
|
||||
-3\
|
||||
-2\
|
||||
-1\
|
||||
0\
|
||||
1\
|
||||
2\
|
||||
3\
|
||||
4\
|
||||
5\
|
||||
7\
|
||||
8\
|
||||
9\
|
||||
15\
|
||||
16\
|
||||
17\
|
||||
31\
|
||||
32\
|
||||
33\
|
||||
63\
|
||||
64\
|
||||
65\
|
||||
127\
|
||||
128\
|
||||
129\
|
||||
255\
|
||||
256\
|
||||
257\
|
||||
511\
|
||||
512\
|
||||
513\
|
||||
1023\
|
||||
1024\
|
||||
1025\
|
||||
2047\
|
||||
2048\
|
||||
2049\
|
||||
4095\
|
||||
4096\
|
||||
4097\
|
||||
8191\
|
||||
8192\
|
||||
8193\
|
||||
16383\
|
||||
16384\
|
||||
16385\
|
||||
32767\
|
||||
32768\
|
||||
32769\
|
||||
65535\
|
||||
65536\
|
||||
65537\
|
||||
131071\
|
||||
131072\
|
||||
131073\
|
||||
262143\
|
||||
262144\
|
||||
262145\
|
||||
524287\
|
||||
524288\
|
||||
524289\
|
||||
1048575\
|
||||
1048576\
|
||||
1048577\
|
||||
2097151\
|
||||
2097152\
|
||||
2097153\
|
||||
4194303\
|
||||
4194304\
|
||||
4194305\
|
||||
8388607\
|
||||
8388608\
|
||||
8388609\
|
||||
16777215\
|
||||
16777216\
|
||||
16777217\
|
||||
33554431\
|
||||
33554432\
|
||||
33554433\
|
||||
67108863\
|
||||
67108864\
|
||||
67108865\
|
||||
134217727\
|
||||
134217728\
|
||||
134217729\
|
||||
268435455\
|
||||
268435456\
|
||||
268435457\
|
||||
536870911\
|
||||
536870912\
|
||||
536870913\
|
||||
1073741823\
|
||||
1073741824\
|
||||
1073741825\
|
||||
2147483647\
|
||||
2147483648\
|
||||
2147483649\
|
||||
4294967295\
|
||||
4294967296\
|
||||
4294967297\
|
||||
8589934591\
|
||||
8589934592\
|
||||
8589934593\
|
||||
17179869183\
|
||||
17179869184\
|
||||
17179869185\
|
||||
34359738367\
|
||||
34359738368\
|
||||
34359738369\
|
||||
68719476735\
|
||||
68719476736\
|
||||
68719476737\
|
||||
137438953471\
|
||||
137438953472\
|
||||
137438953473\
|
||||
274877906943\
|
||||
274877906944\
|
||||
274877906945\
|
||||
549755813887\
|
||||
549755813888\
|
||||
549755813889\
|
||||
1099511627775\
|
||||
1099511627776\
|
||||
1099511627777\
|
||||
2199023255551\
|
||||
2199023255552\
|
||||
2199023255553\
|
||||
4398046511103\
|
||||
4398046511104\
|
||||
4398046511105\
|
||||
8796093022207\
|
||||
8796093022208\
|
||||
8796093022209\
|
||||
17592186044415\
|
||||
17592186044416\
|
||||
17592186044417\
|
||||
35184372088831\
|
||||
35184372088832\
|
||||
35184372088833\
|
||||
70368744177663\
|
||||
70368744177664\
|
||||
70368744177665\
|
||||
140737488355327\
|
||||
140737488355328\
|
||||
140737488355329\
|
||||
281474976710655\
|
||||
281474976710656\
|
||||
281474976710657\
|
||||
562949953421311\
|
||||
562949953421312\
|
||||
562949953421313\
|
||||
1125899906842623\
|
||||
1125899906842624\
|
||||
1125899906842625\
|
||||
2251799813685247\
|
||||
2251799813685248\
|
||||
2251799813685249\
|
||||
4503599627370495\
|
||||
4503599627370496\
|
||||
4503599627370497\
|
||||
9007199254740991\
|
||||
9007199254740992\
|
||||
9007199254740993\
|
||||
18014398509481983\
|
||||
18014398509481984\
|
||||
18014398509481985\
|
||||
36028797018963967\
|
||||
36028797018963968\
|
||||
36028797018963969\
|
||||
72057594037927935\
|
||||
72057594037927936\
|
||||
72057594037927937\
|
||||
144115188075855871\
|
||||
144115188075855872\
|
||||
144115188075855873\
|
||||
288230376151711743\
|
||||
288230376151711744\
|
||||
288230376151711745\
|
||||
576460752303423487\
|
||||
576460752303423488\
|
||||
576460752303423489\
|
||||
1152921504606846975\
|
||||
1152921504606846976\
|
||||
1152921504606846977\
|
||||
2305843009213693951\
|
||||
2305843009213693952\
|
||||
2305843009213693953\
|
||||
4611686018427387903\
|
||||
4611686018427387904\
|
||||
4611686018427387905"
|
||||
|
||||
|
||||
|
||||
finish_test
|
||||
|
Reference in New Issue
Block a user