OLD | NEW |
| (Empty) |
1 # 2014 November 26 | |
2 # | |
3 # The author disclaims copyright to this source code. In place of | |
4 # a legal notice, here is a blessing: | |
5 # | |
6 # May you do good and not evil. | |
7 # May you find forgiveness for yourself and forgive others. | |
8 # May you share freely, never taking more than you give. | |
9 # | |
10 #*********************************************************************** | |
11 # | |
12 | |
13 set testdir [file dirname $argv0] | |
14 source $testdir/tester.tcl | |
15 set testprefix bigsort | |
16 | |
17 #-------------------------------------------------------------------- | |
18 # At one point there was an overflow problem if the product of the | |
19 # cache-size and page-size was larger than 2^31. Causing an infinite | |
20 # loop if the product was also an integer multiple of 2^32, or | |
21 # inefficiency otherwise. | |
22 # | |
23 # This test causes thrashing on machines with smaller amounts of | |
24 # memory. Make sure the host has at least 8GB available before running | |
25 # this test. | |
26 # | |
27 if {[catch {exec free | grep Mem:} out] || [lindex $out 1]<8000000} { | |
28 finish_test | |
29 return | |
30 } | |
31 | |
32 do_execsql_test 1.0 { | |
33 PRAGMA page_size = 1024; | |
34 CREATE TABLE t1(a, b); | |
35 BEGIN; | |
36 WITH data(x,y) AS ( | |
37 SELECT 1, zeroblob(10000) | |
38 UNION ALL | |
39 SELECT x+1, y FROM data WHERE x < 300000 | |
40 ) | |
41 INSERT INTO t1 SELECT * FROM data; | |
42 COMMIT; | |
43 } | |
44 do_execsql_test 1.1 { | |
45 PRAGMA cache_size = 4194304; | |
46 CREATE INDEX i1 ON t1(a, b); | |
47 } | |
48 | |
49 | |
50 finish_test | |
OLD | NEW |