From: drh Date: Tue, 31 Mar 2015 00:10:21 +0000 (+0000) Subject: Merge all recent trunk enhancements and fixes into the sessions branch. X-Git-Tag: version-3.13.0~148^2~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a07f5ecec168eaa9d1e8af94a675688fbf1917f;p=thirdparty%2Fsqlite.git Merge all recent trunk enhancements and fixes into the sessions branch. FossilOrigin-Name: df94e61f93da390cb75c48975c50e9d62096ea0b --- 2a07f5ecec168eaa9d1e8af94a675688fbf1917f diff --cc manifest index 6798741f01,830165f1d1..30127bd0ff --- a/manifest +++ 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 6a0f8581ba,b562506b7f..5b1dd1a687 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 54aaa6f29ad1bf84148c2403eed77e8311f68d66 -395bb3e677a6551b06ba96fc58c393132b93d1e8 ++df94e61f93da390cb75c48975c50e9d62096ea0b diff --cc tool/mksqlite3c.tcl index b088844c71,136155089c..4fe552350c --- a/tool/mksqlite3c.tcl +++ b/tool/mksqlite3c.tcl @@@ -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" } diff --cc tool/mksqlite3h.tcl index 323111bb30,cabce1f50b..07d3e8be36 --- a/tool/mksqlite3h.tcl +++ b/tool/mksqlite3h.tcl @@@ -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 {