Correctly store large integers. Ticket #1212. (CVS 2445)
FossilOrigin-Name: 00e20690bb8cc6522c9c48f36f0c3336ae007827
This commit is contained in:
parent
c7e22ee254
commit
b47d45ccbf
16
manifest
16
manifest
@ -1,5 +1,5 @@
|
|||||||
C Added\stests\sto\sexercise\sdelete,\sinsert,\sand\supdate\striggers\son\sviews\s(tkt\s#1169)\s(CVS\s2444)
|
C Correctly\s\sstore\slarge\sintegers.\s\sTicket\s#1212.\s(CVS\s2445)
|
||||||
D 2005-04-08T19:48:28
|
D 2005-04-15T12:04:34
|
||||||
F Makefile.in 5c00d0037104de2a50ac7647a5f12769795957a3
|
F Makefile.in 5c00d0037104de2a50ac7647a5f12769795957a3
|
||||||
F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
|
F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
|
||||||
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
||||||
@ -79,7 +79,7 @@ F src/vdbe.c d2574042c44baf6b1016c61e8072dec529ac748a
|
|||||||
F src/vdbe.h 7f586cb6d6b57764e5aac1f87107d6a95ddce24c
|
F src/vdbe.h 7f586cb6d6b57764e5aac1f87107d6a95ddce24c
|
||||||
F src/vdbeInt.h 4afaae2f4adcab54ad2a40dabb2e689fba7b1561
|
F src/vdbeInt.h 4afaae2f4adcab54ad2a40dabb2e689fba7b1561
|
||||||
F src/vdbeapi.c 467caa6e6fb9247528b1c7ab9132ae1b4748e8ac
|
F src/vdbeapi.c 467caa6e6fb9247528b1c7ab9132ae1b4748e8ac
|
||||||
F src/vdbeaux.c 3efd3cffad110508d1a32c6fa546982007f86e9f
|
F src/vdbeaux.c b4d9b9a9d87254a279a88e3f91d0db048071c856
|
||||||
F src/vdbemem.c 4e853ce3151eaf7906150da85a1b3ce1fe5e8da8
|
F src/vdbemem.c 4e853ce3151eaf7906150da85a1b3ce1fe5e8da8
|
||||||
F src/where.c c4b227458e8993decb515ed9a2fe2d4f5f8e3125
|
F src/where.c c4b227458e8993decb515ed9a2fe2d4f5f8e3125
|
||||||
F tclinstaller.tcl 046e3624671962dc50f0481d7c25b38ef803eb42
|
F tclinstaller.tcl 046e3624671962dc50f0481d7c25b38ef803eb42
|
||||||
@ -162,7 +162,7 @@ F test/misc1.test a4a36c19f05e4c8646efe7a0d7242ba645d07379
|
|||||||
F test/misc2.test d51379cc670b850827cd37b7fc07c0f17736004e
|
F test/misc2.test d51379cc670b850827cd37b7fc07c0f17736004e
|
||||||
F test/misc3.test 7bd937e2c62bcc6be71939faf068d506467b1e03
|
F test/misc3.test 7bd937e2c62bcc6be71939faf068d506467b1e03
|
||||||
F test/misc4.test edd3e3adf5b6e3b995b29843565ca58dd602f9a7
|
F test/misc4.test edd3e3adf5b6e3b995b29843565ca58dd602f9a7
|
||||||
F test/misc5.test 406d3f9523953a028307d076f2eb2687218cb46d
|
F test/misc5.test 5158e1be2c878af42b60f99d963001e4cae309fc
|
||||||
F test/misuse.test 1c7fee3c4c0cb4008717ecccf5c72281fac0008e
|
F test/misuse.test 1c7fee3c4c0cb4008717ecccf5c72281fac0008e
|
||||||
F test/notnull.test 7a08117a71e74b0321aaa937dbeb41a09d6eb1d0
|
F test/notnull.test 7a08117a71e74b0321aaa937dbeb41a09d6eb1d0
|
||||||
F test/null.test 69c62daf1630bf54c87bbc7ef2e22012e58d6da8
|
F test/null.test 69c62daf1630bf54c87bbc7ef2e22012e58d6da8
|
||||||
@ -278,7 +278,7 @@ F www/tclsqlite.tcl 425be741b8ae664f55cb1ef2371aab0a75109cf9
|
|||||||
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
||||||
F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
|
F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
|
||||||
F www/whentouse.tcl 528299b8316726dbcc5548e9aa0648c8b1bd055b
|
F www/whentouse.tcl 528299b8316726dbcc5548e9aa0648c8b1bd055b
|
||||||
P 99fcd5561b539010b7e76cad7815bb2350541f00
|
P 6cd19ddcba5fbea1be04b44699c911294618e948
|
||||||
R 054c025956c84db1eb39d1b4b642e446
|
R a7a67bb0e6e2a718d4c8bea2017ab2d0
|
||||||
U kwel
|
U drh
|
||||||
Z 31e4c308ce0684271311e37d6b50e03f
|
Z cea3468783cfb264aa646a98028d300b
|
||||||
|
@ -1 +1 @@
|
|||||||
6cd19ddcba5fbea1be04b44699c911294618e948
|
00e20690bb8cc6522c9c48f36f0c3336ae007827
|
@ -1605,7 +1605,7 @@ u32 sqlite3VdbeSerialType(Mem *pMem){
|
|||||||
}
|
}
|
||||||
if( flags&MEM_Int ){
|
if( flags&MEM_Int ){
|
||||||
/* Figure out whether to use 1, 2, 4, 6 or 8 bytes. */
|
/* Figure out whether to use 1, 2, 4, 6 or 8 bytes. */
|
||||||
# define MAX_6BYTE ((((i64)0x00010000)<<32)-1)
|
# define MAX_6BYTE ((((i64)0x00001000)<<32)-1)
|
||||||
i64 i = pMem->i;
|
i64 i = pMem->i;
|
||||||
u64 u = i<0 ? -i : i;
|
u64 u = i<0 ? -i : i;
|
||||||
if( u<=127 ) return 1;
|
if( u<=127 ) return 1;
|
||||||
|
399
test/misc5.test
399
test/misc5.test
@ -13,7 +13,7 @@
|
|||||||
# This file implements tests for miscellanous features that were
|
# This file implements tests for miscellanous features that were
|
||||||
# left out of other test files.
|
# 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]
|
set testdir [file dirname $argv0]
|
||||||
source $testdir/tester.tcl
|
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
|
finish_test
|
||||||
|
Loading…
x
Reference in New Issue
Block a user