return pIter->bEof;
}
-static void fts5DlidxIterInitFromData(
+static Fts5DlidxIter *fts5DlidxIterInit(
Fts5Index *p, /* Fts5 Backend to iterate within */
int bRev, /* True for ORDER BY ASC */
- int iLeafPgno, /* Leaf page number dlidx is for */
- Fts5Data *pDlidx, /* Leaf index data */
- Fts5DlidxIter **ppIter /* OUT: Populated iterator */
+ int iIdx, int iSegid, /* Segment iSegid within index iIdx */
+ int iLeafPg /* Leaf page number to load dlidx for */
){
- Fts5DlidxIter *pIter = *ppIter;
+ Fts5DlidxIter *pIter;
- if( pIter==0 ){
- *ppIter = pIter = (Fts5DlidxIter*)fts5IdxMalloc(p, sizeof(Fts5DlidxIter));
- if( pIter==0 ){
- fts5DataRelease(pDlidx);
- return;
- }
- }else{
- memset(pIter, 0, sizeof(Fts5DlidxIter));
- }
+ pIter = (Fts5DlidxIter*)fts5IdxMalloc(p, sizeof(Fts5DlidxIter));
+ if( pIter==0 ) return 0;
- pIter->pData = pDlidx;
- pIter->iLeafPgno = iLeafPgno;
- if( bRev==0 ){
- fts5DlidxIterFirst(pIter);
+ pIter->pData = fts5DataRead(p, FTS5_DOCLIST_IDX_ROWID(iIdx, iSegid, iLeafPg));
+ if( pIter->pData==0 ){
+ sqlite3_free(pIter);
+ pIter = 0;
}else{
- fts5DlidxIterLast(pIter);
+ pIter->iLeafPgno = iLeafPg;
+ if( bRev==0 ){
+ fts5DlidxIterFirst(pIter);
+ }else{
+ fts5DlidxIterLast(pIter);
+ }
}
-}
-static void fts5DlidxIterInit(
- Fts5Index *p, /* Fts5 Backend to iterate within */
- int bRev, /* True for ORDER BY ASC */
- int iIdx, int iSegid, /* Segment iSegid within index iIdx */
- int iLeafPgno, /* Leaf page number to load dlidx for */
- Fts5DlidxIter **ppIter /* OUT: Populated iterator */
-){
- Fts5Data *pDlidx;
- pDlidx = fts5DataRead(p, FTS5_DOCLIST_IDX_ROWID(iIdx, iSegid, iLeafPgno));
- if( pDlidx==0 ) return;
- fts5DlidxIterInitFromData(p, bRev, iLeafPgno, pDlidx, ppIter);
+ return pIter;
}
/*
}
}
- fts5DlidxIterInit(p, bRev, iIdx, iSeg, pIter->iTermLeafPgno, &pIter->pDlidx);
+ pIter->pDlidx = fts5DlidxIterInit(p, bRev, iIdx, iSeg, pIter->iTermLeafPgno);
}
/*
i64 cksum1 = 13;
i64 cksum2 = 13;
- for(fts5DlidxIterInit(p, 0, iIdx, iSegid, iLeaf, &pDlidx);
+ for(pDlidx=fts5DlidxIterInit(p, 0, iIdx, iSegid, iLeaf);
fts5DlidxIterEof(p, pDlidx)==0;
fts5DlidxIterNext(pDlidx)
){
fts5DlidxIterFree(pDlidx);
pDlidx = 0;
- for(fts5DlidxIterInit(p, 1, iIdx, iSegid, iLeaf, &pDlidx);
+ for(pDlidx=fts5DlidxIterInit(p, 1, iIdx, iSegid, iLeaf);
fts5DlidxIterEof(p, pDlidx)==0;
fts5DlidxIterPrev(pDlidx)
){
int iPg;
i64 iKey;
- for(fts5DlidxIterInit(p, 0, iIdx, iSegid, iter.iLeaf, &pDlidx);
+ for(pDlidx=fts5DlidxIterInit(p, 0, iIdx, iSegid, iter.iLeaf);
fts5DlidxIterEof(p, pDlidx)==0;
fts5DlidxIterNext(pDlidx)
){
-C Fix\san\sfts5\sproblem\swith\slarge\sdeletes.
-D 2015-04-21T19:07:39.210
+C Fix\sa\sproblem\sin\sfts5fault1.test.
+D 2015-04-21T20:13:38.631
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 88a3e6261286db378fdffa1124cad11b3c05f5bb
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F ext/fts5/fts5_config.c 0847facc8914f57ea4452c43ce109200dc65e894
F ext/fts5/fts5_expr.c 5215137efab527577d36bdf9e44bfc2ec3e1be98
F ext/fts5/fts5_hash.c 3cb5a3d04dd2030eb0ac8d544711dfd37c0e6529
-F ext/fts5/fts5_index.c abf74b5e0d96b954911b6db3e13dce008c091303
+F ext/fts5/fts5_index.c 6ae86ef3f266c303cbf4a04fe63e8da54d91cd09
F ext/fts5/fts5_storage.c ac0f0937059c8d4f38a1f13aa5f2c2cd7edf3e0d
F ext/fts5/fts5_tcl.c 617b6bb96545be8d9045de6967c688cd9cd15541
F ext/fts5/fts5_tokenize.c c07f2c2f749282c1dbbf46bde1f6d7095c740b8b
F ext/fts5/test/fts5dlidx.test 710d1eaf44e6fbb09dfa73b7fd488227d8cc751a
F ext/fts5/test/fts5ea.test 04695560a444fcc00c3c4f27783bdcfbf71f030c
F ext/fts5/test/fts5eb.test 728a1f23f263548f5c29b29dfb851b5f2dbe723e
-F ext/fts5/test/fts5fault1.test fbd8612889234849ff041f5b36f8e390feeed46e
+F ext/fts5/test/fts5fault1.test ed71717a479bef32d05f02d9c48691011d160d4d
F ext/fts5/test/fts5near.test 3f9f64e16cac82725d03d4e04c661090f0b3b947
F ext/fts5/test/fts5optimize.test 0028c90a7817d3e576d1148fc8dff17d89054e54
F ext/fts5/test/fts5porter.test 50322599823cb8080a99f0ec0c39f7d0c12bcb5e
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 2ea8f9cbe67dac60c1a0a661c95a03ecfa9a0b9a
-R f13e2690ef21877d2344bab07fedcde6
+P e50e8031d6f804ebe50e0eec9a8b6e7f0152ecc3
+R 60eea8ec1517faa88921988ca09638c5
U dan
-Z 02eb8d79520bf4e8512cc80bc0c885cd
+Z b632ef0339d92005d6b22a3d7746ce59