]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the latest trunk changes into the sessions branch.
authordrh <drh@noemail.net>
Mon, 20 Jun 2011 10:44:10 +0000 (10:44 +0000)
committerdrh <drh@noemail.net>
Mon, 20 Jun 2011 10:44:10 +0000 (10:44 +0000)
FossilOrigin-Name: 4c5e276c902e0b93cfc05bf2e1db966ecdac0ed0

17 files changed:
1  2 
main.mk
manifest
manifest.uuid
src/delete.c
src/main.c
src/sqlite.h.in
src/sqliteInt.h
src/tclsqlite.c
src/update.c
src/vdbe.c
src/vdbe.h
src/vdbeInt.h
src/vdbeapi.c
src/vdbeaux.c
test/hook.test
test/permutations.test
test/tester.tcl

diff --cc main.mk
Simple merge
diff --cc manifest
index ac09e78587949fa08e1a3100634c50e6611b6ba9,1d5ddc2579add0d3a58f01f148d1993e80f357fc..ffa65232b35a0834e0e503ef843cf07b6858da98
+++ 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 a8da7a29c897ab1a91b4cd602539fe95f54e7a74,568bed9d24978faf667b662133d8ec0d49d61f7f..4ffebda9e6a1e1b2844c896a1a884c2ee7692a8b
@@@ -1,1 -1,1 +1,1 @@@
- 832886b1e6edb916d9824924c7d88202f4eb1969
 -228c43c726e637daadc0c9b5a8b24243f239b1cf
++4c5e276c902e0b93cfc05bf2e1db966ecdac0ed0
diff --cc src/delete.c
index 8789fd2e5e47846760d5f96cb9216d0ff6749d21,a2df773af8bd9d2ce16bc8daa2b9045e714450ff..e6038ddbbbb8081d3b782fd198f21d4db8eae8ac
@@@ -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/main.c
Simple merge
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
Simple merge
diff --cc src/tclsqlite.c
index e1f451541bbca737d89239fdeee488cf9af93999,49ff8bcd8db726bffb61923b524e8e6ef88c8863..10d73ad8d211a7f01d1b74969f9682dd395ac87a
@@@ -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);
      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/update.c
Simple merge
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbe.h
Simple merge
diff --cc src/vdbeInt.h
Simple merge
diff --cc src/vdbeapi.c
Simple merge
diff --cc src/vdbeaux.c
index 26e8bf9c7791f209265c927076cdb48525676f21,447ba57a1e136161e23ac206396e07b576654646..a45f7a28921efb530b7c6cf5df4a618c044bb618
@@@ -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);
    }
diff --cc test/hook.test
Simple merge
Simple merge
diff --cc test/tester.tcl
Simple merge