diff --git a/manifest b/manifest index a54f72d309..bf4f56af61 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sauth.test\sto\swork\swhen\sSQLITE_OMIT_ALTERTABLE\sis\sdefined.\s(CVS\s2130) -D 2004-11-22T03:34:21 +C Have\stests\spass\swhen\sSQLITE_OMIT_MEMORYDB\sis\sdefined.\s(CVS\s2131) +D 2004-11-22T05:26:27 F Makefile.in 8291610f5839939a5fbff4dbbf85adb0fe1ac37f F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457 F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1 @@ -29,7 +29,7 @@ F sqlite3.def dbaeb20c153e1d366e8f421b55a573f5dfc00863 F sqlite3.pc.in 985b9bf34192a549d7d370e0f0b6b34a4f61369a F src/attach.c e49d09dad9f5f9fb10b4b0c1be5a70ae4c45e689 F src/auth.c 3b81f2a42f48a62c2c9c9b0eda31a157c681edea -F src/btree.c c65849bd85dc8188c045bc6b44e70a470e624bbc +F src/btree.c 614ac85f810a636d375da58d0e069896eb467b1a F src/btree.h 861e40b759a195ba63819740e484390012cf81ab F src/build.c c7dd57fdbb330d65df241277291cad8e58687a46 F src/date.c 65536e7ea04fdde6e0551264fca15966966e171f @@ -40,7 +40,7 @@ F src/hash.c a97721a55440b7bea31ffe471bb2f6b4123cddd5 F src/hash.h 1b0c445e1c89ff2aaad9b4605ba61375af001e84 F src/insert.c 9524a6c3e86cbdbae3313f6a083bb9a3e7a2462b F src/legacy.c d58ea507bce885298a2c8c3cbb0f4bff5d47830b -F src/main.c f156a4c5cebc8e6854364199777fb639fea97ffd +F src/main.c 9abc4f08cda08361ea6cb921f622a3f7b44389a7 F src/md5.c 7ae1c39044b95de2f62e066f47bb1deb880a1070 F src/os.h 38258df2db895499b6e2957dbf17f25e0df71667 F src/os_common.h 0e7f428ba0a6c40a61bc56c4e96f493231301b73 @@ -59,7 +59,7 @@ F src/pragma.c 0b43b8cac4870bfa041bf2ca29d7ce47b76362d6 F src/printf.c 3d20b21cfecadacecac3fb7274e746cb81d3d357 F src/random.c eff68e3f257e05e81eae6c4d50a51eb88beb4ff3 F src/select.c cf4b7952d6d214931c52636ee726f19ee2a275c5 -F src/shell.c 55adda3cf3c1cc2f6c1919aac17b2318f9c2a96f +F src/shell.c e8f4f486cbf6e60d81173146ac8a6522c930fa51 F src/sqlite.h.in 6d0e82c24ef3f84a10b468119f3943a5dfc806c7 F src/sqliteInt.h 8f3b4d0e90c294e0e22b20a9f7f32f2523b8894c F src/table.c 25b3ff2b39b7d87e8d4a5da0713d68dfc06cbee9 @@ -79,7 +79,7 @@ F src/vdbe.c ba3a920731d43bcf2497d558238400369008531a F src/vdbe.h 067ca8d6750ba4f69a50284765e5883dee860181 F src/vdbeInt.h 6017100adff362b8dfa37a69e3f1431f084bfa5b F src/vdbeapi.c 74be7f96c0a1ac275661f8b32276ac521d9ce37c -F src/vdbeaux.c c6da55e0096e141211f918837eca98e0be6400b4 +F src/vdbeaux.c dc06bbb8511d07f8d45ed2ea760f35f0736a690c F src/vdbemem.c 5876c8abf4374fef671f4fd8dc333ef3fc95a2f0 F src/where.c 4d28167e450255372b45abf1bc8cd5f0e9264d7b F test/all.test 929bfa932b55e75c96fe2203f7650ba451c1862c @@ -89,7 +89,7 @@ F test/attach2.test 399128a7b3b209a339a8dbf53ca2ed42eb982d1a F test/attach3.test 8a0309e284cf9aa1d7d6cc444989031881f7a21c F test/auth.test 6dd796db7481d9dfde52e455f6b3d2cd7891b888 F test/autoinc.test 11330758197e0301d3600a071230d45b2f6a65b7 -F test/autovacuum.test d0517eb9fa7bb12c9e7f3b5d6fd4275d22e57c15 +F test/autovacuum.test a4e8da39a6268378c4f9fc17fe2df1d5be16d631 F test/autovacuum_crash.test 2dca85cbcc497098e45e8847c86407eb3554f3d4 F test/bigfile.test d3744a8821ce9abb8697f2826a3e3d22b719e89f F test/bigrow.test f0aeb7573dcb8caaafea76454be3ade29b7fc747 @@ -146,7 +146,7 @@ F test/lock3.test 615111293cf32aa2ed16d01c6611737651c96fb9 F test/lock4.test 07768b4d4e942693d6036f1e6502199a3fa22a4f F test/main.test 5f9deae11b93336da1ccc5f91cf8be075c91ddf1 F test/malloc.test b4674cbb5a72b113eedaaf64fcd5c062e9957ded -F test/memdb.test 34ee8598de307a16ccc3ac91b85cee9c668ae5ed +F test/memdb.test c9ccd02cd9ce9d2cdcd5a712efecf24e7b93b7fa F test/memleak.test f1fa233f8295dd1d955a00d5e5ee857850f27f29 F test/minmax.test c0f92d3f7b11656221735385f2c8b1878bbbdaf6 F test/misc1.test 744f60d1025fa978708b96cb222a07a1feb1524a @@ -157,7 +157,7 @@ F test/misuse.test 2d7c46160f7c214f761fc5d030684a37ae8832a6 F test/notnull.test 7a08117a71e74b0321aaa937dbeb41a09d6eb1d0 F test/null.test 642428b6a5408cc5b954b49e1b6e5025e4458b2b F test/pager.test 394455707a079804e8a4e431d12edce831a065f0 -F test/pager2.test c7e731ac56a2984a605b032ffd19b9deee820377 +F test/pager2.test 49c0f57c7da0b060f0486b85fdd074025caa694e F test/pager3.test 647f696a9cf7409df00a1e0047c2eb55585a1b85 F test/pagesize.test 6f94b70ed9645dbe6314b627ae765c5dec8036d9 F test/pragma.test ab309fb98bf4fe49481b9661354376cc56067f7e @@ -197,7 +197,7 @@ F test/types2.test f23c147a2ab3e51d5dbcfa9987200db5acba7aa7 F test/unique.test 0e38d4cc7affeef2527720d1dafd1f6870f02f2b F test/update.test b29bd9061a1150426dab6959806fcc73a41b1217 F test/utf16.test 459c2f5ab80c60092c603630a348c32d6e59c558 -F test/vacuum.test 7cd22f17fc86f316bb90b383e87b07f659dc7684 +F test/vacuum.test 5b9dfaa2f33f0a694d249e45e0c39776bcd380c3 F test/varint.test ab7b110089a08b9926ed7390e7e97bdefeb74102 F test/view.test 2ec8fd4f3809243ad12667932071d536d1ba6850 F test/where.test 8a016d444252553a0c7c3a4c806d3f782f7337eb @@ -261,7 +261,7 @@ F www/tclsqlite.tcl 560ecd6a916b320e59f2917317398f3d59b7cc25 F www/vdbe.tcl 095f106d93875c94b47367384ebc870517431618 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0 F www/whentouse.tcl fdacb0ba2d39831e8a6240d05a490026ad4c4e4c -P ac72a1d5518f7b505ae2a1bd3be3d71db461ae7e -R 4f352ed77aa5a0ed224822d223da24bb +P 27a8379b54d6a1169b89e540ba44f4f94d006fb7 +R 6a5416a0cd0513fbaa34b706145b6710 U danielk1977 -Z d8a009fbe425878d217baf1f91871aef +Z ccc4b0691f08930c772208bba7abaacc diff --git a/manifest.uuid b/manifest.uuid index ab99526f0e..26d998e55e 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -27a8379b54d6a1169b89e540ba44f4f94d006fb7 \ No newline at end of file +9df837c03939cdcb31856ac17b2425a6dd92d7b2 \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index 6968b458b3..ba2bda3ab4 100644 --- a/src/btree.c +++ b/src/btree.c @@ -9,7 +9,7 @@ ** May you share freely, never taking more than you give. ** ************************************************************************* -** $Id: btree.c,v 1.221 2004/11/20 20:31:12 drh Exp $ +** $Id: btree.c,v 1.222 2004/11/22 05:26:27 danielk1977 Exp $ ** ** This file implements a external (disk-based) database using BTrees. ** For a detailed discussion of BTrees, refer to @@ -1210,7 +1210,17 @@ int sqlite3BtreeOpen( pBt->minEmbedFrac = 32; /* 12.5% */ pBt->minLeafFrac = 32; /* 12.5% */ #ifndef SQLITE_OMIT_AUTOVACUUM + /* If the magic name ":memory:" will create an in-memory database, then + ** do not set the auto-vacuum flag, even if SQLITE_DEFAULT_AUTOVACUUM + ** is true. On the other hand, if SQLITE_OMIT_MEMORYDB has been defined, + ** then ":memory:" is just a regular file-name. Respect the auto-vacuum + ** default in this case. + */ +#ifndef SQLITE_OMIT_MEMORYDB if( zFilename && strcmp(zFilename,":memory:") ){ +#else + if( zFilename ){ +#endif pBt->autoVacuum = SQLITE_DEFAULT_AUTOVACUUM; } #endif diff --git a/src/main.c b/src/main.c index 3a84732ca2..08470f722f 100644 --- a/src/main.c +++ b/src/main.c @@ -14,7 +14,7 @@ ** other files are for internal use by SQLite and should not be ** accessed by users of the library. ** -** $Id: main.c,v 1.266 2004/11/20 20:18:55 drh Exp $ +** $Id: main.c,v 1.267 2004/11/22 05:26:27 danielk1977 Exp $ */ #include "sqliteInt.h" #include "os.h" @@ -842,6 +842,7 @@ int sqlite3BtreeFactory( #if TEMP_STORE==0 /* Do nothing */ #endif +#ifndef SQLITE_OMIT_MEMORYDB #if TEMP_STORE==1 if( db->temp_store==2 ) zFilename = ":memory:"; #endif @@ -851,6 +852,7 @@ int sqlite3BtreeFactory( #if TEMP_STORE==3 zFilename = ":memory:"; #endif +#endif /* SQLITE_OMIT_MEMORYDB */ } rc = sqlite3BtreeOpen(zFilename, ppBtree, btree_flags); diff --git a/src/shell.c b/src/shell.c index 0472670db5..9b1ea1375e 100644 --- a/src/shell.c +++ b/src/shell.c @@ -12,7 +12,7 @@ ** This file contains code to implement the "sqlite" command line ** utility for accessing SQLite databases. ** -** $Id: shell.c,v 1.117 2004/10/26 00:08:11 drh Exp $ +** $Id: shell.c,v 1.118 2004/11/22 05:26:28 danielk1977 Exp $ */ #include #include @@ -1678,7 +1678,11 @@ int main(int argc, char **argv){ if( ipBtree ){ assert( pAgg->nTab==0 ); +#ifndef SQLITE_OMIT_MEMORYDB rc = sqlite3BtreeFactory(db, ":memory:", 0, TEMP_PAGES, &pAgg->pBtree); +#else + rc = sqlite3BtreeFactory(db, 0, 0, TEMP_PAGES, &pAgg->pBtree); +#endif if( rc!=SQLITE_OK ) return rc; sqlite3BtreeBeginTrans(pAgg->pBtree, 1); rc = sqlite3BtreeCreateTable(pAgg->pBtree, &pAgg->nTab, 0); diff --git a/test/autovacuum.test b/test/autovacuum.test index 1a49615e82..69c2dfa103 100644 --- a/test/autovacuum.test +++ b/test/autovacuum.test @@ -11,7 +11,7 @@ # This file implements regression tests for SQLite library. The # focus of this file is testing the SELECT statement. # -# $Id: autovacuum.test,v 1.12 2004/11/14 04:04:18 drh Exp $ +# $Id: autovacuum.test,v 1.13 2004/11/22 05:26:28 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -90,7 +90,6 @@ foreach delete_order $delete_orders { } {ok} } -# set btree_trace 1 foreach delete $delete_order { # Delete one set of rows from the table. do_test autovacuum-1.$tn.($delete).1 { diff --git a/test/memdb.test b/test/memdb.test index 57dd7cde5e..63c5c952b0 100644 --- a/test/memdb.test +++ b/test/memdb.test @@ -11,12 +11,14 @@ # This file implements regression tests for SQLite library. The # focus of this script is in-memory database backend. # -# $Id: memdb.test,v 1.10 2004/11/04 14:47:13 drh Exp $ +# $Id: memdb.test,v 1.11 2004/11/22 05:26:28 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl +ifcapable memorydb { + # In the following sequence of tests, compute the MD5 sum of the content # of a table, make lots of modifications to that table, then do a rollback. # Verify that after the rollback, the MD5 checksum is unchanged. @@ -367,4 +369,6 @@ for {set i 1} {$i<=256} {incr i} { } [expr {256-$i}] } +} ;# ifcapable memorydb + finish_test diff --git a/test/pager2.test b/test/pager2.test index 097f0dcf62..3907257473 100644 --- a/test/pager2.test +++ b/test/pager2.test @@ -11,13 +11,17 @@ # This file implements regression tests for SQLite library. The # focus of this script is page cache subsystem. # -# $Id: pager2.test,v 1.4 2004/10/05 02:41:43 drh Exp $ +# $Id: pager2.test,v 1.5 2004/11/22 05:26:28 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl +# Don't run this test file if the pager test interface [pager_open] is not +# available, or the library was compiled without in-memory database support. +# if {[info commands pager_open]!=""} { +ifcapable memorydb { db close # Basic sanity check. Open and close a pager. @@ -397,7 +401,8 @@ do_test pager2-4.99 { pager_close $::p1 } {} -} ;# end if( not mem: and has pager_open command ); +} ;# ifcapable inmemory +} ;# end if( has pager_open command ); finish_test diff --git a/test/vacuum.test b/test/vacuum.test index 7f112010d5..fbed01683c 100644 --- a/test/vacuum.test +++ b/test/vacuum.test @@ -11,7 +11,7 @@ # This file implements regression tests for SQLite library. The # focus of this file is testing the VACUUM statement. # -# $Id: vacuum.test,v 1.29 2004/11/10 15:27:38 danielk1977 Exp $ +# $Id: vacuum.test,v 1.30 2004/11/22 05:26:28 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -228,7 +228,11 @@ ifcapable {bloblit} { } {1} } -# Check what happens when an in-memory database is vacuumed. +# Check what happens when an in-memory database is vacuumed. The +# [file delete] command covers us in case the library was compiled +# without in-memory database support. +# +file delete -force :memory: do_test vacuum-7.0 { sqlite3 db2 :memory: execsql {