]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Have tests pass when SQLITE_OMIT_MEMORYDB is defined. (CVS 2131)
authordanielk1977 <danielk1977@noemail.net>
Mon, 22 Nov 2004 05:26:27 +0000 (05:26 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Mon, 22 Nov 2004 05:26:27 +0000 (05:26 +0000)
FossilOrigin-Name: 9df837c03939cdcb31856ac17b2425a6dd92d7b2

manifest
manifest.uuid
src/btree.c
src/main.c
src/shell.c
src/vdbeaux.c
test/autovacuum.test
test/memdb.test
test/pager2.test
test/vacuum.test

index a54f72d3097c4a3a5b40b954f0533eaa8cba68c2..bf4f56af612d2b8397bd9bce2dbc1dd8c17cbf20 100644 (file)
--- 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
index ab99526f0e4c262e486658cf84201adf51c02202..26d998e55ede2f30f00753366bbf2987cbb5690d 100644 (file)
@@ -1 +1 @@
-27a8379b54d6a1169b89e540ba44f4f94d006fb7
\ No newline at end of file
+9df837c03939cdcb31856ac17b2425a6dd92d7b2
\ No newline at end of file
index 6968b458b3322b7849eee97325b2fa205d054d63..ba2bda3ab4fab559564b56b88b06ec97d070fabd 100644 (file)
@@ -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
index 3a84732ca2d821b46511aec43c103396dc61178b..08470f722ffa2ce2695c019815a19887bb7118be 100644 (file)
@@ -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);
index 0472670db587098608d5e4d874405ce5e7722458..9b1ea1375e5c31431a11aef261f4a056ff795856 100644 (file)
@@ -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 <stdlib.h>
 #include <string.h>
@@ -1678,7 +1678,11 @@ int main(int argc, char **argv){
   if( i<argc ){
     data.zDbFilename = argv[i++];
   }else{
+#ifndef SQLITE_OMIT_MEMORYDB
     data.zDbFilename = ":memory:";
+#else
+    data.zDbFilename = 0;
+#endif
   }
   if( i<argc ){
     zFirstCmd = argv[i++];
index 44c9c3f21ff65324e3f274317ff26ec4eb93f8a7..0cf7d8bb9a42900a94635bf4cbe08d02160c3f15 100644 (file)
@@ -784,7 +784,11 @@ int sqlite3VdbeAggReset(sqlite3 *db, Agg *pAgg, KeyInfo *pKeyInfo){
   if( db ){
     if( !pAgg->pBtree ){
       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);
index 1a49615e82e115d3393fba65e3cc4723664197ca..69c2dfa103f55af3ae13c00bfc51986f6cf37938 100644 (file)
@@ -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 {
index 57dd7cde5e9e9975fe15f3e64baa61c2e880a426..63c5c952b0bed84c9be6d3ed87ab58bbb6b741e3 100644 (file)
 # 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
index 097f0dcf6255884737c0ad1c202a8da3f59269e3..3907257473be551269fc61203284b16778d7471d 100644 (file)
 # 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
index 7f112010d5629ab960e0b1f59e8964743b211af7..fbed01683c2af23d7af72022a65d10a07dd2fa26 100644 (file)
@@ -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 {