From 8daefc2af05742f0c36ca7a992981283408a0c36 Mon Sep 17 00:00:00 2001 From: dan Date: Fri, 4 Apr 2014 07:52:44 +0000 Subject: [PATCH] Add test file sort3.test, which should have been part of commit [9d3351b8d7]. FossilOrigin-Name: dceed2c803fca23c83c02c448d5ae7c4698efee1 --- manifest | 13 +++++----- manifest.uuid | 2 +- test/sort3.test | 63 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 test/sort3.test diff --git a/manifest b/manifest index 51e948c44c..ba8d195a88 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Change\svdbeSorterExtendFile()\sso\sthat\sit\smakes\sa\sbest\seffort\sto\screate\sthe\nPMA\sfile\sof\sthe\sdesired\ssize,\sbut\sdoes\snot\sreturn\san\serror\sif\sunable. -D 2014-04-04T02:13:26.507 +C Add\stest\sfile\ssort3.test,\swhich\sshould\shave\sbeen\spart\sof\scommit\s[9d3351b8d7]. +D 2014-04-04T07:52:44.563 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in ad0921c4b2780d01868cf69b419a4f102308d125 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -819,6 +819,7 @@ F test/soak.test 0b5b6375c9f4110c828070b826b3b4b0bb65cd5f F test/softheap1.test 40562fe6cac6d9827b7b42b86d45aedf12c15e24 F test/sort.test 79dc647c4e9b123a64e57b7080b7f9a2df43f87a F test/sort2.test 21cd865e31adecdc8fc81c8d95431e629676a8d8 +F test/sort3.test c3f88d233452a129de519de311d109a0ad0da0af F test/speed1.test f2974a91d79f58507ada01864c0e323093065452 F test/speed1p.explain d841e650a04728b39e6740296b852dccdca9b2cb F test/speed1p.test b180e98609c7677382cf618c0ec9b69f789033a8 @@ -1161,7 +1162,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P a0910079adde95245680dee59b43613b60903f10 -R ae0d06309ee79fa9e2b8e2b495c941f2 -U drh -Z 2dc7a665c4d0ee5a145d17c4c35dd575 +P 217814bc4b53fab7bdad433e24e8aef8998c38fe +R 3decea650c26960f7b93e4d30e9eb4e6 +U dan +Z 1dd1e90c2d62e06b6853f5bd55d6e7b2 diff --git a/manifest.uuid b/manifest.uuid index c76da35986..b284b74278 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -217814bc4b53fab7bdad433e24e8aef8998c38fe \ No newline at end of file +dceed2c803fca23c83c02c448d5ae7c4698efee1 \ No newline at end of file diff --git a/test/sort3.test b/test/sort3.test new file mode 100644 index 0000000000..9963dcccd3 --- /dev/null +++ b/test/sort3.test @@ -0,0 +1,63 @@ +# 2014 March 25. +# +# The author disclaims copyright to this source code. In place of +# a legal notice, here is a blessing: +# +# May you do good and not evil. +# May you find forgiveness for yourself and forgive others. +# May you share freely, never taking more than you give. +# +#*********************************************************************** +# This file implements regression tests for SQLite library. +# + +set testdir [file dirname $argv0] +source $testdir/tester.tcl +set testprefix sort3 + +# Sort roughly 20MB of data. Once with a mmap limit of 5MB and once without. +# +foreach {itest limit} { + 1 5000000 + 2 0x7FFFFFFF +} { + sqlite3_test_control SQLITE_TESTCTRL_SORTER_MMAP db $limit + do_execsql_test 1.$itest { + WITH r(x,y) AS ( + SELECT 1, randomblob(1000) + UNION ALL + SELECT x+1, randomblob(1000) FROM r + LIMIT 20000 + ) + SELECT count(*), sum(length(y)) FROM r GROUP BY (x%5); + } { + 4000 4000000 + 4000 4000000 + 4000 4000000 + 4000 4000000 + 4000 4000000 + } +} + +# Sort more than 2GB of data. At one point this was causing a problem. +# This test might take one minute or more to run. +# +do_execsql_test 2 { + PRAGMA cache_size = 20000; + WITH r(x,y) AS ( + SELECT 1, randomblob(1000) + UNION ALL + SELECT x+1, randomblob(1000) FROM r + LIMIT 2200000 + ) + SELECT count(*), sum(length(y)) FROM r GROUP BY (x%5); +} { + 440000 440000000 + 440000 440000000 + 440000 440000000 + 440000 440000000 + 440000 440000000 +} + +finish_test +