From e75a9eb9bbf2e2934e292b475088f447191f9cf4 Mon Sep 17 00:00:00 2001 From: drh Date: Sat, 13 Feb 2016 18:54:10 +0000 Subject: [PATCH 1/3] Provide Sqlite3_SafeInit() and Sqlite3_SafeUnload() entry points on the TCL interface, but have the always return TCL_ERROR, because the non-standard TCL builds on Macs require this. FossilOrigin-Name: 37ec3015ec95035d31e3672f520908a0d36c9d67 --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/tclsqlite.c | 8 ++++++-- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/manifest b/manifest index edbefc847e..18d443650d 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\spotential\sbuffer\soverread\sprovoked\sby\sinvalid\sutf-8\sin\sfts5. -D 2016-02-12T18:48:09.224 +C Provide\sSqlite3_SafeInit()\sand\sSqlite3_SafeUnload()\sentry\spoints\son\sthe\sTCL\ninterface,\sbut\shave\sthe\salways\sreturn\sTCL_ERROR,\sbecause\sthe\snon-standard\s\nTCL\sbuilds\son\sMacs\srequire\sthis. +D 2016-02-13T18:54:10.051 F Makefile.in 4e90dc1521879022aa9479268a4cd141d1771142 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 30f075dc4f27a07abb76088946b2944178d85347 @@ -357,7 +357,7 @@ F src/sqliteInt.h 04ca5b3cdb3bcf87ba6300d5d36b51498f65f28c F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46 F src/status.c 70912d7be68e9e2dbc4010c93d344af61d4c59ba F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e -F src/tclsqlite.c 94ef6e2794220c5b6064d4c78ec7169a8c5cc45d +F src/tclsqlite.c 13debcc6a5ca1217486f8903768c01114fbe8b58 F src/test1.c 4f1b42699068b7806af3111786f5ad760c2c1ff7 F src/test2.c 5586f43fcd9a1be0830793cf9d354082c261b25b F src/test3.c a8887dabbbee3059af338f20d290084a63ed1b0f @@ -1427,7 +1427,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh ef6ebc6fd8d2dc35db3b622015c16a023d4fef4f F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 130580207ab5cee762b2893808acef7c8afad027 -R f6628307ca7dcc5e74da260d3c3d6ac5 -U dan -Z 7972d84e46f7d6d6e270e54f6c76821e +P a049fbbde5da2e43d41aa8c2b41f9eb21507ac76 +R 0ed7109e4c77d1cb323166614bc90c67 +U drh +Z 0875f4eabfb763252145d2214f48fc91 diff --git a/manifest.uuid b/manifest.uuid index 10c0eea158..5b62ca1a2d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a049fbbde5da2e43d41aa8c2b41f9eb21507ac76 \ No newline at end of file +37ec3015ec95035d31e3672f520908a0d36c9d67 \ No newline at end of file diff --git a/src/tclsqlite.c b/src/tclsqlite.c index aa913ca7c7..77da6eef52 100644 --- a/src/tclsqlite.c +++ b/src/tclsqlite.c @@ -3151,9 +3151,13 @@ EXTERN int Sqlite3_Unload(Tcl_Interp *interp, int flags){ return TCL_OK; } EXTERN int Tclsqlite3_Unload(Tcl_Interp *interp, int flags){ return TCL_OK; } /* Because it accesses the file-system and uses persistent state, SQLite -** is not considered appropriate for safe interpreters. Hence, we deliberately -** omit the _SafeInit() interfaces. +** is not considered appropriate for safe interpreters. Hence, we cause +** the _SafeInit() interfaces return TCL_ERROR. */ +EXTERN int Sqlite3_SafeInit(Tcl_Interp *interp){ return TCL_ERROR; } +EXTERN int Sqlite3_SafeUnload(Tcl_Interp *interp, int flags){return TCL_ERROR;} + + #ifndef SQLITE_3_SUFFIX_ONLY int Sqlite_Init(Tcl_Interp *interp){ return Sqlite3_Init(interp); } From 8e0cea1a5dcb1c3ec35cd95404a9b730a43e0f53 Mon Sep 17 00:00:00 2001 From: drh Date: Mon, 15 Feb 2016 15:06:47 +0000 Subject: [PATCH 2/3] Make sure the codec is invoked when overwriting existing frames of the WAL file. Yikes! FossilOrigin-Name: f694e60a79024967a3f4574e3928f0b28589d381 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/wal.c | 8 +++++++- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index 18d443650d..f13bbfc3ec 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Provide\sSqlite3_SafeInit()\sand\sSqlite3_SafeUnload()\sentry\spoints\son\sthe\sTCL\ninterface,\sbut\shave\sthe\salways\sreturn\sTCL_ERROR,\sbecause\sthe\snon-standard\s\nTCL\sbuilds\son\sMacs\srequire\sthis. -D 2016-02-13T18:54:10.051 +C Make\ssure\sthe\scodec\sis\sinvoked\swhen\soverwriting\sexisting\sframes\sof\sthe\nWAL\sfile.\s\sYikes! +D 2016-02-15T15:06:47.557 F Makefile.in 4e90dc1521879022aa9479268a4cd141d1771142 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 30f075dc4f27a07abb76088946b2944178d85347 @@ -424,7 +424,7 @@ F src/vdbesort.c ef3c6d1f1a7d44cf67bb2bee59ea3d1fe5bad174 F src/vdbetrace.c f75c5455d8cf389ef86a8bfdfd3177e0e3692484 F src/vtab.c bef51b4f693d82b4b0184457faa8625654534091 F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 -F src/wal.c d21b99fd1458159d0b1ecdccc8ee6ada4fdc4c54 +F src/wal.c 1dd3f1aeed5765be62f27d7d2e44d46a68d891ab F src/wal.h 2f7c831cf3b071fa548bf2d5cac640846a7ff19c F src/walker.c 0f142b5bd3ed2041fc52d773880748b212e63354 F src/where.c 984084584c10c41e46c89ac027a5cca991bc37e6 @@ -1427,7 +1427,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh ef6ebc6fd8d2dc35db3b622015c16a023d4fef4f F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P a049fbbde5da2e43d41aa8c2b41f9eb21507ac76 -R 0ed7109e4c77d1cb323166614bc90c67 +P 37ec3015ec95035d31e3672f520908a0d36c9d67 +R f2e9debe8cf42a0179962a66a44645cf U drh -Z 0875f4eabfb763252145d2214f48fc91 +Z 12ae21a200342c13300e7567f86ed2d7 diff --git a/manifest.uuid b/manifest.uuid index 5b62ca1a2d..ef76e7a334 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -37ec3015ec95035d31e3672f520908a0d36c9d67 \ No newline at end of file +f694e60a79024967a3f4574e3928f0b28589d381 \ No newline at end of file diff --git a/src/wal.c b/src/wal.c index 7cf2cabffb..d7a6b701e6 100644 --- a/src/wal.c +++ b/src/wal.c @@ -3062,10 +3062,16 @@ int sqlite3WalFrames( assert( rc==SQLITE_OK || iWrite==0 ); if( iWrite>=iFirst ){ i64 iOff = walFrameOffset(iWrite, szPage) + WAL_FRAME_HDRSIZE; + void *pData; if( pWal->iReCksum==0 || iWriteiReCksum ){ pWal->iReCksum = iWrite; } - rc = sqlite3OsWrite(pWal->pWalFd, p->pData, szPage, iOff); +#if defined(SQLITE_HAS_CODEC) + if( (pData = sqlite3PagerCodec(p))==0 ) return SQLITE_NOMEM; +#else + pData = p->pData; +#endif + rc = sqlite3OsWrite(pWal->pWalFd, pData, szPage, iOff); if( rc ) return rc; p->flags &= ~PGHDR_WAL_APPEND; continue; From 195c8d5eba26853b65f86ea6c9947f24fea70389 Mon Sep 17 00:00:00 2001 From: drh Date: Mon, 15 Feb 2016 17:29:24 +0000 Subject: [PATCH 3/3] Version 3.11.0 FossilOrigin-Name: 3d862f207e3adc00f78066799ac5a8c282430a5f --- manifest | 11 +++++++---- manifest.uuid | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/manifest b/manifest index f13bbfc3ec..a33ec564a2 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Make\ssure\sthe\scodec\sis\sinvoked\swhen\soverwriting\sexisting\sframes\sof\sthe\nWAL\sfile.\s\sYikes! -D 2016-02-15T15:06:47.557 +C Version\s3.11.0 +D 2016-02-15T17:29:24.141 F Makefile.in 4e90dc1521879022aa9479268a4cd141d1771142 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 30f075dc4f27a07abb76088946b2944178d85347 @@ -1427,7 +1427,10 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh ef6ebc6fd8d2dc35db3b622015c16a023d4fef4f F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 37ec3015ec95035d31e3672f520908a0d36c9d67 +P f694e60a79024967a3f4574e3928f0b28589d381 R f2e9debe8cf42a0179962a66a44645cf +T +bgcolor * #d0c0ff +T +sym-release * +T +sym-version-3.11.0 * U drh -Z 12ae21a200342c13300e7567f86ed2d7 +Z e719a8e2c047e401006dde85de2084bf diff --git a/manifest.uuid b/manifest.uuid index ef76e7a334..474c1210cb 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f694e60a79024967a3f4574e3928f0b28589d381 \ No newline at end of file +3d862f207e3adc00f78066799ac5a8c282430a5f \ No newline at end of file