/ Check-in [631023dd]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Merge 3.11.0 changes.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | sessions
Files: files | file ages | folders
SHA1: 631023dd9aa19cd8d92d712941d58e7148821995
User & Date: drh 2016-02-15 17:39:10
Context
2016-02-25
18:54
Merge all the latest changes from trunk. check-in: b8659004 user: drh tags: sessions
2016-02-15
17:39
Merge 3.11.0 changes. check-in: 631023dd user: drh tags: sessions
17:29
Version 3.11.0 check-in: 3d862f20 user: drh tags: trunk, release, version-3.11.0
2016-02-13
15:08
Fix another test problem in sessionfault.test. check-in: f6d1cf79 user: dan tags: sessions
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/tclsqlite.c.

  3293   3293     return rc;
  3294   3294   }
  3295   3295   EXTERN int Tclsqlite3_Init(Tcl_Interp *interp){ return Sqlite3_Init(interp); }
  3296   3296   EXTERN int Sqlite3_Unload(Tcl_Interp *interp, int flags){ return TCL_OK; }
  3297   3297   EXTERN int Tclsqlite3_Unload(Tcl_Interp *interp, int flags){ return TCL_OK; }
  3298   3298   
  3299   3299   /* Because it accesses the file-system and uses persistent state, SQLite
  3300         -** is not considered appropriate for safe interpreters.  Hence, we deliberately
  3301         -** omit the _SafeInit() interfaces.
         3300  +** is not considered appropriate for safe interpreters.  Hence, we cause
         3301  +** the _SafeInit() interfaces return TCL_ERROR.
  3302   3302   */
         3303  +EXTERN int Sqlite3_SafeInit(Tcl_Interp *interp){ return TCL_ERROR; }
         3304  +EXTERN int Sqlite3_SafeUnload(Tcl_Interp *interp, int flags){return TCL_ERROR;}
         3305  +
         3306  +
  3303   3307   
  3304   3308   #ifndef SQLITE_3_SUFFIX_ONLY
  3305   3309   int Sqlite_Init(Tcl_Interp *interp){ return Sqlite3_Init(interp); }
  3306   3310   int Tclsqlite_Init(Tcl_Interp *interp){ return Sqlite3_Init(interp); }
  3307   3311   int Sqlite_Unload(Tcl_Interp *interp, int flags){ return TCL_OK; }
  3308   3312   int Tclsqlite_Unload(Tcl_Interp *interp, int flags){ return TCL_OK; }
  3309   3313   #endif

Changes to src/wal.c.

  3058   3058       ** checksums must be recomputed when the transaction is committed.  */
  3059   3059       if( iFirst && (p->pDirty || isCommit==0) ){
  3060   3060         u32 iWrite = 0;
  3061   3061         VVA_ONLY(rc =) sqlite3WalFindFrame(pWal, p->pgno, &iWrite);
  3062   3062         assert( rc==SQLITE_OK || iWrite==0 );
  3063   3063         if( iWrite>=iFirst ){
  3064   3064           i64 iOff = walFrameOffset(iWrite, szPage) + WAL_FRAME_HDRSIZE;
         3065  +        void *pData;
  3065   3066           if( pWal->iReCksum==0 || iWrite<pWal->iReCksum ){
  3066   3067             pWal->iReCksum = iWrite;
  3067   3068           }
  3068         -        rc = sqlite3OsWrite(pWal->pWalFd, p->pData, szPage, iOff);
         3069  +#if defined(SQLITE_HAS_CODEC)
         3070  +        if( (pData = sqlite3PagerCodec(p))==0 ) return SQLITE_NOMEM;
         3071  +#else
         3072  +        pData = p->pData;
         3073  +#endif
         3074  +        rc = sqlite3OsWrite(pWal->pWalFd, pData, szPage, iOff);
  3069   3075           if( rc ) return rc;
  3070   3076           p->flags &= ~PGHDR_WAL_APPEND;
  3071   3077           continue;
  3072   3078         }
  3073   3079       }
  3074   3080   
  3075   3081       iFrame++;