SQLite

Check-in [2c90276e34]
Login

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

Overview
Comment:Disable code used only by the codec when the codec is not deployed.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 2c90276e340aa19d78d2e33c9f759f8eda0b82a3
User & Date: drh 2010-06-22 21:15:50.000
Context
2010-06-23
15:04
Simplifications to the pager_delmaster() implementation. (check-in: 8bfbdec647 user: drh tags: trunk)
2010-06-22
21:15
Disable code used only by the codec when the codec is not deployed. (check-in: 2c90276e34 user: drh tags: trunk)
15:18
Add codec support to wal mode. (check-in: 393741eba3 user: dan tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/pager.c.
6111
6112
6113
6114
6115
6116
6117
6118

6119
6120

6121
6122
6111
6112
6113
6114
6115
6116
6117

6118
6119

6120
6121
6122







-
+

-
+


** page content. If a malloc fails, this function may return NULL.
*/
void *sqlite3PagerCodec(PgHdr *pPg){
  void *aData = 0;
  CODEC2(pPg->pPager, pPg->pData, pPg->pgno, 6, return 0, aData);
  return aData;
}
#endif
#endif /* SQLITE_HAS_CODEC */

#endif
#endif /* !SQLITE_OMIT_WAL */

#endif /* SQLITE_OMIT_DISKIO */
Changes to src/pager.h.
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
155
156
157
158
159
160
161


162
163
164
165
166
167
168







-
-







int sqlite3PagerIsMemdb(Pager*);

/* Functions used to truncate the database file. */
void sqlite3PagerTruncateImage(Pager*,Pgno);

#if defined(SQLITE_HAS_CODEC) && !defined(SQLITE_OMIT_WAL)
void *sqlite3PagerCodec(DbPage *);
#else
#define sqlite3PagerCodec(x) (x->pData)
#endif

/* Functions to support testing and debugging. */
#if !defined(NDEBUG) || defined(SQLITE_TEST)
  Pgno sqlite3PagerPagenumber(DbPage*);
  int sqlite3PagerIswriteable(DbPage*);
#endif
Changes to src/wal.c.
2289
2290
2291
2292
2293
2294
2295

2296



2297
2298
2299
2300
2301
2302
2303
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307







+

+
+
+







    void *pData;
   
   
    iOffset = walFrameOffset(++iFrame, szPage);
    
    /* Populate and write the frame header */
    nDbsize = (isCommit && p->pDirty==0) ? nTruncate : 0;
#if defined(SQLITE_HAS_CODEC)
    if( (pData = sqlite3PagerCodec(p))==0 ) return SQLITE_NOMEM;
#else
    pData = p->pData;
#endif
    walEncodeFrame(pWal, p->pgno, nDbsize, pData, aFrame);
    rc = sqlite3OsWrite(pWal->pWalFd, aFrame, sizeof(aFrame), iOffset);
    if( rc!=SQLITE_OK ){
      return rc;
    }

    /* Write the page data */
2315
2316
2317
2318
2319
2320
2321

2322



2323
2324
2325
2326
2327
2328
2329
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337







+

+
+
+








    assert( isCommit );
    assert( iSegment>0 );

    iSegment = (((iOffset+iSegment-1)/iSegment) * iSegment);
    while( iOffset<iSegment ){
      void *pData;
#if defined(SQLITE_HAS_CODEC)
      if( (pData = sqlite3PagerCodec(pLast))==0 ) return SQLITE_NOMEM;
#else
      pData = pLast->pData;
#endif
      walEncodeFrame(pWal, pLast->pgno, nTruncate, pData, aFrame);
      rc = sqlite3OsWrite(pWal->pWalFd, aFrame, sizeof(aFrame), iOffset);
      if( rc!=SQLITE_OK ){
        return rc;
      }
      iOffset += WAL_FRAME_HDRSIZE;
      rc = sqlite3OsWrite(pWal->pWalFd, pData, szPage, iOffset);