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:
parent
5f2903b2e2
commit
7fd4d30880
3 changed files with 38 additions and 24 deletions
2
Changes
2
Changes
|
@ -1,7 +1,7 @@
|
|||
Changes for Perl extension DBD-SQLite
|
||||
|
||||
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
|
||||
and documentation on how to use FTS3. Changed compilation flag
|
||||
to use the recommanded -DSQLITE_ENABLE_FTS3_PARENTHESIS
|
||||
|
|
54
sqlite3.c
54
sqlite3.c
|
@ -1,6 +1,6 @@
|
|||
/******************************************************************************
|
||||
** 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
|
||||
** unit. This allows many compilers to do optimizations that would not be
|
||||
** possible if the files were compiled separately. Performance improvements
|
||||
|
@ -644,9 +644,9 @@ extern "C" {
|
|||
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
||||
** [sqlite_version()] and [sqlite_source_id()].
|
||||
*/
|
||||
#define SQLITE_VERSION "3.7.1"
|
||||
#define SQLITE_VERSION_NUMBER 3007001
|
||||
#define SQLITE_SOURCE_ID "2010-08-21 16:01:46 3613b0695a5e990905ab146fadcab34dd04d5874"
|
||||
#define SQLITE_VERSION "3.7.2"
|
||||
#define SQLITE_VERSION_NUMBER 3007002
|
||||
#define SQLITE_SOURCE_ID "2010-08-23 18:52:01 42537b60566f288167f1b5864a5435986838e3a3"
|
||||
|
||||
/*
|
||||
** CAPI3REF: Run-Time Library Version Numbers
|
||||
|
@ -35312,13 +35312,14 @@ static void pager_set_pagehash(PgHdr *pPage){
|
|||
#define CHECK_PAGE(x) checkPage(x)
|
||||
static void checkPage(PgHdr *pPg){
|
||||
Pager *pPager = pPg->pPager;
|
||||
assert( !pPg->pageHash || pPager->errCode
|
||||
|| (pPg->flags&PGHDR_DIRTY) || pPg->pageHash==pager_pagehash(pPg) );
|
||||
assert( pPager->eState!=PAGER_ERROR );
|
||||
assert( (pPg->flags&PGHDR_DIRTY) || pPg->pageHash==pager_pagehash(pPg) );
|
||||
}
|
||||
|
||||
#else
|
||||
#define pager_datahash(X,Y) 0
|
||||
#define pager_pagehash(X) 0
|
||||
#define pager_set_pagehash(X)
|
||||
#define CHECK_PAGE(x)
|
||||
#endif /* SQLITE_CHECK_PAGES */
|
||||
|
||||
|
@ -36088,11 +36089,19 @@ static int pager_end_transaction(Pager *pPager, int hasMaster){
|
|||
rc = sqlite3OsDelete(pPager->pVfs, pPager->zJournal, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef SQLITE_CHECK_PAGES
|
||||
sqlite3PcacheIterateDirty(pPager->pPCache, pager_set_pagehash);
|
||||
#endif
|
||||
sqlite3PcacheIterateDirty(pPager->pPCache, pager_set_pagehash);
|
||||
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);
|
||||
pPager->pInJournal = 0;
|
||||
pPager->nRec = 0;
|
||||
|
@ -36439,9 +36448,8 @@ static int pager_playback_one_page(
|
|||
assert( !pagerUseWal(pPager) );
|
||||
sqlite3PcacheMakeClean(pPg);
|
||||
}
|
||||
#ifdef SQLITE_CHECK_PAGES
|
||||
pPg->pageHash = pager_pagehash(pPg);
|
||||
#endif
|
||||
pager_set_pagehash(pPg);
|
||||
|
||||
/* If this was page 1, then restore the value of Pager.dbFileVers.
|
||||
** Do this before any decoding. */
|
||||
if( pgno==1 ){
|
||||
|
@ -37080,6 +37088,14 @@ static int pagerWalFrames(
|
|||
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;
|
||||
}
|
||||
|
||||
|
@ -38098,9 +38114,7 @@ static int pager_write_pagelist(Pager *pPager, PgHdr *pList){
|
|||
}else{
|
||||
PAGERTRACE(("NOSTORE %d page %d\n", PAGERID(pPager), pgno));
|
||||
}
|
||||
#ifdef SQLITE_CHECK_PAGES
|
||||
pList->pageHash = pager_pagehash(pList);
|
||||
#endif
|
||||
pager_set_pagehash(pList);
|
||||
pList = pList->pDirty;
|
||||
}
|
||||
|
||||
|
@ -39088,9 +39102,7 @@ SQLITE_PRIVATE int sqlite3PagerAcquire(
|
|||
goto pager_acquire_err;
|
||||
}
|
||||
}
|
||||
#ifdef SQLITE_CHECK_PAGES
|
||||
pPg->pageHash = pager_pagehash(pPg);
|
||||
#endif
|
||||
pager_set_pagehash(pPg);
|
||||
}
|
||||
|
||||
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)));
|
||||
IOTRACE(("CLEAN %p %d\n", pPager, pPg->pgno))
|
||||
pPg->flags |= PGHDR_DONT_WRITE;
|
||||
#ifdef SQLITE_CHECK_PAGES
|
||||
pPg->pageHash = pager_pagehash(pPg);
|
||||
#endif
|
||||
pager_set_pagehash(pPg);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -49329,6 +49339,10 @@ static int allocateBtreePage(
|
|||
if( !pPrevTrunk ){
|
||||
memcpy(&pPage1->aData[32], &pTrunk->aData[0], 4);
|
||||
}else{
|
||||
rc = sqlite3PagerWrite(pPrevTrunk->pDbPage);
|
||||
if( rc!=SQLITE_OK ){
|
||||
goto end_allocate_page;
|
||||
}
|
||||
memcpy(&pPrevTrunk->aData[0], &pTrunk->aData[0], 4);
|
||||
}
|
||||
}else{
|
||||
|
|
|
@ -107,9 +107,9 @@ extern "C" {
|
|||
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
||||
** [sqlite_version()] and [sqlite_source_id()].
|
||||
*/
|
||||
#define SQLITE_VERSION "3.7.1"
|
||||
#define SQLITE_VERSION_NUMBER 3007001
|
||||
#define SQLITE_SOURCE_ID "2010-08-21 16:01:46 3613b0695a5e990905ab146fadcab34dd04d5874"
|
||||
#define SQLITE_VERSION "3.7.2"
|
||||
#define SQLITE_VERSION_NUMBER 3007002
|
||||
#define SQLITE_SOURCE_ID "2010-08-23 18:52:01 42537b60566f288167f1b5864a5435986838e3a3"
|
||||
|
||||
/*
|
||||
** CAPI3REF: Run-Time Library Version Numbers
|
||||
|
|
Loading…
Add table
Reference in a new issue