]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the latest trunk changes, including the multi-threaded sorter, into
authordrh <drh@noemail.net>
Tue, 2 Sep 2014 15:49:47 +0000 (15:49 +0000)
committerdrh <drh@noemail.net>
Tue, 2 Sep 2014 15:49:47 +0000 (15:49 +0000)
the sessions branch.

FossilOrigin-Name: d4cce2c71e64ab7b6a65a81b88b69445ed859351

17 files changed:
1  2 
Makefile.in
Makefile.msc
main.mk
manifest
manifest.uuid
src/main.c
src/shell.c
src/sqlite.h.in
src/sqliteInt.h
src/test_config.c
src/vdbe.c
src/vdbeInt.h
src/vdbeapi.c
src/vdbeaux.c
test/permutations.test
test/tester.tcl
tool/mksqlite3c.tcl

diff --cc Makefile.in
index 3292da77418c05e3790cd4ace77f911003be6358,a2213e89e574e73483f41b10e6fe85a5721962c2..09a36822733d1904a5744d8e1b6c0e12dedc1fa0
@@@ -178,9 -176,8 +178,9 @@@ LIBOBJS0 = alter.lo analyze.lo attach.l
           mutex.lo mutex_noop.lo mutex_unix.lo mutex_w32.lo \
           notify.lo opcodes.lo os.lo os_unix.lo os_win.lo \
           pager.lo parse.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \
 -         random.lo resolve.lo rowset.lo rtree.lo select.lo status.lo \
 +         random.lo resolve.lo rowset.lo rtree.lo \
 +         sqlite3session.lo select.lo status.lo \
-          table.lo tokenize.lo trigger.lo \
+          table.lo threads.lo tokenize.lo trigger.lo \
           update.lo util.lo vacuum.lo \
           vdbe.lo vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
           vdbetrace.lo wal.lo walker.lo where.lo utf.lo vtab.lo
diff --cc Makefile.msc
index d246cf03c37d466a177d8b8b23f3fe5addf3d154,4173eaae27ef3c1d95336327734ab9877d0f8dce..33f42b45c690da64f904bfed39c0392954c92ff9
@@@ -645,9 -635,8 +645,9 @@@ LIBOBJS0 = vdbe.lo parse.lo alter.lo an
           mutex.lo mutex_noop.lo mutex_unix.lo mutex_w32.lo \
           notify.lo opcodes.lo os.lo os_unix.lo os_win.lo \
           pager.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \
 -         random.lo resolve.lo rowset.lo rtree.lo select.lo status.lo \
 +         random.lo resolve.lo rowset.lo rtree.lo \
 +         sqlite3session.lo select.lo status.lo \
-          table.lo tokenize.lo trigger.lo \
+          table.lo threads.lo tokenize.lo trigger.lo \
           update.lo util.lo vacuum.lo \
           vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
           vdbetrace.lo wal.lo walker.lo where.lo utf.lo vtab.lo
diff --cc main.mk
Simple merge
diff --cc manifest
index 1ee12f681d727e957793ff281156539f16008de9,58fd42dc62e006e4549243c7b6782ea285eb5a17..33b9992ce775fea3ee4fb252c9ff50821c7ce645
+++ b/manifest
@@@ -1,9 -1,9 +1,9 @@@
- C Merge\srecent\sperformance\senhancements\sand\sthe\sCAST\soperator\senhancements\ninto\sthe\ssessions\sbranch.
- D 2014-08-26T02:15:07.293
 -C Update\scomments\sin\sthe\sANALYZE\scommand\sthat\sdescribe\show\sthe\sStat4Accum\nobjecct\sis\spassed\saround\swithin\sthe\sVDBE.\s\sNo\schanges\sto\sfunctional\scode.
 -D 2014-09-01T23:06:44.401
++C Merge\sthe\slatest\strunk\schanges,\sincluding\sthe\smulti-threaded\ssorter,\sinto\nthe\ssessions\sbranch.
++D 2014-09-02T15:49:47.703
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
- F Makefile.in d5ad373b7a23525414b8843b3084cf90c560d92f
 -F Makefile.in cf57f673d77606ab0f2d9627ca52a9ba1464146a
++F Makefile.in dd5f245aa8c741bc65845747203c8ce2f3fb6c83
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
- F Makefile.msc f1bbf555916b6e60887d86cea62f27e6a26cdb24
 -F Makefile.msc e31dee24038965fb6269d6d61073fd6b7e331dec
++F Makefile.msc 35808af7f8d999176ed5b38fb482a87a129ee3e1
  F Makefile.vxworks 034289efa9d591b04b1a73598623119c306cbba0
  F README.md 64f270c43c38c46de749e419c22f0ae2f4499fe8
  F VERSION 53a0b870e7f16d3b06623c31d233a304c163a6af
@@@ -163,7 -147,7 +163,7 @@@ F ext/session/test_session.c a252fb669d
  F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
  F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
  F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
- F main.mk a9987b6655610e663e9f055e0f1646227f45cddd
 -F main.mk 9b5ccf1097050b1f16681f7d4beeea4f7f7ac2c3
++F main.mk 4dfbd8fbc91ee5732554b31a205960241c4fc059
  F mkopcodec.awk c2ff431854d702cdd2d779c9c0d1f58fa16fa4ea
  F mkopcodeh.awk c6b3fa301db6ef7ac916b14c60868aeaec1337b5
  F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
@@@ -192,8 -176,8 +192,8 @@@ F src/callback.c b97d0695ffcf6a8710ee44
  F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
  F src/ctime.c 0231df905e2c4abba4483ee18ffc05adc321df2a
  F src/date.c 593c744b2623971e45affd0bde347631bdfa4625
 -F src/delete.c 5adcd322c6b08fc25d215d780ca62cebce66304d
 +F src/delete.c cb7a757eb829ebb046c66f6399435c6636fe1314
- F src/expr.c 358634f4ddeeb4e69643cb6db5819104a7834c60
+ F src/expr.c e1691ab0fe6be7247ef073b0038fb8ecd9944fad
  F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
  F src/fkey.c 8d81a780ad78d16ec9082585758a8f1d6bf02ca3
  F src/func.c bbb724b74ed96ca42675a7274646a71dd52bcda7
@@@ -206,7 -190,7 +206,7 @@@ F src/journal.c b4124532212b6952f42eb2c
  F src/legacy.c 87c92f4a08e2f70220e3b22a9c3b2482d36a134a
  F src/lempar.c cdf0a000315332fc9b50b62f3b5e22e080a0952b
  F src/loadext.c 31c2122b7dd05a179049bbf163fd4839f181cbab
- F src/main.c f375a8d81960b5ff3a7a765e1367b0d0cd90f222
 -F src/main.c d2ef03a45552e11813c68326d5edfda992e319d4
++F src/main.c 20a0c78f2b9f66766402d2a6563ffe047c64a8be
  F src/malloc.c 954de5f998c23237e04474a3f2159bf483bba65a
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c c0c990fcaddff810ea277b4fb5d9138603dd5d4b
@@@ -239,17 -223,17 +239,17 @@@ F src/printf.c 00986c86ddfffefc2fd3c736
  F src/random.c d10c1f85b6709ca97278428fd5db5bbb9c74eece
  F src/resolve.c 0ea356d32a5e884add23d1b9b4e8736681dd5697
  F src/rowset.c a9c9aae3234b44a6d7c6f5a3cadf90dce1e627be
- F src/select.c ea48e891406ccdf748f3eb02893e056d134a0fea
- F src/shell.c 34be9dc9e7b96081488acebecae6cd92632397a6
- F src/sqlite.h.in 021a1f5c50e83060675d994a6014fd409e611d9e
+ F src/select.c 89e569b263535662f54b537eb9118b2c554ae7aa
 -F src/shell.c 713cef4d73c05fc8e12f4960072329d767a05d50
 -F src/sqlite.h.in 43852c8b68b4c579948cb37182918078836c5c06
++F src/shell.c ec6d5f630ed617dc80cbc35d9e45fe47f07923db
++F src/sqlite.h.in 49c501f66e0d6591ebe7588edddf0c4b06c8b9e9
  F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
  F src/sqlite3ext.h 886f5a34de171002ad46fae8c36a7d8051c190fc
- F src/sqliteInt.h 2ecc10cd81d38e8617e24ed425e6ec792195b0f0
 -F src/sqliteInt.h 6244ee9052752e26d1275ab20c9b774385aa57d2
++F src/sqliteInt.h 465b40ebe68a1a4127e33740550ac53976172652
  F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d
  F src/status.c 7ac05a5c7017d0b9f0b4bcd701228b784f987158
  F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
 -F src/tclsqlite.c 7d100e2e7aad614bb3d7026a41a0e3827dbaaebc
 +F src/tclsqlite.c 30d8f4ba516061832cfe10d7c71d84e17bff1918
- F src/test1.c 14409a611e9c27c6c522c610bbff5561f05c1558
+ F src/test1.c 363a5089230a92cf0aaa7a2945da7f2bf3b0a8d3
  F src/test2.c 98049e51a17dc62606a99a9eb95ee477f9996712
  F src/test3.c 1c0e5d6f080b8e33c1ce8b3078e7013fdbcd560c
  F src/test4.c 9b32d22f5f150abe23c1830e2057c4037c45b3df
@@@ -262,7 -246,7 +262,7 @@@ F src/test_async.c 21e11293a2f72080eda7
  F src/test_autoext.c dea8a01a7153b9adc97bd26161e4226329546e12
  F src/test_backup.c 3875e899222b651e18b662f86e0e50daa946344e
  F src/test_btree.c 2e9978eca99a9a4bfa8cae949efb00886860a64f
- F src/test_config.c f0252240543895769a6bf037c206a4af74cf1e3c
 -F src/test_config.c d5f00627c4f47515a57f905806558153cccd7253
++F src/test_config.c a65043d01ad3bd2dfe9a3aa7e39a9935b069f6aa
  F src/test_demovfs.c 69b2085076654ebc18014cbc6386f04409c959a9
  F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc
  F src/test_fs.c ced436e3d4b8e4681328409b8081051ce614e28f
@@@ -294,20 -278,21 +294,21 @@@ F src/test_thread.c 1e133a40b50e9c035b0
  F src/test_vfs.c f84075a388527892ff184988f43b69ce69b8083c
  F src/test_vfstrace.c bab9594adc976cbe696ff3970728830b4c5ed698
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
+ F src/threads.c 22dded4283dc4b25422f6444cdcb8d6b1ea0b5ff
  F src/tokenize.c ae45399d6252b4d736af43bee1576ce7bff86aec
  F src/trigger.c 4bddd12803275aa98f1c7ce0118fceb02b2167f6
 -F src/update.c ea336ce7b8b3fc5e316ba8f082e6445babf81059
 +F src/update.c b0f38fda25d532343d54b7dc49f55ab73e92ca45
  F src/utf.c 77abb5e6d27f3d236e50f7c8fff1d00e15262359
  F src/util.c 068dcd26354a3898ccc64ad5c4bdb95a7a15d33a
  F src/vacuum.c 3728d74919d4fb1356f9e9a13e27773db60b7179
- F src/vdbe.c 5e576d164e6cfb8ef1c6324c3d6eca56322fd656
 -F src/vdbe.c 90db7ad740b6d3f7ab446e6244dbc17ce495cca6
 -F src/vdbe.h c63fad052c9e7388d551e556e119c0bcf6bebdf8
 -F src/vdbeInt.h cdc8e421f85beb1ac9b4669ec5beadab6faa15e0
 -F src/vdbeapi.c 09677a53dd8c71bcd670b0bd073bb9aefa02b441
 -F src/vdbeaux.c cef5d34a64ae3a65b56d96d3fd663246ec8e1c36
 -F src/vdbeblob.c 848238dc73e93e48432991bb5651bf87d865eca4
++F src/vdbe.c 591bd4a84f1c37d004f545f8e805b7e597afc87f
 +F src/vdbe.h ca3b6df299adce6e2f499c57e42ae54f142ae823
- F src/vdbeInt.h 6a50eb240aac711ac609f624daa225781711c6fd
- F src/vdbeapi.c ce34bb80571f72463dbd45380e3eae65ddc52018
- F src/vdbeaux.c 236cc1afd82ab542fc752ed760471ac816cb7902
++F src/vdbeInt.h 872d39f632bfd12897a6ab184ad4c1df5c38eb7a
++F src/vdbeapi.c 6b14e76648bbd10a95a2f3963ee09a8d06658f5e
++F src/vdbeaux.c 3118c164becbbf5a017d04826bbd93559ab9e190
 +F src/vdbeblob.c d65b01f439df63911ac3d7a9a85c15503965f2c3
- F src/vdbemem.c 4e08ea087aea367dae7c45129b75487e0056e819
- F src/vdbesort.c f7f5563bf7d4695ca8f3203f3bf9de96d04ed0b3
+ F src/vdbemem.c 921d5468a68ac06f369810992e84ca22cc730a62
+ F src/vdbesort.c 02646a9f86421776ae5d7594f620f9ed669d3698
  F src/vdbetrace.c 6f52bc0c51e144b7efdcfb2a8f771167a8816767
  F src/vtab.c 019dbfd0406a7447c990e1f7bd1dfcdb8895697f
  F src/wal.c 264df50a1b33124130b23180ded2e2c5663c652a
@@@ -771,7 -756,7 +772,7 @@@ F test/pagesize.test 1dd51367e752e742f5
  F test/pcache.test b09104b03160aca0d968d99e8cd2c5b1921a993d
  F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
  F test/percentile.test b98fc868d71eb5619d42a1702e9ab91718cbed54
- F test/permutations.test bf568516e21758f2961a4612f29dc422d3ab75c1
 -F test/permutations.test cef25f5e8499a15846eccd06785f17f4180407ab
++F test/permutations.test 89f594fdba922586d46c3e0a7ab4990b5a7f8da7
  F test/pragma.test 19d0241a007bcdd77fc2606ec60fc60357e7fc8b
  F test/pragma2.test aea7b3d82c76034a2df2b38a13745172ddc0bc13
  F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552
@@@ -883,7 -871,7 +888,7 @@@ F test/tclsqlite.test a7308276aad2e6c0b
  F test/tempdb.test 19d0f66e2e3eeffd68661a11c83ba5e6ace9128c
  F test/temptable.test d2c9b87a54147161bcd1822e30c1d1cd891e5b30
  F test/temptrigger.test 8ec228b0db5d7ebc4ee9b458fc28cb9e7873f5e1
- F test/tester.tcl eac48cc21d519ac33a4fbaa3b425d178861fe741
 -F test/tester.tcl ed77454e6c7b40eb501db7e79d1c6fbfd3eebbff
++F test/tester.tcl 655afed0715958ec50fd575549e6c4e57311ff18
  F test/thread001.test 9f22fd3525a307ff42a326b6bc7b0465be1745a5
  F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
  F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
@@@ -1170,11 -1158,11 +1175,11 @@@ F tool/logest.c eef612f8adf4d0993dafed0
  F tool/mkautoconfamal.sh 5dc5010e2e748a9e1bba67baca5956a2c2deda7b
  F tool/mkkeywordhash.c dfff09dbbfaf950e89af294f48f902181b144670
  F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
- F tool/mkpragmatab.tcl 78a77b2c554d534c6f2dc903130186ed15715460
+ F tool/mkpragmatab.tcl cce51d8f60c7f145d8fccabe6b5dfdedf31c5f5c
  F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
- F tool/mksqlite3c-noext.tcl 1712d3d71256ca1f297046619c89e77a4d7c8f6d
- F tool/mksqlite3c.tcl d2a3f219da0d86cea1e7e7101f819e187385ea1d
+ F tool/mksqlite3c-noext.tcl 88a1e3b0c769773fb7a9ebb363ffc603a4ac21d8
 -F tool/mksqlite3c.tcl e72c0c97fe1a105fa9616483e652949be2199fe6
 -F tool/mksqlite3h.tcl ba24038056f51fde07c0079c41885ab85e2cff12
++F tool/mksqlite3c.tcl a2f61b529778ffe620531352c03b5cdc6fd03c0a
 +F tool/mksqlite3h.tcl 2d0f1b3768f8d000b7881217d5fd4c776eb27467
  F tool/mksqlite3internalh.tcl b6514145a7d5321b47e64e19b8116cc44f973eb1
  F tool/mkvsix.tcl 52a4c613707ac34ae9c226e5ccc69cb948556105
  F tool/offsets.c fe4262fdfa378e8f5499a42136d17bf3b98f6091
@@@ -1205,7 -1193,7 +1210,7 @@@ F tool/vdbe_profile.tcl 67746953071a9f8
  F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
  F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- P 0b9e2c3269695713b538561d999c68097db70f0c af364cce9da0961593ef876b646197f82df08ad5
- R 7c6d04c5134339ec2be8d6e1d0b0aa83
 -P 4cae93f8ae8fb3fe38fd5dc7d3a5ea0d11552841
 -R fe37d23fb1f96547febf2ff7c0ba49b9
++P 08ae974ac80fabe53f515bbbd93ccf55de8ee671 9779c7a9eb1e2bd36e9286331a9314f064014d80
++R 11d01aea9d4869c03771e6bed22886b5
  U drh
- Z 9ac7a7803f5fd67d6db4d00d2f3fd4ea
 -Z 29e2a2847ff584a00093c5b89ffca704
++Z 5223b9b83d8a079e78fcc2500add2ce8
diff --cc manifest.uuid
index 796f45da2d2b7226a6a8fd4e1ece6e8b88c7dd12,af2604f4696f4a9b8a470ab79489620f469f18b6..89f6e35640ae1eb3661f1b98f30dc04930e50222
@@@ -1,1 -1,1 +1,1 @@@
- 08ae974ac80fabe53f515bbbd93ccf55de8ee671
 -9779c7a9eb1e2bd36e9286331a9314f064014d80
++d4cce2c71e64ab7b6a65a81b88b69445ed859351
diff --cc src/main.c
Simple merge
diff --cc src/shell.c
index 932f561bd168f3676ea1c9f50ab35f664f66c0f0,afe01ef1a16f5f8d4c3ac6f6c267049d21fa91c8..c7089fa8f26d7d7ffe553ea603da13cfba709b1e
@@@ -492,12 -480,15 +493,19 @@@ struct ShellState 
    int *aiIndent;         /* Array of indents used in MODE_Explain */
    int nIndent;           /* Size of array aiIndent[] */
    int iIndent;           /* Index of current op in aiIndent[] */
 +#if defined(SQLITE_ENABLE_SESSION)
 +  int nSession;             /* Number of active sessions */
 +  OpenSession aSession[4];  /* Array of sessions.  [0] is in focus. */
 +#endif
  };
  
+ /*
+ ** These are the allowed shellFlgs values
+ */
+ #define SHFLG_Scratch     0x00001     /* The --scratch option is used */
+ #define SHFLG_Pagecache   0x00002     /* The --pagecache option is used */
+ #define SHFLG_Lookaside   0x00004     /* Lookaside memory is used */
  /*
  ** These are the allowed modes.
  */
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
Simple merge
Simple merge
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeInt.h
index 54dd63f5485e091214663bd539fc5e1be58f675e,ef096bebb66ba49d80d890d8a103a89b2a69d2b4..3cb8ddca43213b4b84c54a4d7e83a13a94e599f6
@@@ -458,11 -439,9 +458,11 @@@ int sqlite3VdbeMemGrow(Mem *pMem, int n
  int sqlite3VdbeCloseStatement(Vdbe *, int);
  void sqlite3VdbeFrameDelete(VdbeFrame*);
  int sqlite3VdbeFrameRestore(VdbeFrame *);
 +void sqlite3VdbePreUpdateHook(
 +    Vdbe *, VdbeCursor *, int, const char*, Table *, i64, int);
  int sqlite3VdbeTransferError(Vdbe *p);
  
- int sqlite3VdbeSorterInit(sqlite3 *, VdbeCursor *);
+ int sqlite3VdbeSorterInit(sqlite3 *, int, VdbeCursor *);
  void sqlite3VdbeSorterReset(sqlite3 *, VdbeSorter *);
  void sqlite3VdbeSorterClose(sqlite3 *, VdbeCursor *);
  int sqlite3VdbeSorterRowkey(const VdbeCursor *, Mem *);
diff --cc src/vdbeapi.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge
Simple merge
diff --cc test/tester.tcl
Simple merge
Simple merge