]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the latest trunk changes (especially "PRAGMA busy_timeout" and the
authordrh <drh@noemail.net>
Fri, 28 Sep 2012 13:05:48 +0000 (13:05 +0000)
committerdrh <drh@noemail.net>
Fri, 28 Sep 2012 13:05:48 +0000 (13:05 +0000)
ORDER BY query planner optimizations) into the sessions branch.

FossilOrigin-Name: 6ca8eae1f89d19ee23cbc3a869d85b57d29b4a7d

18 files changed:
1  2 
Makefile.msc
configure
main.mk
manifest
manifest.uuid
src/delete.c
src/insert.c
src/main.c
src/sqlite.h.in
src/sqliteInt.h
src/tclsqlite.c
src/vdbe.c
src/vdbeInt.h
src/vdbeapi.c
src/vdbeaux.c
test/permutations.test
test/tclsqlite.test
test/tester.tcl

diff --cc Makefile.msc
Simple merge
diff --cc configure
Simple merge
diff --cc main.mk
Simple merge
diff --cc manifest
index 2217d6a1bbc250da287f3cff1f8bec01f5063453,6358e6d360505c65877ac921481867330f5712ac..46c1815db63486b21acb1588ef12aace11dc2db9
+++ b/manifest
@@@ -1,12 -1,12 +1,12 @@@
- C Update\sthe\ssessionfault-9.1\sand\s-9.2\stests\sto\saccount\sfor\sthe\schange\sin\nversion\s3.7.11\sin\swhich\sa\spending\sstatement\sno\slonger\sblocks\sROLLBACK\sbut\ninstead\scauses\sthe\snext\scall\son\sthat\sstatement\sto\sreturn\sSQLITE_ABORT.
- D 2012-09-28T12:55:56.421
 -C Query\splanner\senhancements\sto\sbe\smore\sagressive\sabout\soptimizing\sout\sORDER\sBY\nclauses\s-\sin\sparticular\sthe\squery\splanner\snow\shas\sthe\sability\sto\somit\sORDER\sBY\nclauses\sthat\sspan\smultiple\stables\sin\sa\sjoin.
 -D 2012-09-28T00:44:28.903
++C Merge\sthe\slatest\strunk\schanges\s(especially\s"PRAGMA\sbusy_timeout"\sand\sthe\nORDER\sBY\squery\splanner\soptimizations)\sinto\sthe\ssessions\sbranch.
++D 2012-09-28T13:05:48.372
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
- F Makefile.in abd5c10d21d1395f140d9e50ea999df8fa4d6376
+ F Makefile.in 5f4f26109f9d80829122e0e09f9cda008fa065fb
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
- F Makefile.msc f153aec9a398d04df7a6dbd4ec092bf3f8edcad3
- F Makefile.vxworks 879f034a64062a364b21000266bbd5bc6e0c19b9
 -F Makefile.msc 1102ce2c75965b9b5534efce380007ffcb08c52e
++F Makefile.msc 321efe6f572a1d4f8e27794c4575dd9b51d3e731
+ F Makefile.vxworks b18ad88e9a8c6a001f5cf4a389116a4f1a7ab45f
  F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
- F VERSION a71848df48082f1d6585d4b0819d530fc455485d
+ F VERSION edab4af5a4623f8198833ea481ce98ab53750a8d
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
  F addopcodes.awk 17dc593f791f874d2c23a0f9360850ded0286531
  F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
@@@ -15,7 -15,7 +15,7 @@@ F art/sqlite370.jpg d512473dae7e378a67e
  F config.guess 226d9a188c6196f3033ffc651cbc9dcee1a42977
  F config.h.in 0921066a13130082764ab4ab6456f7b5bebe56de
  F config.sub 9ebe4c3b3dab6431ece34f16828b594fb420da55
- F configure 4dd7d5fa033f649d7372e9ebd4aff68db6026da4 x
 -F configure 4907207e1627a394e8892cce8dcc8068fbe5f7cd x
++F configure 2f40e28f141c324333498977b01f744fe189462e x
  F configure.ac 6e909664785b8184db2179013cd9d574f96ca3a3
  F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
  F doc/lemon.html 334dbf6621b8fb8790297ec1abf3cfa4621709d1
@@@ -101,21 -101,9 +101,21 @@@ F ext/rtree/rtree_util.tcl 06aab2ed5b82
  F ext/rtree/sqlite3rtree.h c34c1e41d1ab80bb8ad09aae402c9c956871a765
  F ext/rtree/tkt3363.test 142ab96eded44a3615ec79fba98c7bde7d0f96de
  F ext/rtree/viewrtree.tcl eea6224b3553599ae665b239bd827e182b466024
 +F ext/session/session1.test 502086908e4144dfaccb1baa77bc29d75a9daace
 +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/session6.test 443789bc2fca12e4f7075cf692c60b8a2bea1a26
 +F ext/session/session8.test 7d35947ad329b8966f095d34f9617a9eff52dc65
 +F ext/session/session_common.tcl 1539d8973b2aea0025c133eb0cc4c89fcef541a5
 +F ext/session/sessionfault.test 496291b287ba3c0b14ca2e074425e29cc92a64a6
 +F ext/session/sqlite3session.c 57d04e1d6a3579e673e61dea29f214fb4e0fc505
 +F ext/session/sqlite3session.h f374c9c4c96e08f67ac418871c29d423245c7673
 +F ext/session/test_session.c ea4dc9b4a1895c8e6bddcbfe3838d7eb57df2d99
  F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
  F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
- F main.mk 1e1c4a0f975cc43e3e4221249367a40c076b34c0
 -F main.mk 7b60c2663388270258f01b59fbf8b9bd78f946bf
++F main.mk 9c55b39d4887aa834ca2e827b7361d95703887bc
  F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a
  F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f
  F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac
@@@ -138,26 -124,26 +136,26 @@@ F src/btmutex.c 976f45a12e37293e32cae02
  F src/btree.c 9cf6de113d23d47967df24b8d8ce6501c879d7e6
  F src/btree.h 4aee02e879211bfcfd3f551769578d2e940ab6c2
  F src/btreeInt.h 4e5c2bd0f9b36b2a815a6d84f771a61a65830621
- F src/build.c a3b700afd475e6387da59be6f2e86161e80d6d87
+ F src/build.c c4555e16f8ccdadb2616014c617ed8166c5a93f7
  F src/callback.c 0cb4228cdcd827dcc5def98fb099edcc9142dbcd
  F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
- F src/ctime.c 500d019da966631ad957c37705642be87524463b
+ F src/ctime.c 72a70dcfda75d3a1f81041ce4573e7afddcd8e4e
  F src/date.c 067a81c9942c497aafd2c260e13add8a7d0c7dd4
- F src/delete.c 38f7517f76c61b971a51c91cc343e77897ef6a12
- F src/expr.c 217840a107dcc1e5dbb57cea311daad04bedbb9a
 -F src/delete.c 4f7d773ec44b7db22b30ec9144f58a69154e09b7
++F src/delete.c c856ca31177a5cc1612b47ca0c628cd227aa072e
+ F src/expr.c 4de967b85f577ba00a7cdcb53d22070def6198db
  F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
- F src/fkey.c 9c77d842dc9961d92a06a65abb80c64ef1750296
- F src/func.c 18dfedfb857e100b05755a1b12e88b389f957879
- F src/global.c 4cfdca5cb0edd33c4d021baec4ede958cb2c793b
+ F src/fkey.c c82a04e7a92bb728f9ab972b76590403283be2af
+ F src/func.c cbb90dc84b22eea25caf39528d342279e61b8898
+ F src/global.c fb44b11e02e06c995e6ed6642509edd23599d584
  F src/hash.c a4031441741932da9e7a65bee2b36b5d0e81c073
  F src/hash.h 2894c932d84d9f892d4b4023a75e501f83050970
  F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
- F src/insert.c 8c5a3aba0e97c39679de3b33f95e7795d336fc87
 -F src/insert.c 6e2aa7fbb5d4c5f34d412772751ed0aff0b9e87b
++F src/insert.c 08ec5cec28c692fc27a23659875cc167f5c6ece7
  F src/journal.c 552839e54d1bf76fb8f7abe51868b66acacf6a0e
  F src/legacy.c a199d7683d60cef73089e892409113e69c23a99f
  F src/lempar.c 0ee69fca0be54cd93939df98d2aca4ca46f44416
  F src/loadext.c f20382fbaeec832438a1ba7797bee3d3c8a6d51d
- F src/main.c 1f15146d32b183d45fd0d41e8370a326c5d647ac
 -F src/main.c 5249486037f88e765cce7c4870846dc5a2cd2ed1
++F src/main.c febaf66b42c36433b170e4704fef5b8b073a6d61
  F src/malloc.c fe085aa851b666b7c375c1ff957643dc20a04bf6
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c 437c7c4af964895d4650f29881df63535caaa1fa
@@@ -188,16 -174,17 +186,17 @@@ F src/printf.c 4a9f882f1c1787a8b494a298
  F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
  F src/resolve.c 9e28280ec98035f31900fdd1db01f86f68ca6c32
  F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0
- F src/select.c f843c872a97baa1594c2cc3d4c003409a7bd03af
- F src/shell.c 87953c5d9c73d9494db97d1607e2e2280418f261
- F src/sqlite.h.in 930b719ce295058817aa58e7b65c43dc668cc098
+ F src/select.c 75c5e37cc882c468383c9d9e07496b9a16cfae3e
+ F src/shell.c 8ee5a3cb502e2d574f97b43972e6c1e275e7bec7
 -F src/sqlite.h.in cbe846facaba903654b4136c97e7f57b3ac0bac7
++F src/sqlite.h.in 2f2822ac789d820e05afb19831e62fd83e69c60b
+ F src/sqlite3.rc fea433eb0a59f4c9393c8e6d76a6e2596b1fe0c0
  F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477
- F src/sqliteInt.h 569cb02b6555db22dbe38566ed904f40f0ae5eb8
 -F src/sqliteInt.h c29395d6e68cfbcb2661787ae4820e5e256c916a
++F src/sqliteInt.h 34844b666512c2c5656c5d470f165ed1db0fcd48
  F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d
  F src/status.c 35939e7e03abf1b7577ce311f48f682c40de3208
  F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
- F src/tclsqlite.c e4feb5698ee09f8b32ee40baa1d3577871125042
- F src/test1.c 3d70f7c5987f186884cfebbfa7151a7d3d67d86e
 -F src/tclsqlite.c e4de2458b3ef38fdd0498bc4e5ea5367a241b0f3
++F src/tclsqlite.c 79ac64bdd8555b8967032e1e69051d88366f9b77
+ F src/test1.c 0354b555639c92d2a63c0ad4e74ed152ba47e604
  F src/test2.c 4178056dd1e7d70f954ad8a1e3edb71a2a784daf
  F src/test3.c 3c3c2407fa6ec7a19e24ae23f7cb439d0275a60d
  F src/test4.c bf9fa9bece01de08e6f5e02314e4af5c13590dfa
@@@ -245,16 -232,16 +244,16 @@@ F src/test_wholenumber.c 3d2b9ed1505c40
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
  F src/tokenize.c 1e86210d3976717a19238ea7b047fac481fe8c12
  F src/trigger.c 3f258307040173aff383eb23fb74c44fe829078c
 -F src/update.c 28d2d098b43a2c70dae399896ea8a02f622410ef
 +F src/update.c abb0fcabe551dae0a133fd2a4370b5a8c23b1831
- F src/utf.c 890c67dcfcc7a74623c95baac7535aadfe265e84
+ F src/utf.c 8d819e2e5104a430fc2005f018db14347c95a38f
  F src/util.c 0af2e515dc0dabacec931bca39525f6c3f1c5455
  F src/vacuum.c 587a52bb8833d7ac15af8916f25437e2575028bd
- F src/vdbe.c b01b505ced376ee6a9310300c9cb1a0980731f94
 -F src/vdbe.c 31523df2b986fc6c959dd54ca640ba865884641b
 -F src/vdbe.h 18f581cac1f4339ec3299f3e0cc6e11aec654cdb
 -F src/vdbeInt.h 573a43ab5697b648a1e8f3dfc7d8667d5ca55729
 -F src/vdbeapi.c 4c2418161cf45392ba76a7ca92f9a5f06b96f89c
 -F src/vdbeaux.c fac025c798ad19070451b41eddc5dcd4696fdd1e
 -F src/vdbeblob.c 32f2a4899d67f69634ea4dd93e3f651936d732cb
++F src/vdbe.c e8e2e34c23a474c38f494d572a0d8accaabd0b4a
 +F src/vdbe.h 87b8ff40de3f55dbcdc33029416862f517c37a2f
- F src/vdbeInt.h 3f5d994703b6d61032d48f3086329c960b1697e9
- F src/vdbeapi.c 7d23764ea26c1fff2959e6a0984dd96de0fa8f75
- F src/vdbeaux.c 797201e170a8bcc746d62aa82e2a280419b3839b
++F src/vdbeInt.h 39acf85fa83f98e27e728722a0f53daf7d174b61
++F src/vdbeapi.c 58fdcd56109c05876f69c25d47a138ef370d3647
++F src/vdbeaux.c 857c8372d3b06d66e37428712265f9033932f3ec
 +F src/vdbeblob.c 11248c6362389569764682eb0f59ce910f3cc381
  F src/vdbemem.c cb55e84b8e2c15704968ee05f0fae25883299b74
  F src/vdbesort.c 0dc1b274dcb4d4c8e71b0b2b15261f286caba39b
  F src/vdbetrace.c 8bd5da325fc90f28464335e4cc4ad1407fe30835
@@@ -655,7 -646,7 +658,7 @@@ F test/pageropt.test 9191867ed19a2b3db6
  F test/pagesize.test 1dd51367e752e742f58e861e65ed7390603827a0
  F test/pcache.test 065aa286e722ab24f2e51792c1f093bf60656b16
  F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
- F test/permutations.test 02dd9f7fd2fc874d25572b9ae431181bd69a174f
 -F test/permutations.test 360b92859c0af814b3fe10b68746936389606501
++F test/permutations.test 379cfbb9a5eea2499d05008c04d18ddb4f2c01a9
  F test/pragma.test a62f73293b0f0d79b0c87f8dd32d46fe53b0bd17
  F test/pragma2.test 3a55f82b954242c642f8342b17dffc8b47472947
  F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552
@@@ -746,11 -736,11 +749,11 @@@ F test/syscall.test bea9bf329bff733c791
  F test/sysfault.test c79441d88d23696fbec7b147dba98d42a04f523f
  F test/table.test a59d985ca366e39b17b175f387f9d5db5a18d4e2
  F test/tableapi.test 2674633fa95d80da917571ebdd759a14d9819126
- F test/tclsqlite.test 2f2aa887763af30641f5561bdc26c5d3fbc73a88
 -F test/tclsqlite.test a3d2df21ee98957f5de4f9dc1db0eab68047ab5d
++F test/tclsqlite.test 02b2c268d38203987dd1839598ac524f7612ec3c
  F test/tempdb.test 19d0f66e2e3eeffd68661a11c83ba5e6ace9128c
  F test/temptable.test 51edd31c65ed1560dd600b1796e8325df96318e2
  F test/temptrigger.test 26670ed7a39cf2296a7f0a9e0a1d7bdb7abe936d
- F test/tester.tcl 184ef244e01486ba1625f71f501b07dd483f5a54
 -F test/tester.tcl 2f383e811010b05a83c0f00fc168cae1dd63a6d9
++F test/tester.tcl ac81733138d2b159f0b7f0379b6509e301f47cd4
  F test/thread001.test 7cc2ce08f9cde95964736d11e91f9ab610f82f91
  F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
  F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
@@@ -1026,7 -1017,7 +1030,7 @@@ F tool/vdbe-compress.tcl f12c884766bd14
  F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
  F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
  F tool/win/sqlite.vsix 67d8a99aceb56384a81b3f30d6c71743146d2cc9
- P 87995dc9409482f0a7a367bfc51d78ac0f63b8c3
- R 0ffae7a510db2af1076692fe90154443
 -P 20caf80cb3b65e69a99dbc142db8ee435fb2dbdc 98b633717a1c9a08f6a1d00bc6bc891564ae7e9b
 -R 4c8024fc13aa6a5fc65357b963a76180
++P fae9eb197fcef726fd2c7c701afe6805fc008cf9 1e874629d7cf568368b912b295bd3001147d0b52
++R 3dd4bfa3bb20bc9f3b355292d5659141
  U drh
- Z a5785b316a6ee7492de59cea784cd09f
 -Z 885caf237f331087362c9bb98b2de660
++Z d6a15b3f33482cbc762a2fcdf6bf0623
diff --cc manifest.uuid
index 5fdf4c7f291e177402f9fc7e19c210dabdc20b11,bdeb814a0706ecfa76d47a55935201568706554d..8adce7bd3f98860fa095665d8ec535285681ca1a
@@@ -1,1 -1,1 +1,1 @@@
- fae9eb197fcef726fd2c7c701afe6805fc008cf9
 -1e874629d7cf568368b912b295bd3001147d0b52
++6ca8eae1f89d19ee23cbc3a869d85b57d29b4a7d
diff --cc src/delete.c
Simple merge
diff --cc src/insert.c
Simple merge
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
Simple merge
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeInt.h
Simple merge
diff --cc src/vdbeapi.c
Simple merge
diff --cc src/vdbeaux.c
index e72205664447c6a83d7a09ee43baa1bfdea5b9ed,9db3bf435c69c742c4507892b258ac7c58e92c08..731375eccd8138a6fbecaa5a1d0840479bf3d5dd
@@@ -3237,83 -3236,3 +3238,85 @@@ void sqlite3VdbeSetVarmask(Vdbe *v, in
      v->expmask |= ((u32)1 << (iVar-1));
    }
  }
 +
 +#ifdef SQLITE_ENABLE_PREUPDATE_HOOK
 +
 +/*
 +** If the second argument is not NULL, release any allocations associated 
 +** with the memory cells in the p->aMem[] array. Also free the UnpackedRecord
 +** structure itself, using sqlite3DbFree().
 +**
 +** This function is used to free UnpackedRecord structures allocated by
 +** the vdbeUnpackRecord() function found in vdbeapi.c.
 +*/
 +static void vdbeFreeUnpacked(sqlite3 *db, UnpackedRecord *p){
 +  if( p ){
 +    int i;
 +    for(i=0; i<p->nField; i++){
 +      Mem *pMem = &p->aMem[i];
 +      if( pMem->zMalloc ) sqlite3VdbeMemRelease(pMem);
 +    }
 +    sqlite3DbFree(db, p);
 +  }
 +}
 +
 +/*
 +** Invoke the pre-update hook. If this is an UPDATE or DELETE pre-update call,
 +** then cursor passed as the second argument should point to the row about
 +** to be update or deleted. If the application calls sqlite3_preupdate_old(),
 +** the required value will be read from the row the cursor points to.
 +*/
 +void sqlite3VdbePreUpdateHook(
 +  Vdbe *v,                        /* Vdbe pre-update hook is invoked by */
 +  VdbeCursor *pCsr,               /* Cursor to grab old.* values from */
 +  int op,                         /* SQLITE_INSERT, UPDATE or DELETE */
 +  const char *zDb,                /* Database name */
 +  Table *pTab,                    /* Modified table */
 +  i64 iKey1,                      /* Initial key value */
 +  int iReg                        /* Register for new.* record */
 +){
 +  sqlite3 *db = v->db;
 +  i64 iKey2;
 +  PreUpdate preupdate;
 +  const char *zTbl = pTab->zName;
++  static const u8 fakeSortOrder = 0;
 +
 +  assert( db->pPreUpdate==0 );
 +  memset(&preupdate, 0, sizeof(PreUpdate));
 +  if( op==SQLITE_UPDATE ){
 +    iKey2 = v->aMem[iReg].u.i;
 +  }else{
 +    iKey2 = iKey1;
 +  }
 +
 +  assert( pCsr->nField==pTab->nCol 
 +       || (pCsr->nField==pTab->nCol+1 && op==SQLITE_DELETE && iReg==-1)
 +  );
 +
 +  preupdate.v = v;
 +  preupdate.pCsr = pCsr;
 +  preupdate.op = op;
 +  preupdate.iNewReg = iReg;
 +  preupdate.keyinfo.db = db;
 +  preupdate.keyinfo.enc = ENC(db);
 +  preupdate.keyinfo.nField = pTab->nCol;
++  preupdate.keyinfo.aSortOrder = &fakeSortOrder;
 +  preupdate.iKey1 = iKey1;
 +  preupdate.iKey2 = iKey2;
 +  preupdate.iPKey = pTab->iPKey;
 +
 +  db->pPreUpdate = &preupdate;
 +  db->xPreUpdateCallback(db->pPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2);
 +  db->pPreUpdate = 0;
 +  sqlite3DbFree(db, preupdate.aRecord);
 +  vdbeFreeUnpacked(db, preupdate.pUnpacked);
 +  vdbeFreeUnpacked(db, preupdate.pNewUnpacked);
 +  if( preupdate.aNew ){
 +    int i;
 +    for(i=0; i<pCsr->nField; i++){
 +      sqlite3VdbeMemRelease(&preupdate.aNew[i]);
 +    }
 +    sqlite3DbFree(db, preupdate.aNew);
 +  }
 +}
 +#endif /* SQLITE_ENABLE_PREUPDATE_HOOK */
index 6bbdd9b83f3eb41345f5d6cad39a373f6bebc7d2,711d4e57d392db343a0301c72024075fd6b9d742..18377e8aabf4c44efe341d86117802f977029508
@@@ -99,7 -96,7 +99,7 @@@ if {$::tcl_platform(platform)!="unix"} 
  set alltests [test_set $alltests -exclude {
    all.test        async.test         quick.test  veryquick.test
    memleak.test    permutations.test  soak.test   fts3.test
-   mallocAll.test  rtree.test         session.test
 -  mallocAll.test  rtree.test         full.test
++  mallocAll.test  rtree.test         full.test   session.test
  }]
  
  set allquicktests [test_set $alltests -exclude {
Simple merge
diff --cc test/tester.tcl
Simple merge