Home | History | Annotate | Download | only in dist

Lines Matching refs:pCsr

45632 ** Argument pCsr must be a cursor opened for writing on an 
45641 SQLITE_PRIVATE int sqlite3BtreePutData(BtCursor *pCsr, u32 offset, u32 amt, void *z){
45643 assert( cursorHoldsMutex(pCsr) );
45644 assert( sqlite3_mutex_held(pCsr->pBtree->db->mutex) );
45645 assert( pCsr->isIncrblobHandle );
45647 rc = restoreCursorPosition(pCsr);
45651 assert( pCsr->eState!=CURSOR_REQUIRESEEK );
45652 if( pCsr->eState!=CURSOR_VALID ){
45663 if( !pCsr->wrFlag ){
45666 assert( !pCsr->pBt->readOnly && pCsr->pBt->inTransaction==TRANS_WRITE );
45667 assert( hasSharedCacheTableLock(pCsr->pBtree, pCsr->pgnoRoot, 0, 2) );
45668 assert( !hasReadConflicts(pCsr->pBtree, pCsr->pgnoRoot) );
45669 assert( pCsr->apPage[pCsr->iPage]->intKey );
45671 return accessPayload(pCsr, offset, amt, (unsigned char *)z, 1);
58327 BtCursor *pCsr; /* Cursor pointing at blob row */
58555 pBlob->pCsr = v->apCsr[0]->pCursor;
58556 sqlite3BtreeEnterCursor(pBlob->pCsr);
58557 sqlite3BtreeCacheOverflow(pBlob->pCsr);
58558 sqlite3BtreeLeaveCursor(pBlob->pCsr);
58638 sqlite3BtreeEnterCursor(p->pCsr);
58639 rc = xCall(p->pCsr
58640 sqlite3BtreeLeaveCursor(p->pCsr);
99505 sqlite3_vtab_cursor *pCsr; /* Allocated cursor */
99513 *ppCsr = pCsr = (sqlite3_vtab_cursor *)sqlite3_malloc(sizeof(Fts3Cursor));
99514 if( !pCsr ){
99517 memset(pCsr, 0, sizeof(Fts3Cursor));
99532 Fts3Cursor *pCsr = (Fts3Cursor *)pCursor;
99533 sqlite3_finalize(pCsr->pStmt);
99534 sqlite3Fts3ExprFree(pCsr->pExpr);
99535 sqlite3_free(pCsr->aDoclist);
99536 sqlite3_free(pCsr->aMatchinfo);
99537 sqlite3_free(pCsr);
99541 static int fts3CursorSeek(sqlite3_context *pContext, Fts3Cursor *pCsr){
99542 if( pCsr->isRequireSeek ){
99543 pCsr->isRequireSeek = 0;
99544 sqlite3_bind_int64(pCsr->pStmt, 1, pCsr->iPrevId);
99545 if( SQLITE_ROW==sqlite3_step(pCsr->pStmt) ){
99548 int rc = sqlite3_reset(pCsr->pStmt);
99556 pCsr->isEof = 1;
99569 Fts3Cursor *pCsr = (Fts3Cursor *)pCursor;
99571 if( pCsr->aDoclist==0 ){
99572 if( SQLITE_ROW!=sqlite3_step(pCsr->pStmt) ){
99573 pCsr->isEof = 1;
99574 rc = sqlite3_reset(pCsr->pStmt);
99576 }else if( pCsr->pNextId>=&pCsr->aDoclist[pCsr->nDoclist] ){
99577 pCsr->isEof = 1;
99579 sqlite3_reset(pCsr->pStmt);
99580 fts3GetDeltaVarint(&pCsr->pNextId, &pCsr->iPrevId);
99581 pCsr->isRequireSeek = 1;
99582 pCsr->isMatchinfoOk = 1;
100589 Fts3Cursor *pCsr = (Fts3Cursor *)pCursor;
100599 sqlite3_finalize(pCsr->pStmt);
100600 sqlite3_free(pCsr->aDoclist);
100601 sqlite3Fts3ExprFree(pCsr->pExpr);
100613 rc = sqlite3_prepare_v2(p->db, zSql, -1, &pCsr->pStmt, 0);
100617 pCsr->eSearch = (i16)idxNum;
100620 rc = sqlite3_bind_value(pCsr->pStmt, 1, apVal[0]);
100630 iCol, zQuery, -1, &pCsr->pExpr
100634 rc = evalFts3Expr(p, pCsr->pExpr, &pCsr->aDoclist, &pCsr->nDoclist, 0);
100635 pCsr->pNextId = pCsr->aDoclist;
100636 pCsr->iPrevId = 0;
100658 Fts3Cursor *pCsr = (Fts3Cursor *) pCursor;
100659 if( pCsr->aDoclist ){
100660 *pRowid = pCsr->iPrevId;
100662 *pRowid = sqlite3_column_int64(pCsr->pStmt, 0);
100677 Fts3Cursor *pCsr = (Fts3Cursor *) pCursor;
100694 sqlite3_result_blob(pContext, &pCsr, sizeof(pCsr), SQLITE_TRANSIENT);
100697 rc = fts3CursorSeek(0, pCsr);
100699 sqlite3_result_value(pContext, sqlite3_column_value(pCsr->pStmt, iCol+1));
100779 char *pCsr = pExpr->pCurrent;
100781 assert( pCsr );
100782 while( pCsr<pEnd ){
100784 fts3PoslistCopy(0, &pCsr);
100785 fts3GetDeltaVarint(&pCsr, &pExpr->iCurrent);
100786 pExpr->pCurrent = pCsr;
100795 return pCsr;
100798 fts3ColumnlistCopy(0, &pCsr);
100799 if( *pCsr==0x00 ) return 0;
100800 pCsr++;
100801 pCsr += sqlite3Fts3GetVarint32(pCsr, &iThis);
100803 if( iCol==iThis ) return pCsr;
100851 Fts3Cursor *pCsr; /* Cursor handle passed through apVal[0] */
100866 if( fts3FunctionArg(pContext, "snippet", apVal[0], &pCsr) ) return;
100875 }else if( SQLITE_OK==fts3CursorSeek(pContext, pCsr) ){
100876 sqlite3Fts3Snippet(pContext, pCsr, zStart, zEnd, zEllipsis);
100888 Fts3Cursor *pCsr; /* Cursor handle passed through apVal[0] */
100905 if( fts3FunctionArg(pContext, "snippet", apVal[0], &pCsr) ) return;
100916 }else if( SQLITE_OK==fts3CursorSeek(pContext, pCsr) ){
100917 sqlite3Fts3Snippet2(pContext, pCsr, zStart, zEnd, zEllipsis, iCol, nToken);
100929 Fts3Cursor *pCsr; /* Cursor handle passed through apVal[0] */
100934 if( fts3FunctionArg(pContext, "offsets", apVal[0], &pCsr) ) return;
100935 assert( pCsr );
100936 if( SQLITE_OK==fts3CursorSeek(pContext, pCsr) ){
100937 sqlite3Fts3Offsets(pContext, pCsr);
100989 Fts3Cursor *pCsr; /* Cursor handle passed through apVal[0] */
100997 if( SQLITE_OK==fts3FunctionArg(pContext, "matchinfo", apVal[0], &pCsr) ){
100998 sqlite3Fts3Matchinfo(pContext, pCsr);
103405 sqlite3_tokenizer_cursor *pCsr = 0;
103453 if( SQLITE_OK!=p->xOpen(pTokenizer, zInput, nInput, &pCsr) ){
103457 pCsr->pTokenizer = pTokenizer;
103459 while( SQLITE_OK==p->xNext(pCsr, &zToken, &nToken, &iStart, &iEnd, &iPos) ){
103467 if( SQLITE_OK!=p->xClose(pCsr) ){
104320 sqlite3_tokenizer_cursor *pCsr;
104326 rc = pModule->xOpen(pTokenizer, zText, -1, &pCsr);
104330 pCsr->pTokenizer = pTokenizer;
104334 && SQLITE_OK==(rc = xNext(pCsr, &zToken, &nToken, &iStart, &iEnd, &iPos))
104365 pModule->xClose(pCsr);
106641 static int snippetAllOffsets(Fts3Cursor *pCsr, Snippet **ppSnippet){
106642 Fts3Table *p = (Fts3Table *)pCsr->base.pVtab; /* The FTS3 virtual table */
106652 if( pCsr->pExpr==0 ){
106664 iColumn = (pCsr->eSearch - 2);
106677 zDoc = (const char*)sqlite3_column_text(pCsr->pStmt, i+1);
106678 nDoc = sqlite3_column_bytes(pCsr->pStmt, i+1);
106679 if( zDoc==0 && sqlite3_column_type(pCsr->pStmt, i+1)!=SQLITE_NULL ){
106682 rc = snippetOffsetsOfColumn(pCsr, pSnippet, i, zDoc, nDoc);
106686 while( trimSnippetOffsets(pCsr->pExpr, pSnippet, &iTerm) ){
106893 Fts3Cursor *pCsr /* Cursor object */
106896 int rc = snippetAllOffsets(pCsr, &p);
106912 Fts3Cursor *pCsr, /* Cursor object */
106918 int rc = snippetAllOffsets(pCsr, &p);
106920 snippetText(pCsr, p, zStart, zEnd, zEllipsis);
106998 static int fts3ExprLoadDoclists(Fts3Cursor *pCsr, int *pnPhrase){
107001 sCtx.pTab = (Fts3Table *)pCsr->base.pVtab;
107002 rc = fts3ExprIterate(pCsr->pExpr, fts3ExprLoadDoclistsCb, (void *)&sCtx);
107058 Fts3Cursor *pCsr;
107069 char *pCsr;
107072 pCsr = sqlite3Fts3FindPositions(pExpr, p->pCsr->iPrevId, p->iCol);
107074 if( pCsr ){
107076 pCsr += sqlite3Fts3GetVarint32(pCsr, &iVal);
107077 p->apList[iPhrase] = pCsr;
107125 Fts3Cursor *pCsr, /* Cursor to create snippet for */
107149 rc = fts3ExprLoadDoclists(pCsr, &nList);
107172 sCtx.pCsr = pCsr;
107178 (void)fts3ExprIterate(pCsr->pExpr, fts3SnippetFindPositions, (void *)&sCtx);
107255 Fts3Cursor *pCsr, /* FTS3 Cursor */
107266 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
107391 char *pCsr = *pp;
107392 while( *pCsr ){
107394 if( *pCsr==0x01 ){
107395 pCsr++;
107396 pCsr += sqlite3Fts3GetVarint(pCsr, &iCol);
107398 aOut[iCol] += fts3ColumnlistCount(&pCsr);
107400 pCsr++;
107401 *pp = pCsr;
107413 char *pCsr;
107420 pCsr = pExpr->aDoclist;
107422 while( pCsr<pEnd ){
107423 while( *pCsr++ & 0x80 );
107424 fts3LoadColumnlistCounts(&pCsr, &p->aGlobal[iStart]);
107439 char *pCsr;
107443 pCsr = sqlite3Fts3FindPositions(pExpr, p->pCursor->iPrevId, -1);
107444 if( pCsr ) fts3LoadColumnlistCounts(&pCsr, &p->aGlobal[iOffset]);
107451 ** Populate pCsr->aMatchinfo[] with data for the current row. The 'matchinfo'
107454 static int fts3GetMatchinfo(Fts3Cursor *pCsr){
107456 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
107457 if( pCsr->aMatchinfo==0 ){
107465 rc = fts3ExprLoadDoclists(pCsr, &nPhrase);
107481 (void)fts3ExprIterate(pCsr->pExpr, fts3ExprGlobalMatchinfoCb, (void *)&g);
107483 pCsr->aMatchinfo = g.aGlobal;
107487 g.pCursor = pCsr;
107490 g.aGlobal = pCsr->aMatchinfo;
107492 if( pCsr->isMatchinfoOk ){
107493 (void)fts3ExprIterate(pCsr->pExpr, fts3ExprLocalMatchinfoCb, (void *)&g);
107494 pCsr->isMatchinfoOk = 0;
107502 Fts3Cursor *pCsr, /* Cursor object */
107516 rc = fts3BestSnippet(nToken, pCsr, iCol, &iPos, &hlmask);
107518 nDoc = sqlite3_column_bytes(pCsr->pStmt, iCol+1);
107519 zDoc = (const char *)sqlite3_column_text(pCsr->pStmt, iCol+1);
107523 pCsr, zDoc, nDoc, nToken, iPos, hlmask, zStart, zEnd, zEllipsis, &z);
107532 SQLITE_PRIVATE void sqlite3Fts3Matchinfo(sqlite3_context *pContext, Fts3Cursor *pCsr){
107533 int rc = fts3GetMatchinfo(pCsr);
107537 int n = sizeof(u32)*(2+pCsr->aMatchinfo[0]*pCsr->aMatchinfo[1]*2);
107538 sqlite3_result_blob(pContext, pCsr->aMatchinfo, n, SQLITE_TRANSIENT);
108243 RtreeCursor *pCsr;
108245 pCsr = (RtreeCursor *)sqlite3_malloc(sizeof(RtreeCursor));
108246 if( pCsr ){
108247 memset(pCsr, 0, sizeof(RtreeCursor));
108248 pCsr->base.pVtab = pVTab;
108251 *ppCursor = (sqlite3_vtab_cursor *)pCsr;
108262 RtreeCursor *pCsr = (RtreeCursor *)cur;
108263 sqlite3_free(pCsr->aConstraint);
108264 rc = nodeRelease(pRtree, pCsr->pNode);
108265 sqlite3_free(pCsr);
108276 RtreeCursor *pCsr = (RtreeCursor *)cur;
108277 return (pCsr->pNode==0);
108437 RtreeCursor *pCsr = (RtreeCursor *)pVtabCursor;
108440 if( pCsr->iStrategy==1 ){
108442 nodeRelease(pRtree, pCsr->pNode);
108443 pCsr->pNode = 0;
108446 else if( pCsr->pNode ){
108449 while( pCsr->pNode ){
108450 RtreeNode *pNode = pCsr->pNode;
108452 for(pCsr->iCell++; pCsr->iCell<nCell; pCsr->iCell++){
108454 rc = descendToCell(pRtree, pCsr, iHeight, &isEof);
108459 pCsr->pNode = pNode->pParent;
108460 pCsr->iCell = nodeParentIndex(pRtree, pNode);
108461 nodeReference(pCsr->pNode);
108475 RtreeCursor *pCsr = (RtreeCursor *)pVtabCursor;
108477 assert(pCsr->pNode);
108478 *pRowid = nodeGetRowid(pRtree, pCsr->pNode, pCsr->iCell);
108488 RtreeCursor *pCsr = (RtreeCursor *)cur;
108491 i64 iRowid = nodeGetRowid(pRtree, pCsr->pNode, pCsr->iCell);
108495 nodeGetCoord(pRtree, pCsr->pNode, pCsr->iCell, i-1, &c);
108538 RtreeCursor *pCsr = (RtreeCursor *)pVtabCursor;
108546 sqlite3_free(pCsr->aConstraint);
108547 pCsr->aConstraint = 0;
108548 pCsr->iStrategy = idxNum;
108555 pCsr->pNode = pLeaf;
108557 pCsr->iCell = nodeRowidIndex(pRtree, pLeaf, iRowid);
108564 pCsr->aConstraint = sqlite3_malloc(sizeof(RtreeConstraint)*argc);
108565 pCsr->nConstraint = argc;
108566 if( !pCsr->aConstraint ){
108571 RtreeConstraint *p = &pCsr->aConstraint[ii];
108580 pCsr->pNode = 0;
108586 pCsr->pNode = pRoot;
108587 for(pCsr->iCell=0; rc==SQLITE_OK && pCsr->iCell<nCell; pCsr->iCell++){
108588 assert( pCsr->pNode==pRoot );
108589 rc = descendToCell(pRtree, pCsr, pRtree->iDepth, &isEof);
108595 assert( pCsr->pNode==pRoot );
108597 pCsr->pNode = 0;
108599 assert( rc!=SQLITE_OK || !pCsr->pNode || pCsr->iCell<NCELL(pCsr->pNode) );
111003 IcuCursor *pCsr;
111019 pCsr = (IcuCursor *)sqlite3_malloc(
111024 if( !pCsr ){
111027 memset(pCsr, 0, sizeof(IcuCursor));
111028 pCsr->aChar = (UChar *)&pCsr[1];
111029 pCsr->aOffset = (int *)&pCsr->aChar[nChar];
111031 pCsr->aOffset[iOut] = iInput;
111036 U16_APPEND(pCsr->aChar, iOut, nChar, c, isError);
111038 sqlite3_free(pCsr);
111041 pCsr->aOffset[iOut] = iInput;
111050 pCsr->pIter = ubrk_open(UBRK_WORD, p->zLocale, pCsr->aChar, iOut, &status);
111052 sqlite3_free(pCsr);
111055 pCsr->nChar = iOut;
111057 ubrk_first(pCsr->pIter);
111058 *ppCursor = (sqlite3_tokenizer_cursor *)pCsr;
111066 IcuCursor *pCsr = (IcuCursor *)pCursor;
111067 ubrk_close(pCsr->pIter);
111068 sqlite3_free(pCsr->zBuffer);
111069 sqlite3_free(pCsr);
111084 IcuCursor *pCsr = (IcuCursor *)pCursor;
111093 iStart = ubrk_current(pCsr->pIter);
111094 iEnd = ubrk_next(pCsr->pIter);
111101 U8_NEXT(pCsr->aChar, iWhite, pCsr->nChar, c);
111114 char *zNew = sqlite3_realloc(pCsr->zBuffer, nByte);
111118 pCsr->zBuffer = zNew;
111119 pCsr->nBuffer = nByte;
111123 pCsr->zBuffer, pCsr->nBuffer, &nByte, /* Output vars */
111124 &pCsr->aChar[iStart], iEnd-iStart, /* Input vars */
111127 } while( nByte>pCsr->nBuffer );
111129 *ppToken = pCsr->zBuffer;
111131 *piStartOffset = pCsr->aOffset[iStart];
111132 *piEndOffset = pCsr->aOffset[iEnd];
111133 *piPosition = pCsr->iToken++;