Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | 3.2.5 bugfix for large deletes |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | sourceforge |
Files: | files | file ages | folders |
SHA1: |
b1c7b8e7afe8654b14b2aa4bd56caa1b |
User & Date: | rmsimpson 2005-08-24 17:09:16.000 |
Context
2005-08-24
| ||
17:49 | 1.0.16 check-in: b3b5f9cbaa user: rmsimpson tags: sourceforge | |
17:09 | 3.2.5 bugfix for large deletes check-in: b1c7b8e7af user: rmsimpson tags: sourceforge | |
15:05 | 3.2.4 code merge check-in: a8ce345c58 user: rmsimpson tags: sourceforge | |
Changes
Changes to SQLite.Interop/src/vdbefifo.c.
︙ | ︙ | |||
20 21 22 23 24 25 26 27 28 29 30 31 32 33 | /* ** Allocate a new FifoPage and return a pointer to it. Return NULL if ** we run out of memory. Leave space on the page for nEntry entries. */ static FifoPage *allocatePage(int nEntry){ FifoPage *pPage; pPage = (FifoPage *)sqliteMallocRaw( sizeof(FifoPage) + sizeof(i64)*(nEntry-1) ); if( pPage ){ pPage->nSlot = nEntry; pPage->iWrite = 0; pPage->iRead = 0; pPage->pNext = 0; } | > > > | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | /* ** Allocate a new FifoPage and return a pointer to it. Return NULL if ** we run out of memory. Leave space on the page for nEntry entries. */ static FifoPage *allocatePage(int nEntry){ FifoPage *pPage; if( nEntry>32767 ){ nEntry = 32767; } pPage = (FifoPage *)sqliteMallocRaw( sizeof(FifoPage) + sizeof(i64)*(nEntry-1) ); if( pPage ){ pPage->nSlot = nEntry; pPage->iWrite = 0; pPage->iRead = 0; pPage->pNext = 0; } |
︙ | ︙ | |||
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | if( pFifo->nEntry==0 ){ return SQLITE_DONE; } assert( pFifo->nEntry>0 ); pPage = pFifo->pFirst; assert( pPage!=0 ); assert( pPage->iWrite>pPage->iRead ); assert( pPage->iRead<pPage->nSlot ); *pVal = pPage->aSlot[pPage->iRead++]; pFifo->nEntry--; if( pPage->iRead>=pPage->iWrite ){ pFifo->pFirst = pPage->pNext; sqliteFree(pPage); if( pFifo->nEntry==0 ){ assert( pFifo->pLast==pPage ); | > > | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | if( pFifo->nEntry==0 ){ return SQLITE_DONE; } assert( pFifo->nEntry>0 ); pPage = pFifo->pFirst; assert( pPage!=0 ); assert( pPage->iWrite>pPage->iRead ); assert( pPage->iWrite<=pPage->nSlot ); assert( pPage->iRead<pPage->nSlot ); assert( pPage->iRead>=0 ); *pVal = pPage->aSlot[pPage->iRead++]; pFifo->nEntry--; if( pPage->iRead>=pPage->iWrite ){ pFifo->pFirst = pPage->pNext; sqliteFree(pPage); if( pFifo->nEntry==0 ){ assert( pFifo->pLast==pPage ); |
︙ | ︙ |