From: drh Date: Mon, 20 Jun 2011 10:44:10 +0000 (+0000) Subject: Merge the latest trunk changes into the sessions branch. X-Git-Tag: version-3.13.0~148^2~273 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8863f35f5ca84317c5eb43ff2c40906b2bb6dc54;p=thirdparty%2Fsqlite.git Merge the latest trunk changes into the sessions branch. FossilOrigin-Name: 4c5e276c902e0b93cfc05bf2e1db966ecdac0ed0 --- 8863f35f5ca84317c5eb43ff2c40906b2bb6dc54 diff --cc manifest index ac09e78587,1d5ddc2579..ffa65232b3 --- a/manifest +++ b/manifest @@@ -1,8 -1,9 +1,9 @@@ -C Do\snot\srun\stest\stkt-2d1a5c67d.test\sin\sthe\sinmemory_journal\spermutation\nsince\sthat\stest\srequires\sWAL\smode\swhich\sdoes\snot\swork\swith\sinmemory_journal. -D 2011-06-19T21:17:35.711 +C Merge\sthe\slatest\strunk\schanges\sinto\sthe\ssessions\sbranch. - D 2011-05-30T13:39:20.980 ++D 2011-06-20T10:44:10.301 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f - F Makefile.in 11dcc00a8d0e5202def00e81732784fb0cc4fe1d + F Makefile.in c1d7a7f4fd8da6b1815032efca950e3d5125407e F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 + F Makefile.msc ce73810c83d4bd202deb59d547a5df4a5cfef7c9 F Makefile.vxworks c85ec1d8597fe2f7bc225af12ac1666e21379151 F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6 F VERSION 3fcdd7fbe3eb282df3978fe77288544543767961 @@@ -100,19 -102,9 +102,19 @@@ F ext/rtree/rtree_util.tcl 06aab2ed5b82 F ext/rtree/sqlite3rtree.h 1af0899c63a688e272d69d8e746f24e76f10a3f0 F ext/rtree/tkt3363.test 142ab96eded44a3615ec79fba98c7bde7d0f96de F ext/rtree/viewrtree.tcl eea6224b3553599ae665b239bd827e182b466024 +F ext/session/session1.test f5d9f2e362abe2563181389509822bda956516ee +F ext/session/session2.test 99ca0da7ddb617d42bafd83adccf99f18ae0384b +F ext/session/session3.test a7a9ce59b8d1e49e2cc23d81421ac485be0eea01 +F ext/session/session4.test a6ed685da7a5293c5d6f99855bcf41dbc352ca84 +F ext/session/session5.test 8fdfaf9dba28a2f1c6b89b06168bdab1fef2d478 +F ext/session/session_common.tcl 1539d8973b2aea0025c133eb0cc4c89fcef541a5 +F ext/session/sessionfault.test 401045278298a242cbc2e4bc986c102f01ff2180 +F ext/session/sqlite3session.c 26de50c3e34d89ae62e97024ad07e772e1c52db2 +F ext/session/sqlite3session.h 665f5591562e3c71eb3d0da26f1a1efae26f7bcf +F ext/session/test_session.c 311e5b9228374d0b5780448f289847ff1cf7d388 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8 - F main.mk bc31e3b2cfa42337a34fc4509a1b550c0cd5b202 -F main.mk 6de0d92dcae3d399a6bafaeb23b57f6ef0f41955 ++F main.mk c864cbc95010ff6bdb6ec6d213c17be0bd2a86a2 F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac @@@ -140,11 -132,11 +142,11 @@@ F src/callback.c 0425c6320730e6d3981acf F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac F src/ctime.c 7deec4534f3b5a0c3b4a4cbadf809d321f64f9c4 F src/date.c 1548fdac51377e4e7833251de878b4058c148e1b - F src/delete.c ad9fa1cbf91a83ec6990d0aecb7e21cd5ff07e71 - F src/expr.c e3cf0957c6b8faaaf7386a3bc69e53c0dc9705be -F src/delete.c cecc926c70783452f3e8eb452c728291ce1a0b21 ++F src/delete.c c84066147544e8fddb7ca60ac7fd36ed2df8487f + F src/expr.c ab46ab0f0c44979a8164ca31728d7d10ae5e8106 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb - F src/fkey.c a43ba8a005fb5efd1deeee06853e3a6120d46a91 - F src/func.c b9117e40975245b8504cf3625d7e321d8d4b63dc + F src/fkey.c 9fabba17a4d4778dc660f0cb9d781fc86d7b9d41 + F src/func.c 59bb046d7e3df1ab512ac339ccb0a6f996a17cb7 F src/global.c 29bfb85611dd816b04f10fba0ca910366e128d38 F src/hash.c 458488dcc159c301b8e7686280ab209f1fb915af F src/hash.h 2894c932d84d9f892d4b4023a75e501f83050970 @@@ -154,7 -146,7 +156,7 @@@ F src/journal.c 552839e54d1bf76fb8f7abe F src/legacy.c a199d7683d60cef73089e892409113e69c23a99f F src/lempar.c 7f026423f4d71d989e719a743f98a1cbd4e6d99e F src/loadext.c 3ae0d52da013a6326310655be6473fd472347b85 - F src/main.c 8206d7970cb858979ec84eea9a5eff2b575849a6 -F src/main.c d67ea48933e4d63abba00578224a3319e6fbcbe1 ++F src/main.c f7e8176ec1a9cad97470801660629179570d6b1d F src/malloc.c 591aedb20ae40813f1045f2ef253438a334775d9 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c 00bd8265c81abb665c48fea1e0c234eb3b922206 @@@ -188,15 -180,15 +190,15 @@@ F src/random.c cd4a67b3953b88019f8cd4cc F src/resolve.c 1c0f32b64f8e3f555fe1f732f9d6f501a7f05706 F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697 F src/select.c d9d440809025a58547e39f4f268c2a296bfb56ff - F src/shell.c decd04236a7ef26be5ef46d4ea963044bfad9a48 - F src/sqlite.h.in 6e087deaec87d358aa4027545ef7454e427b5619 + F src/shell.c 0e0173b3e79d956368013e759f084caa7995ecb1 -F src/sqlite.h.in 2f51e4f58b2b4626fcbd9938580e730cb5fb4985 ++F src/sqlite.h.in 1daf26cc593fa78dd041af564c708869b1f12df3 F src/sqlite3ext.h c90bd5507099f62043832d73f6425d8d5c5da754 - F src/sqliteInt.h 38481431b379b468f7bd282d2e318aed4b56d860 -F src/sqliteInt.h 7b7ec2394b94fc4516930cd9dae37af0f9312215 ++F src/sqliteInt.h 928caa40080d47e8f92e1edee83f6249d03c5862 F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d F src/status.c 7ac64842c86cec2fc1a1d0e5c16d3beb8ad332bf F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e - F src/tclsqlite.c fe0da0eb0ebd8d21eec90683b779456e64351de6 - F src/test1.c 4a1171af201be90c21d64a872e686b1333d9a2cf -F src/tclsqlite.c c83f5b4a15ed92cb35aa04320aa4a30b95071b2f ++F src/tclsqlite.c 761d9d7a7b79a41d5a237e6c5c350a1c719ec983 + F src/test1.c efca486a25fb894988e7a82e84579a4e57388a02 F src/test2.c 80d323d11e909cf0eb1b6fbb4ac22276483bcf31 F src/test3.c 124ff9735fb6bb7d41de180d6bac90e7b1509432 F src/test4.c d1e5a5e904d4b444cf572391fdcb017638e36ff7 @@@ -240,22 -232,22 +242,22 @@@ F src/test_vfs.c e7855568dfa1e0ba73668d F src/test_vfstrace.c 0b884e06094a746da729119a2cabdc7aa790063d F src/test_wholenumber.c 6129adfbe7c7444f2e60cc785927f3aa74e12290 F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9 - F src/tokenize.c 604607d6813e9551cf5189d899e0a25c12681080 - F src/trigger.c 144cc18bb701f3286484aae4292a9531f09278c8 - F src/update.c f66b651c15e42875f36501ec39a968e836ee5586 - F src/utf.c d83650c3ea08f7407bd9d0839d9885241c209c60 + F src/tokenize.c c819d9f72168a035d545a5bdafe9b085b20df705 + F src/trigger.c c836a6caac16ba96611558922106858f6ca3d6bf -F src/update.c 80d77311d91ebc06b27149e75701f1b3e9356622 ++F src/update.c a81bda229f8c3b698f8dcf8e69485c97e1347102 + F src/utf.c c53eb7404b3eb5c1cbb5655c6a7a0e0ce6bd50f0 F src/util.c 0f33bbbdfcc4a2d8cf20c3b2a16ffc3b57c58a70 F src/vacuum.c 05513dca036a1e7848fe18d5ed1265ac0b32365e - F src/vdbe.c 619fb3fc054f7f9bf41c0e354702dfc35eebb17f - F src/vdbe.h 44fd57aeed86da0cd31206626c13cdde0e72cc0e - F src/vdbeInt.h b95de01246c15499c700ae00cfda0de25c01358a - F src/vdbeapi.c 8051038f7674c708f4515ab189fc3ea929e09a4c - F src/vdbeaux.c 8c5a643ba7d0d9882902ef2b4ab3dc2084d838ae - F src/vdbeblob.c c3ccb7c8732858c680f442932e66ad06bb036562 -F src/vdbe.c 9eef9bb0d4a0de06cf904476eadf58395971e35a -F src/vdbe.h 5cf09e7ee8a3f7d93bc51f196a96550786afe7a1 -F src/vdbeInt.h ad84226cc0adcb1185c22b70696b235a1678bb45 -F src/vdbeapi.c 0eeadc75e44a30efd996d6af6e7c5a2488e35be8 -F src/vdbeaux.c 0b2e2880f13af400a27c92a7673287c3eaec8b21 ++F src/vdbe.c af4d8ba06efb768f405d189d4b992c81ae14d711 ++F src/vdbe.h 322af148cceef120bb1ec9cff7f122e76abf94da ++F src/vdbeInt.h 3de6588b36c833969aebab202e1766d586c37ec2 ++F src/vdbeapi.c 3f6e988bd19391be1aa49ffd1f259654dcc8d975 ++F src/vdbeaux.c db3d4eedccea5add714dfb8b10f70d0f8d692db5 + F src/vdbeblob.c f024f0bf420f36b070143c32b15cc7287341ffd3 F src/vdbemem.c 0498796b6ffbe45e32960d6a1f5adfb6e419883b F src/vdbetrace.c 5d0dc3d5fd54878cc8d6d28eb41deb8d5885b114 - F src/vtab.c 9ba8c7fdb7d39260c033a402f6032d3e7bc5d336 - F src/wal.c ab1d8c5abf904fd6396f90499cbd8c54b8d6961b + F src/vtab.c 901791a47318c0562cd0c676a2c6ff1bc530e582 + F src/wal.c 0c70ad7b1cac6005fa5e2cbefd23ee05e391c290 F src/wal.h 66b40bd91bc29a5be1c88ddd1f5ade8f3f48728a F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f F src/where.c 55403ce19c506be6a321c7f129aff693d6103db5 @@@ -498,7 -492,7 +502,7 @@@ F test/fuzz3.test aec64345184d1662bd30e F test/fuzz_common.tcl a87dfbb88c2a6b08a38e9a070dabd129e617b45b F test/fuzz_malloc.test dd7001ac86d09c154a7dff064f4739c60e2b312c F test/fuzzer1.test 3105b5a89a6cb0d475f0877debec942fe4143462 - F test/hook.test 040cf2ca263f192c66b358e095138dad0a9d75bb -F test/hook.test f2277c309e4ee8067d95d6b9b315568e9d5329b2 ++F test/hook.test 4fd80e9c3ffb49de0379e2a026ef2fe7b9f3e534 F test/icu.test 70df4faca133254c042d02ae342c0a141f2663f4 F test/in.test 19b642bb134308980a92249750ea4ce3f6c75c2d F test/in2.test 5d4c61d17493c832f7d2d32bef785119e87bde75 @@@ -621,7 -615,7 +625,7 @@@ F test/pageropt.test 8146bf448cf09e87bb F test/pagesize.test 76aa9f23ecb0741a4ed9d2e16c5fa82671f28efb F test/pcache.test 065aa286e722ab24f2e51792c1f093bf60656b16 F test/pcache2.test 0d85f2ab6963aee28c671d4c71bec038c00a1d16 - F test/permutations.test 1e35edce72e6d9e2e392420caed18652a97b1a95 -F test/permutations.test 1e8892ebf1bd6e9e8036f4841c72a91bf72da74a ++F test/permutations.test 8331b2897502df0671dd1390a3c87db44fb8757c F test/pragma.test fdfc09067ea104a0c247a1a79d8093b56656f850 F test/pragma2.test 5364893491b9231dd170e3459bfc2e2342658b47 F test/printf.test 05970cde31b1a9f54bd75af60597be75a5c54fea @@@ -702,7 -695,7 +706,7 @@@ F test/tclsqlite.test 1ce9b6340d6d41242 F test/tempdb.test 19d0f66e2e3eeffd68661a11c83ba5e6ace9128c F test/temptable.test f42121a0d29a62f00f93274464164177ab1cc24a F test/temptrigger.test b0273db072ce5f37cf19140ceb1f0d524bbe9f05 - F test/tester.tcl 1949b4af9701daaca189fd5d53a6e48173c162af -F test/tester.tcl 76222602e59047c6ef119473c7a2ea7c6ee73d09 ++F test/tester.tcl 174f2bc00ddacc6c7666a15d3dbac9669dfc2373 F test/thread001.test a3e6a7254d1cb057836cb3145b60c10bf5b7e60f F test/thread002.test afd20095e6e845b405df4f2c920cb93301ca69db F test/thread003.test b824d4f52b870ae39fc5bae4d8070eca73085dca @@@ -948,8 -943,10 +954,10 @@@ F tool/speedtest2.tcl ee2149167303ba8e9 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/split-sqlite3c.tcl d9be87f1c340285a3e081eb19b4a247981ed290c + F tool/symbols.sh bc2a3709940d47c8ac8e0a1fdf17ec801f015a00 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f - P 5b1b536cf828850d0e8ac2ab08e8696082715877 edb865c35415f9553f8279028120f7b8de2bf7e2 - R 15c7d86baba462087df3e66721c44f54 + F tool/warnings.sh 347d974d143cf132f953b565fbc03026f19fcb4d -P 54492212af6c4be5d5546b370398ef771c16f430 -R dd08c420fef14e9aaef20168e7aef1b4 ++P 832886b1e6edb916d9824924c7d88202f4eb1969 228c43c726e637daadc0c9b5a8b24243f239b1cf ++R 425dc88cb473dc3555e5dfae20be1cc8 U drh - Z 3723c6e367168438b5fa877d64e1595b -Z ad3555b405ce175e6eb80427a259c9c5 ++Z d13f89a0688fa26bf060c192253dab5c diff --cc manifest.uuid index a8da7a29c8,568bed9d24..4ffebda9e6 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 832886b1e6edb916d9824924c7d88202f4eb1969 -228c43c726e637daadc0c9b5a8b24243f239b1cf ++4c5e276c902e0b93cfc05bf2e1db966ecdac0ed0 diff --cc src/delete.c index 8789fd2e5e,a2df773af8..e6038ddbbb --- a/src/delete.c +++ b/src/delete.c @@@ -407,7 -400,8 +407,8 @@@ void sqlite3DeleteFrom if( IsVirtual(pTab) ){ const char *pVTab = (const char *)sqlite3GetVTable(db, pTab); sqlite3VtabMakeWritable(pParse, pTab); - sqlite3VdbeAddOp4(v, OP_VUpdate, 0, 1, iRowid, pVTab, P4_VTAB); + sqlite3VdbeAddOp4(v, OP_VUpdate, 0, 1, iRowid, (char*)pVTab, P4_VTAB); + sqlite3VdbeChangeP5(v, OE_Abort); sqlite3MayAbort(pParse); }else #endif diff --cc src/tclsqlite.c index e1f451541b,49ff8bcd8d..10d73ad8d2 --- a/src/tclsqlite.c +++ b/src/tclsqlite.c @@@ -3730,9 -3584,11 +3730,13 @@@ static void init_all(Tcl_Interp *interp extern int SqlitetestSyscall_Init(Tcl_Interp*); extern int Sqlitetestfuzzer_Init(Tcl_Interp*); extern int Sqlitetestwholenumber_Init(Tcl_Interp*); - +#if defined(SQLITE_ENABLE_SESSION) && defined(SQLITE_ENABLE_PREUPDATE_HOOK) + extern int TestSession_Init(Tcl_Interp*); +#endif + #ifdef SQLITE_ENABLE_FTS3 + extern int Sqlitetestfts3_Init(Tcl_Interp *interp); + #endif + #ifdef SQLITE_ENABLE_ZIPVFS extern int Zipvfs_Init(Tcl_Interp*); Zipvfs_Init(interp); @@@ -3772,9 -3628,10 +3776,12 @@@ SqlitetestSyscall_Init(interp); Sqlitetestfuzzer_Init(interp); Sqlitetestwholenumber_Init(interp); - +#if defined(SQLITE_ENABLE_SESSION) && defined(SQLITE_ENABLE_PREUPDATE_HOOK) + TestSession_Init(interp); +#endif + #ifdef SQLITE_ENABLE_FTS3 + Sqlitetestfts3_Init(interp); + #endif Tcl_CreateObjCommand(interp,"load_testfixture_extensions",init_all_cmd,0,0); diff --cc src/vdbeaux.c index 26e8bf9c77,447ba57a1e..a45f7a2892 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@@ -2853,9 -2882,8 +2883,9 @@@ UnpackedRecord *sqlite3VdbeRecordUnpack idx += getVarint32(&aKey[idx], serial_type); pMem->enc = pKeyInfo->enc; pMem->db = pKeyInfo->db; - pMem->flags = 0; + /* pMem->flags = 0; // sqlite3VdbeSerialGet() will set this for us */ pMem->zMalloc = 0; + pMem->z = 0; d += sqlite3VdbeSerialGet(&aKey[d], serial_type, pMem); pMem++; u++; @@@ -2880,8 -2909,9 +2911,9 @@@ void sqlite3VdbeDeleteUnpackedRecord(Un ** strings and blobs static. And none of the elements are ** ever transformed, so there is never anything to delete. */ - if( NEVER(pMem->zMalloc) ) sqlite3VdbeMemRelease(pMem); + if( pMem->zMalloc ) sqlite3VdbeMemRelease(pMem); } + #endif if( p->flags & UNPACKED_NEED_FREE ){ sqlite3DbFree(p->pKeyInfo->db, p); }