]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge all recent trunk enhancements and fixes into the sessions branch.
authordrh <drh@noemail.net>
Tue, 31 Mar 2015 00:10:21 +0000 (00:10 +0000)
committerdrh <drh@noemail.net>
Tue, 31 Mar 2015 00:10:21 +0000 (00:10 +0000)
FossilOrigin-Name: df94e61f93da390cb75c48975c50e9d62096ea0b

1  2 
Makefile.msc
manifest
manifest.uuid
src/main.c
src/shell.c
src/sqlite.h.in
src/sqliteInt.h
tool/mksqlite3c.tcl
tool/mksqlite3h.tcl

diff --cc Makefile.msc
Simple merge
diff --cc manifest
index 6798741f010cf52b7f992594b01e6c1a2b0eafc1,830165f1d1234912943d4ba3c1e07a7bf3d5b0b8..30127bd0ffccf4354f46588d2621e29ef5d3b57e
+++ b/manifest
@@@ -1,9 -1,9 +1,9 @@@
- C Merge\sall\srecent\strunk\senhancements\sinto\sthe\ssessions\sbranch.
- D 2015-03-24T19:02:13.346
 -C Prevent\sa\spossible\sinfinite\sloop\swhen\strying\sto\sDROP\sa\stable\sfrom\na\scorrupt\sdatabase.
 -D 2015-03-30T23:43:56.191
++C Merge\sall\srecent\strunk\senhancements\sand\sfixes\sinto\sthe\ssessions\sbranch.
++D 2015-03-31T00:10:21.692
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 -F Makefile.in 88a3e6261286db378fdffa1124cad11b3c05f5bb
 +F Makefile.in 1bf4de5d0809e0ed046d6f2671ea46d1d6c69608
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
- F Makefile.msc 9547047d5f1b55326a195323ee41cd86281a5d9e
 -F Makefile.msc 23e6eaa84569829c3e7f409513caa136e5bcaf2a
++F Makefile.msc da7e7ac0949d78930b7b0adc3862aef9a9439b2e
  F Makefile.vxworks e1b65dea203f054e71653415bd8f96dcaed47858
  F README.md d58e3bebc0a4145e0f2a87994015fdb575a8e866
  F VERSION 319eb1ced4b4d17a67730f2b7b85f15c1346cb60
@@@ -212,8 -195,8 +212,8 @@@ F src/journal.c b4124532212b6952f42eb2c
  F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
  F src/lempar.c 7274c97d24bb46631e504332ccd3bd1b37841770
  F src/loadext.c 86bd4e2fccd520b748cba52492ab60c4a770f660
- F src/main.c e404037a74cc37251e54c7b71a9a25b48b21e884
- F src/malloc.c e818a0db9ac0898f9dc74002f3a5baca32232d05
 -F src/main.c 40e333960d53f7d50ee8ce09d40431c87ea653f2
++F src/main.c 4eecdeb7b3f6be5aa336252f71208344b5edd196
+ F src/malloc.c 6a370b83d54e4bbf6f94021221c2a311cff26a18
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c abe6ee469b6c5a35c7f22bfeb9c9bac664a1c987
  F src/mem2.c f1940d9e91948dd6a908fbb9ce3835c36b5d83c3
@@@ -248,11 -231,11 +248,11 @@@ F src/random.c ba2679f80ec82c4190062d75
  F src/resolve.c f4d79e31ffa5820c2e3d1740baa5e9b190425f2b
  F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
  F src/select.c 72ffb62e2879956302140e9f6e6ae88aee36b0e5
- F src/shell.c 560f5ceec3a1855c1aa474a52b75dea112d548b4
- F src/sqlite.h.in 690648d5c676eb3ded09f635fc8d0aeb22235df0
 -F src/shell.c 84a1593bd86aaa14f4da8a8f9b16fbc239d262aa
 -F src/sqlite.h.in 278602140d49575e8708e643161f4263e428a02a
++F src/shell.c c4d839ad62f4986891601a21ce629a760f226682
++F src/sqlite.h.in 64287a2b3432550264a743addbf4162a692fdd1c
  F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
  F src/sqlite3ext.h 17d487c3c91b0b8c584a32fbeb393f6f795eea7d
- F src/sqliteInt.h d2804bd5a9c270bc60fe096c9c416123425ebdde
 -F src/sqliteInt.h d02d2b85cb02a38bc442cf9302ec8209baf6771d
++F src/sqliteInt.h e974c4f98eba7c578da160dd76a7a34d62d61af2
  F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46
  F src/status.c f266ad8a2892d659b74f0f50cb6a88b6e7c12179
  F src/table.c e7a09215315a978057fb42c640f890160dbcc45e
@@@ -1230,9 -1214,9 +1232,9 @@@ F tool/mkkeywordhash.c dfff09dbbfaf950e
  F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
  F tool/mkpragmatab.tcl 94f196c9961e0ca3513e29f57125a3197808be2d
  F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
- F tool/mksqlite3c-noext.tcl 9ef48e1748dce7b844f67e2450ff9dfeb0fb4ab5
- F tool/mksqlite3c.tcl 87d0000c12cfb0a8c5438f9a754fb45ab0aeb2e2
- F tool/mksqlite3h.tcl 2d0f1b3768f8d000b7881217d5fd4c776eb27467
+ F tool/mksqlite3c-noext.tcl 69bae8ce4aa52d2ff82d4a8a856bf283ec035b2e
 -F tool/mksqlite3c.tcl 52a3352f7aa15f1db851e45ac3a5e2173d6fe93c
 -F tool/mksqlite3h.tcl 44730d586c9031638cdd2eb443b801c0d2dbd9f8
++F tool/mksqlite3c.tcl ebbf1198e19d84b4c34cca077d8f727a06ff8a11
++F tool/mksqlite3h.tcl 96d92fcac21c6037d9db20c7cb2e06b534b550ac
  F tool/mksqlite3internalh.tcl eb994013e833359137eb53a55acdad0b5ae1049b
  F tool/mkvsix.tcl 52a4c613707ac34ae9c226e5ccc69cb948556105
  F tool/offsets.c fe4262fdfa378e8f5499a42136d17bf3b98f6091
@@@ -1264,7 -1248,7 +1266,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 1d1c57c3566d86cd44f146688b620131b3b57e52 436314b5728c9413f9ac2d837e1c19364f31be72
- R b5b5e91935316c7c5da3a524cb5abdb1
 -P ab5800291e1908b5b51d912feeacf748dc9be14b
 -R 7b7ce803eb05ad2f210c6eb94fdd8e1c
++P 54aaa6f29ad1bf84148c2403eed77e8311f68d66 395bb3e677a6551b06ba96fc58c393132b93d1e8
++R 5157faacf9bba75d7e337c0159334ea0
  U drh
- Z a1e013db0b150b015d815c843c8a5cc9
 -Z 53c46ef4969a0037acc3578044ba6e9e
++Z 1371361ad4cf3707e5f673fcbbe81867
diff --cc manifest.uuid
index 6a0f8581ba2d9bbae1252840d3abc6c37caa1b02,b562506b7fa2c39883f0af6b8648e8df5d7300c9..5b1dd1a68726651c7261a10ff15115bc897c4646
@@@ -1,1 -1,1 +1,1 @@@
- 54aaa6f29ad1bf84148c2403eed77e8311f68d66
 -395bb3e677a6551b06ba96fc58c393132b93d1e8
++df94e61f93da390cb75c48975c50e9d62096ea0b
diff --cc src/main.c
Simple merge
diff --cc src/shell.c
Simple merge
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
Simple merge
index b088844c71bed61c2aeb5f2ad4bae4e0b3414ca8,136155089ca5a335e5eccc2cf4a04a9ec412ce77..4fe552350c81617534fb819b4636b91d2c3ae27f
@@@ -127,8 -123,24 +124,25 @@@ foreach hdr 
    set available_hdr($hdr) 1
  }
  set available_hdr(sqliteInt.h) 0
 +set available_hdr(sqlite3session.h) 0
  
+ # These headers should be copied into the amalgamation without modifying any
+ # of their function declarations or definitions.
+ set varonly_hdr(sqlite3.h) 1
+ # These are the functions that accept a variable number of arguments.  They
+ # always need to use the "cdecl" calling convention even when another calling
+ # convention (e.g. "stcall") is being used for the rest of the library.
+ set cdecllist {
+   sqlite3_config
+   sqlite3_db_config
+   sqlite3_log
+   sqlite3_mprintf
+   sqlite3_snprintf
+   sqlite3_test_control
+   sqlite3_vtab_config
+ }
  # 78 stars used for comment formatting.
  set s78 \
  {*****************************************************************************}
@@@ -193,12 -205,26 +207,26 @@@ proc copy_file {filename} 
      } elseif {!$linemacros && [regexp {^#line} $line]} {
        # Skip #line directives.
      } elseif {$addstatic && ![regexp {^(static|typedef)} $line]} {
-       regsub {^SQLITE_API } $line {} line
-       if {[regexp $declpattern $line all funcname]} {
+       # Skip adding the SQLITE_PRIVATE or SQLITE_API keyword before
+       # functions if this header file does not need it.
+       if {![info exists varonly_hdr($tail)]
+        && [regexp $declpattern $line all rettype funcname rest]} {
+         regsub {^SQLITE_API } $line {} line
          # Add the SQLITE_PRIVATE or SQLITE_API keyword before functions.
          # so that linkage can be modified at compile-time.
 -        if {[regexp {^sqlite3_} $funcname]} {
 +        if {[regexp {^sqlite3[a-z]*_} $funcname]} {
-           puts $out "SQLITE_API $line"
+           set line SQLITE_API
+           append line " " [string trim $rettype]
+           if {[string index $rettype end] ne "*"} {
+             append line " "
+           }
+           if {[lsearch -exact $cdecllist $funcname] >= 0} {
+             append line SQLITE_CDECL
+           } else {
+             append line SQLITE_STDCALL
+           }
+           append line " " $funcname $rest
+           puts $out $line
          } else {
            puts $out "SQLITE_PRIVATE $line"
          }
index 323111bb30f46b4915096fe80cbdb69f721bf375,cabce1f50b7e053a7771c4af395678bf607d6cc1..07d3e8be36c6d154b45ea73d3ab896c05cecd744
@@@ -71,9 -71,21 +71,22 @@@ fconfigure stdout -translation l
  set filelist [subst {
    $TOP/src/sqlite.h.in
    $TOP/ext/rtree/sqlite3rtree.h
 +  $TOP/ext/session/sqlite3session.h
  }]
  
+ # These are the functions that accept a variable number of arguments.  They
+ # always need to use the "cdecl" calling convention even when another calling
+ # convention (e.g. "stcall") is being used for the rest of the library.
+ set cdecllist {
+   sqlite3_config
+   sqlite3_db_config
+   sqlite3_log
+   sqlite3_mprintf
+   sqlite3_snprintf
+   sqlite3_test_control
+   sqlite3_vtab_config
+ }
  # Process the source files.
  #
  foreach file $filelist {