1
0
Fork 0
mirror of https://github.com/DBD-SQLite/DBD-SQLite synced 2025-06-07 14:19:10 -04:00

DBD::SQLite - update bundled SQLite to 3.7.2

This commit is contained in:
Darren Duncan 2010-08-24 02:31:04 +00:00
parent 5f2903b2e2
commit 7fd4d30880
3 changed files with 38 additions and 24 deletions

View file

@ -1,7 +1,7 @@
Changes for Perl extension DBD-SQLite Changes for Perl extension DBD-SQLite
1.30_04 to be released 1.30_04 to be released
- Updated to SQLite 3.7.1 (DUNCAND) - Updated to SQLite 3.7.2 (DUNCAND)
- Added support for FTS3 tokenizers written in Perl. Added tests - Added support for FTS3 tokenizers written in Perl. Added tests
and documentation on how to use FTS3. Changed compilation flag and documentation on how to use FTS3. Changed compilation flag
to use the recommanded -DSQLITE_ENABLE_FTS3_PARENTHESIS to use the recommanded -DSQLITE_ENABLE_FTS3_PARENTHESIS

View file

@ -1,6 +1,6 @@
/****************************************************************************** /******************************************************************************
** This file is an amalgamation of many separate C source files from SQLite ** This file is an amalgamation of many separate C source files from SQLite
** version 3.7.1. By combining all the individual C code files into this ** version 3.7.2. By combining all the individual C code files into this
** single large file, the entire code can be compiled as a one translation ** single large file, the entire code can be compiled as a one translation
** unit. This allows many compilers to do optimizations that would not be ** unit. This allows many compilers to do optimizations that would not be
** possible if the files were compiled separately. Performance improvements ** possible if the files were compiled separately. Performance improvements
@ -644,9 +644,9 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()]. ** [sqlite_version()] and [sqlite_source_id()].
*/ */
#define SQLITE_VERSION "3.7.1" #define SQLITE_VERSION "3.7.2"
#define SQLITE_VERSION_NUMBER 3007001 #define SQLITE_VERSION_NUMBER 3007002
#define SQLITE_SOURCE_ID "2010-08-21 16:01:46 3613b0695a5e990905ab146fadcab34dd04d5874" #define SQLITE_SOURCE_ID "2010-08-23 18:52:01 42537b60566f288167f1b5864a5435986838e3a3"
/* /*
** CAPI3REF: Run-Time Library Version Numbers ** CAPI3REF: Run-Time Library Version Numbers
@ -35312,13 +35312,14 @@ static void pager_set_pagehash(PgHdr *pPage){
#define CHECK_PAGE(x) checkPage(x) #define CHECK_PAGE(x) checkPage(x)
static void checkPage(PgHdr *pPg){ static void checkPage(PgHdr *pPg){
Pager *pPager = pPg->pPager; Pager *pPager = pPg->pPager;
assert( !pPg->pageHash || pPager->errCode assert( pPager->eState!=PAGER_ERROR );
|| (pPg->flags&PGHDR_DIRTY) || pPg->pageHash==pager_pagehash(pPg) ); assert( (pPg->flags&PGHDR_DIRTY) || pPg->pageHash==pager_pagehash(pPg) );
} }
#else #else
#define pager_datahash(X,Y) 0 #define pager_datahash(X,Y) 0
#define pager_pagehash(X) 0 #define pager_pagehash(X) 0
#define pager_set_pagehash(X)
#define CHECK_PAGE(x) #define CHECK_PAGE(x)
#endif /* SQLITE_CHECK_PAGES */ #endif /* SQLITE_CHECK_PAGES */
@ -36088,11 +36089,19 @@ static int pager_end_transaction(Pager *pPager, int hasMaster){
rc = sqlite3OsDelete(pPager->pVfs, pPager->zJournal, 0); rc = sqlite3OsDelete(pPager->pVfs, pPager->zJournal, 0);
} }
} }
}
#ifdef SQLITE_CHECK_PAGES #ifdef SQLITE_CHECK_PAGES
sqlite3PcacheIterateDirty(pPager->pPCache, pager_set_pagehash); sqlite3PcacheIterateDirty(pPager->pPCache, pager_set_pagehash);
#endif if( pPager->dbSize==0 && sqlite3PcacheRefCount(pPager->pPCache)>0 ){
PgHdr *p = pager_lookup(pPager, 1);
if( p ){
p->pageHash = 0;
sqlite3PagerUnref(p);
}
} }
#endif
sqlite3BitvecDestroy(pPager->pInJournal); sqlite3BitvecDestroy(pPager->pInJournal);
pPager->pInJournal = 0; pPager->pInJournal = 0;
pPager->nRec = 0; pPager->nRec = 0;
@ -36439,9 +36448,8 @@ static int pager_playback_one_page(
assert( !pagerUseWal(pPager) ); assert( !pagerUseWal(pPager) );
sqlite3PcacheMakeClean(pPg); sqlite3PcacheMakeClean(pPg);
} }
#ifdef SQLITE_CHECK_PAGES pager_set_pagehash(pPg);
pPg->pageHash = pager_pagehash(pPg);
#endif
/* If this was page 1, then restore the value of Pager.dbFileVers. /* If this was page 1, then restore the value of Pager.dbFileVers.
** Do this before any decoding. */ ** Do this before any decoding. */
if( pgno==1 ){ if( pgno==1 ){
@ -37080,6 +37088,14 @@ static int pagerWalFrames(
sqlite3BackupUpdate(pPager->pBackup, p->pgno, (u8 *)p->pData); sqlite3BackupUpdate(pPager->pBackup, p->pgno, (u8 *)p->pData);
} }
} }
#ifdef SQLITE_CHECK_PAGES
{
PgHdr *p;
for(p=pList; p; p=p->pDirty) pager_set_pagehash(p);
}
#endif
return rc; return rc;
} }
@ -38098,9 +38114,7 @@ static int pager_write_pagelist(Pager *pPager, PgHdr *pList){
}else{ }else{
PAGERTRACE(("NOSTORE %d page %d\n", PAGERID(pPager), pgno)); PAGERTRACE(("NOSTORE %d page %d\n", PAGERID(pPager), pgno));
} }
#ifdef SQLITE_CHECK_PAGES pager_set_pagehash(pList);
pList->pageHash = pager_pagehash(pList);
#endif
pList = pList->pDirty; pList = pList->pDirty;
} }
@ -39088,9 +39102,7 @@ SQLITE_PRIVATE int sqlite3PagerAcquire(
goto pager_acquire_err; goto pager_acquire_err;
} }
} }
#ifdef SQLITE_CHECK_PAGES pager_set_pagehash(pPg);
pPg->pageHash = pager_pagehash(pPg);
#endif
} }
return SQLITE_OK; return SQLITE_OK;
@ -39588,9 +39600,7 @@ SQLITE_PRIVATE void sqlite3PagerDontWrite(PgHdr *pPg){
PAGERTRACE(("DONT_WRITE page %d of %d\n", pPg->pgno, PAGERID(pPager))); PAGERTRACE(("DONT_WRITE page %d of %d\n", pPg->pgno, PAGERID(pPager)));
IOTRACE(("CLEAN %p %d\n", pPager, pPg->pgno)) IOTRACE(("CLEAN %p %d\n", pPager, pPg->pgno))
pPg->flags |= PGHDR_DONT_WRITE; pPg->flags |= PGHDR_DONT_WRITE;
#ifdef SQLITE_CHECK_PAGES pager_set_pagehash(pPg);
pPg->pageHash = pager_pagehash(pPg);
#endif
} }
} }
@ -49329,6 +49339,10 @@ static int allocateBtreePage(
if( !pPrevTrunk ){ if( !pPrevTrunk ){
memcpy(&pPage1->aData[32], &pTrunk->aData[0], 4); memcpy(&pPage1->aData[32], &pTrunk->aData[0], 4);
}else{ }else{
rc = sqlite3PagerWrite(pPrevTrunk->pDbPage);
if( rc!=SQLITE_OK ){
goto end_allocate_page;
}
memcpy(&pPrevTrunk->aData[0], &pTrunk->aData[0], 4); memcpy(&pPrevTrunk->aData[0], &pTrunk->aData[0], 4);
} }
}else{ }else{

View file

@ -107,9 +107,9 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()]. ** [sqlite_version()] and [sqlite_source_id()].
*/ */
#define SQLITE_VERSION "3.7.1" #define SQLITE_VERSION "3.7.2"
#define SQLITE_VERSION_NUMBER 3007001 #define SQLITE_VERSION_NUMBER 3007002
#define SQLITE_SOURCE_ID "2010-08-21 16:01:46 3613b0695a5e990905ab146fadcab34dd04d5874" #define SQLITE_SOURCE_ID "2010-08-23 18:52:01 42537b60566f288167f1b5864a5435986838e3a3"
/* /*
** CAPI3REF: Run-Time Library Version Numbers ** CAPI3REF: Run-Time Library Version Numbers