From: drh Date: Wed, 17 Feb 2010 19:34:11 +0000 (+0000) Subject: Merge latest changes from the trunk into the apple-osx branch. X-Git-Tag: mountain-lion~61 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9aa0012a08794b2c73cad6bbad204a5ca882fc29;p=thirdparty%2Fsqlite.git Merge latest changes from the trunk into the apple-osx branch. FossilOrigin-Name: 4b72e39bd00572d9375639f4b978eff1b1d9aa20 --- 9aa0012a08794b2c73cad6bbad204a5ca882fc29 diff --cc manifest index 9a5b8d1fcd,98c2c6cdc7..b6e591dad5 --- a/manifest +++ b/manifest @@@ -1,7 -1,7 +1,10 @@@ - C Updated\sopen\smask\sto\sinclude\sSQLITE_OPEN_AUTOPROXY - D 2010-01-26T01:14:34 -C Consistent\suse\sof\s#ifdef\sfor\sSQLITE_HAS_CODEC\sto\savoid\sconfusion. -D 2010-02-17T17:48:47 ++-----BEGIN PGP SIGNED MESSAGE----- ++Hash: SHA1 ++ ++C Merge\slatest\schanges\sfrom\sthe\strunk\sinto\sthe\sapple-osx\sbranch. ++D 2010-02-17T19:34:11 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 -F Makefile.in c5827ead754ab32b9585487177c93bb00b9497b3 +F Makefile.in df768f5addf7b6da984aa279123d2671d716cf5c F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.vxworks 10010ddbf52e2503c7c49c7c0b7c7a096f8638a6 F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6 @@@ -74,7 -74,7 +77,7 @@@ F ext/icu/README.txt 3b130aa66e7a681136 F ext/icu/icu.c 850e9a36567bbcce6bd85a4b68243cad8e3c2de2 F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37 F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761 - F ext/rtree/rtree.c 823d089fea8148f19be1c2fb4ff6ccf3e8ec966c -F ext/rtree/rtree.c b82403b0320a7278e0a0e6562c08c8bba17ee0dd ++F ext/rtree/rtree.c 8bb9addfc69886f46f5d873bd76a8ec784d79b31 F ext/rtree/rtree.h 834dbcb82dc85b2481cde6a07cdadfddc99e9b9e F ext/rtree/rtree1.test f72885ed80a329d6bd7991043016d74b51edf2c5 F ext/rtree/rtree2.test 7b665c44d25e51b3098068d983a39902b2e2d7a1 @@@ -122,20 -120,20 +126,20 @@@ F src/delete.c 610dc008e88a9599f905f5cb F src/expr.c d0a345e1d8995e142bc5d9f39a97b9981d7d8f23 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fkey.c e2116672a6bd610dc888e27df292ebc7999c9bb0 - F src/func.c 0645bcf3fcc974dde24df78bf2bd42d170716cf9 -F src/func.c 3864490a90a03ab1d657cdd04da78879c18b18d1 ++F src/func.c 3cd22e930f7c5bbea8ce5a62ed263abbc6eb679b F src/global.c 75946a4a2ab41c6ae58f10ca0ed31b3449694b26 F src/hash.c 458488dcc159c301b8e7686280ab209f1fb915af F src/hash.h 2894c932d84d9f892d4b4023a75e501f83050970 F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08 F src/insert.c 11eeb4f2e5d57b7c106f0c28eea8d0dd896dfd70 F src/journal.c b0ea6b70b532961118ab70301c00a33089f9315c -F src/legacy.c 16f385490f377c2c80a6c7357391d499087defed +F src/legacy.c b319b5291ca8ab015d132db389a4d6dac5efb97f F src/lempar.c 7f026423f4d71d989e719a743f98a1cbd4e6d99e F src/loadext.c 1c7a61ce1281041f437333f366a96aa0d29bb581 -F src/main.c a0f6dfbdd79e01baf75ad62bdbfdeae9e560eb96 +F src/main.c 90176cc9163ed825e86ff021210f0ecc37aeed89 F src/malloc.c 5fa175797f982b178eaf38afba9c588a866be729 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 - F src/mem1.c 34cb5c25e4d2c1dcbdce244745999babf8d8dc5c -F src/mem1.c 86f33483a343873bab8ae1b648c2eac55462da74 ++F src/mem1.c f38d5dcc701364905c8c513c89eb3b819c4e8f4b F src/mem2.c 92b4f772b1ee7469e256f1c2eff0b51a0ba19460 F src/mem3.c 9b237d911ba9904142a804be727cc6664873f8a3 F src/mem5.c 4837b795ebdecc0cfe1522cd0c8b2c5d84ea490d @@@ -151,16 -149,16 +155,16 @@@ F src/os.c 8bc63cf91e9802e2b807198e54e5 F src/os.h 534b082c3cb349ad05fa6fa0b06087e022af282c F src/os_common.h 240c88b163b02c21a9f21f87d49678a0aa21ff30 F src/os_os2.c 75a8c7b9a00a2cf1a65f9fa4afbc27d46634bb2f - F src/os_unix.c 0b97269557d5a148d43c55edab5a20b62d0e10e3 + F src/os_unix.c 0af0a55e2dd55bc4f4c3ccf04cc8f1f4a2e2e65f F src/os_win.c 5ffab20249a61e0625f869efe157fa009747039b - F src/pager.c e5421d38470fe58faee71a5a66a778ada882394c + F src/pager.c 5dee83c3cf4e94b72fcd81dca67abd7617227217 F src/pager.h 1b32faf2e578ac3e7bcf9c9d11217128261c5c54 F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e - F src/pcache.c 3b079306376e0e04c0d3df40c0a4b750a1839310 + F src/pcache.c 815bcb3cf0e14b23212efd3f4981f667a5fd633e F src/pcache.h c683390d50f856d4cd8e24342ae62027d1bb6050 F src/pcache1.c 2bb2261190b42a348038f5b1c285c8cef415fcc8 - F src/pragma.c eda3d6d165966e443301f9715adcae6b425655c1 -F src/pragma.c 5febf8b5d88cc331effb3f2e14d0473488649b1e -F src/prepare.c d4cd38ccfb51f1424d0e61d4878a810b7e1ebb60 ++F src/pragma.c 43e02b0258c1a228f442564fbe8e0c4d748c8bef +F src/prepare.c ca47539f6a7608639359be382d9df7eb45d2ad87 F src/printf.c 2c2702dc4955394dae554b7c45f45656eb42de7f F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50 F src/resolve.c 56ecd50851afa9dbcc1803ef86a9b17b3f3d3b89 @@@ -212,13 -210,13 +216,13 @@@ F src/update.c c0dc6b75ad28b76b619042d9 F src/utf.c dad16adcc0c35ef2437dca125a4b07419d361052 F src/util.c aa0b1da8f71edff84b4b41dbe05fe6ac75d819c6 F src/vacuum.c 28ee5a4963d16cf2477075d85966c0f461cd79de - F src/vdbe.c b0c18b5c5ab4745a09b8f164e5db36413d98872e + F src/vdbe.c 428411c6fbd49e9a4ce043dad87a0b079d403714 F src/vdbe.h bea1f0cd530775bdb58a340265f3cf3ee920e9b2 F src/vdbeInt.h e276691b6835da5c0008cc5beaaecedcd7bdba8e - F src/vdbeapi.c 598ce2632448aef52e071a6357ec5f2fa58e304e -F src/vdbeapi.c a8b6a6617fc9a0492e4f7d6626d3afe994ddd3f2 ++F src/vdbeapi.c 5c3edfc658ca0d8b1393bb1a72d9ee1a113a98c9 F src/vdbeaux.c 8f30e619a8077ee516fa1494fa603550fa951726 F src/vdbeblob.c 84f924700a7a889152aeebef77ca5f4e3875ffb4 - F src/vdbemem.c 1ce5005ee4a1ee25ef677abdcaef1259261cc252 + F src/vdbemem.c aeba77b59f3553d3cc5b72c18a8267c6fba546b9 F src/vdbetrace.c 864cef96919323482ebd9986f2132435115e9cc2 F src/vtab.c 7c7713d66cda699f16bf1cc601d8d4f5070ab935 F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f @@@ -595,7 -594,7 +601,7 @@@ F test/tclsqlite.test bf4227eb236a4c097 F test/tempdb.test 1bf52da28a9c24e29717362a87722dff08feb72b F test/temptable.test f42121a0d29a62f00f93274464164177ab1cc24a F test/temptrigger.test b0273db072ce5f37cf19140ceb1f0d524bbe9f05 - F test/tester.tcl 825ee2c154c31fce547c4b831692177d0a530bd1 -F test/tester.tcl e1f581c7a2648a0aaa51135c4d2e7be68f4b9292 ++F test/tester.tcl a488554f216fa237e1649114f7ff0594195e41fb F test/thread001.test a3e6a7254d1cb057836cb3145b60c10bf5b7e60f F test/thread002.test afd20095e6e845b405df4f2c920cb93301ca69db F test/thread003.test b824d4f52b870ae39fc5bae4d8070eca73085dca @@@ -789,7 -788,7 +795,14 @@@ F tool/speedtest2.tcl ee2149167303ba8e9 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f - P fa0f6c140e8ff9a5eed1d8a339fb6d55ecdca688 - R 8b1d7485bc4c881d19eaef86e225a80d - U adam - Z 5870ed5d195e3ef8dfcac0b726fcc0b8 -P d76ad8b3c494ffb4e670da0e92a1f8dbf7f48daf -R a0fcf012eeeaa6a43756a232ecac05ef -U shaneh -Z 6db38cc05906d785948a9a447f1df2f3 ++P 7c3bede3f21812aa78105c6685654f12f0460eea 34a3413a5318050254b246ad859c91c134516a32 ++R 51eed2804d37bfe35c61d7d9c3042279 ++U drh ++Z 95529f1ad519dd6b198a09b230371f86 ++-----BEGIN PGP SIGNATURE----- ++Version: GnuPG v1.4.10 (Darwin) ++ ++iEYEARECAAYFAkt8RLMACgkQoxKgR168RlEQFgCgim8iFEvk5gL7OCpT8R+YO6Yt ++9J8An3awqu5IqvyIa+yu+/7wwBS+nxEW ++=/nZY ++-----END PGP SIGNATURE----- diff --cc manifest.uuid index 7f028299cf,5568ba96f1..9fd24cb75d --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 7c3bede3f21812aa78105c6685654f12f0460eea -34a3413a5318050254b246ad859c91c134516a32 ++4b72e39bd00572d9375639f4b978eff1b1d9aa20 diff --cc src/mem1.c index 8c5dfaff41,67dd474537..01f7a0f4db --- a/src/mem1.c +++ b/src/mem1.c @@@ -97,9 -75,8 +97,8 @@@ static void *sqlite3MemRealloc(void *pP sqlite3_int64 *p = (sqlite3_int64*)pPrior; assert( pPrior!=0 && nByte>0 ); nByte = ROUND8(nByte); - p = (sqlite3_int64*)pPrior; p--; - p = realloc(p, nByte+8 ); + p = SQLITE_REALLOC(p, nByte+8 ); if( p ){ p[0] = nByte; p++; diff --cc src/pragma.c index ddfd9dd6bd,de5a15e27d..000163cf78 --- a/src/pragma.c +++ b/src/pragma.c @@@ -414,9 -413,34 +414,34 @@@ void sqlite3Pragma if( ALWAYS(pBt) ){ newMax = sqlite3BtreeMaxPageCount(pBt, newMax); } - returnSingleInt(pParse, "max_page_count", newMax); + returnSingleInt(pParse, "max_page_count", &newMax); }else + /* + ** PRAGMA [database.]secure_delete + ** PRAGMA [database.]secure_delete=ON/OFF + ** + ** The first form reports the current setting for the + ** secure_delete flag. The second form changes the secure_delete + ** flag setting and reports thenew value. + */ + if( sqlite3StrICmp(zLeft,"secure_delete")==0 ){ + Btree *pBt = pDb->pBt; - int b = -1; ++ sqlite3_int64 b = -1; + assert( pBt!=0 ); + if( zRight ){ + b = getBoolean(zRight); + } + if( pId2->n==0 && b>=0 ){ + int ii; + for(ii=0; iinDb; ii++){ + sqlite3BtreeSecureDelete(db->aDb[ii].pBt, b); + } + } + b = sqlite3BtreeSecureDelete(pBt, b); - returnSingleInt(pParse, "secure_delete", b); ++ returnSingleInt(pParse, "secure_delete", &b); + }else + /* ** PRAGMA [database.]page_count ** diff --cc src/vdbeapi.c index 1a81e0861c,964c620e3c..55e3401471 --- a/src/vdbeapi.c +++ b/src/vdbeapi.c @@@ -49,13 -46,13 +49,16 @@@ int sqlite3_finalize(sqlite3_stmt *pStm rc = SQLITE_OK; }else{ Vdbe *v = (Vdbe*)pStmt; +#ifdef SQLITE_ENABLE_SQLRR + SRRecFinalize(pStmt); +#endif sqlite3 *db = v->db; + #if SQLITE_THREADSAFE + sqlite3_mutex *mutex; + #endif if( db==0 ) return SQLITE_MISUSE; #if SQLITE_THREADSAFE - sqlite3_mutex *mutex = v->db->mutex; + mutex = v->db->mutex; #endif sqlite3_mutex_enter(mutex); rc = sqlite3VdbeFinalize(v);