Lines Matching refs:pCur
6490 series_cursor *pCur; in seriesOpen() local
6492 pCur = sqlite3_malloc( sizeof(*pCur) ); in seriesOpen()
6493 if( pCur==0 ) return SQLITE_NOMEM; in seriesOpen()
6494 memset(pCur, 0, sizeof(*pCur)); in seriesOpen()
6495 *ppCursor = &pCur->base; in seriesOpen()
6512 series_cursor *pCur = (series_cursor*)cur; in seriesNext() local
6513 progressSequence( & pCur->ss ); in seriesNext()
6526 series_cursor *pCur = (series_cursor*)cur; in seriesColumn() local
6529 case SERIES_COLUMN_START: x = pCur->ss.iOBase; break; in seriesColumn()
6530 case SERIES_COLUMN_STOP: x = pCur->ss.iOTerm; break; in seriesColumn()
6531 case SERIES_COLUMN_STEP: x = pCur->ss.iStep; break; in seriesColumn()
6532 default: x = pCur->ss.iValueNow; break; in seriesColumn()
6548 series_cursor *pCur = (series_cursor*)cur; in seriesRowid() local
6549 *pRowid = pCur->ss.iValueNow; in seriesRowid()
6558 series_cursor *pCur = (series_cursor*)cur; in seriesEof() local
6559 return !pCur->ss.isNotEOF; in seriesEof()
6602 series_cursor *pCur = (series_cursor *)pVtabCursor; in seriesFilter() local
6612 pCur->ss.iBase = sqlite3_value_int64(argv[i++]); in seriesFilter()
6614 pCur->ss.iBase = 0; in seriesFilter()
6617 pCur->ss.iTerm = sqlite3_value_int64(argv[i++]); in seriesFilter()
6619 pCur->ss.iTerm = 0xffffffff; in seriesFilter()
6622 pCur->ss.iStep = sqlite3_value_int64(argv[i++]); in seriesFilter()
6623 if( pCur->ss.iStep==0 ){ in seriesFilter()
6624 pCur->ss.iStep = 1; in seriesFilter()
6625 }else if( pCur->ss.iStep<0 ){ in seriesFilter()
6629 pCur->ss.iStep = 1; in seriesFilter()
6639 pCur->ss.iBase = SMALLEST_INT64; in seriesFilter()
6642 pCur->ss.iTerm = LARGEST_INT64; in seriesFilter()
6644 pCur->ss.iOBase = pCur->ss.iBase; in seriesFilter()
6645 pCur->ss.iOTerm = pCur->ss.iTerm; in seriesFilter()
6719 if( pCur->ss.iStep>0 ){ in seriesFilter()
6720 sqlite3_int64 szStep = pCur->ss.iStep; in seriesFilter()
6721 if( pCur->ss.iBase<iMin ){ in seriesFilter()
6722 sqlite3_uint64 d = iMin - pCur->ss.iBase; in seriesFilter()
6723 pCur->ss.iBase += ((d+szStep-1)/szStep)*szStep; in seriesFilter()
6725 if( pCur->ss.iTerm>iMax ){ in seriesFilter()
6726 pCur->ss.iTerm = iMax; in seriesFilter()
6729 sqlite3_int64 szStep = -pCur->ss.iStep; in seriesFilter()
6731 if( pCur->ss.iBase>iMax ){ in seriesFilter()
6732 sqlite3_uint64 d = pCur->ss.iBase - iMax; in seriesFilter()
6733 pCur->ss.iBase -= ((d+szStep-1)/szStep)*szStep; in seriesFilter()
6735 if( pCur->ss.iTerm<iMin ){ in seriesFilter()
6736 pCur->ss.iTerm = iMin; in seriesFilter()
6744 pCur->ss.iBase += pCur->ss.iStep*iOffset; in seriesFilter()
6748 iTerm = pCur->ss.iBase + (iLimit - 1)*pCur->ss.iStep; in seriesFilter()
6749 if( pCur->ss.iStep<0 ){ in seriesFilter()
6750 if( iTerm>pCur->ss.iTerm ) pCur->ss.iTerm = iTerm; in seriesFilter()
6752 if( iTerm<pCur->ss.iTerm ) pCur->ss.iTerm = iTerm; in seriesFilter()
6767 pCur->ss.iBase = 1; in seriesFilter()
6768 pCur->ss.iTerm = 0; in seriesFilter()
6769 pCur->ss.iStep = 1; in seriesFilter()
6772 pCur->ss.isReversing = pCur->ss.iStep > 0; in seriesFilter()
6774 pCur->ss.isReversing = pCur->ss.iStep < 0; in seriesFilter()
6776 setupSequence( &pCur->ss ); in seriesFilter()
8614 fsdir_cursor *pCur; in fsdirOpen() local
8616 pCur = sqlite3_malloc( sizeof(*pCur) ); in fsdirOpen()
8617 if( pCur==0 ) return SQLITE_NOMEM; in fsdirOpen()
8618 memset(pCur, 0, sizeof(*pCur)); in fsdirOpen()
8619 pCur->iLvl = -1; in fsdirOpen()
8620 *ppCursor = &pCur->base; in fsdirOpen()
8628 static void fsdirResetCursor(fsdir_cursor *pCur){ in fsdirResetCursor() argument
8630 for(i=0; i<=pCur->iLvl; i++){ in fsdirResetCursor()
8631 FsdirLevel *pLvl = &pCur->aLvl[i]; in fsdirResetCursor()
8635 sqlite3_free(pCur->zPath); in fsdirResetCursor()
8636 sqlite3_free(pCur->aLvl); in fsdirResetCursor()
8637 pCur->aLvl = 0; in fsdirResetCursor()
8638 pCur->zPath = 0; in fsdirResetCursor()
8639 pCur->zBase = 0; in fsdirResetCursor()
8640 pCur->nBase = 0; in fsdirResetCursor()
8641 pCur->nLvl = 0; in fsdirResetCursor()
8642 pCur->iLvl = -1; in fsdirResetCursor()
8643 pCur->iRowid = 1; in fsdirResetCursor()
8650 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirClose() local
8652 fsdirResetCursor(pCur); in fsdirClose()
8653 sqlite3_free(pCur); in fsdirClose()
8661 static void fsdirSetErrmsg(fsdir_cursor *pCur, const char *zFmt, ...){ in fsdirSetErrmsg() argument
8664 pCur->base.pVtab->zErrMsg = sqlite3_vmprintf(zFmt, ap); in fsdirSetErrmsg()
8673 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirNext() local
8674 mode_t m = pCur->sStat.st_mode; in fsdirNext()
8676 pCur->iRowid++; in fsdirNext()
8679 int iNew = pCur->iLvl + 1; in fsdirNext()
8681 if( iNew>=pCur->nLvl ){ in fsdirNext()
8684 FsdirLevel *aNew = (FsdirLevel*)sqlite3_realloc64(pCur->aLvl, nByte); in fsdirNext()
8686 memset(&aNew[pCur->nLvl], 0, sizeof(FsdirLevel)*(nNew-pCur->nLvl)); in fsdirNext()
8687 pCur->aLvl = aNew; in fsdirNext()
8688 pCur->nLvl = nNew; in fsdirNext()
8690 pCur->iLvl = iNew; in fsdirNext()
8691 pLvl = &pCur->aLvl[iNew]; in fsdirNext()
8693 pLvl->zDir = pCur->zPath; in fsdirNext()
8694 pCur->zPath = 0; in fsdirNext()
8697 fsdirSetErrmsg(pCur, "cannot read directory: %s", pCur->zPath); in fsdirNext()
8702 while( pCur->iLvl>=0 ){ in fsdirNext()
8703 FsdirLevel *pLvl = &pCur->aLvl[pCur->iLvl]; in fsdirNext()
8710 sqlite3_free(pCur->zPath); in fsdirNext()
8711 pCur->zPath = sqlite3_mprintf("%s/%s", pLvl->zDir, pEntry->d_name); in fsdirNext()
8712 if( pCur->zPath==0 ) return SQLITE_NOMEM; in fsdirNext()
8713 if( fileLinkStat(pCur->zPath, &pCur->sStat) ){ in fsdirNext()
8714 fsdirSetErrmsg(pCur, "cannot stat file: %s", pCur->zPath); in fsdirNext()
8723 pCur->iLvl--; in fsdirNext()
8727 sqlite3_free(pCur->zPath); in fsdirNext()
8728 pCur->zPath = 0; in fsdirNext()
8741 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirColumn() local
8744 sqlite3_result_text(ctx, &pCur->zPath[pCur->nBase], -1, SQLITE_TRANSIENT); in fsdirColumn()
8749 sqlite3_result_int64(ctx, pCur->sStat.st_mode); in fsdirColumn()
8753 sqlite3_result_int64(ctx, pCur->sStat.st_mtime); in fsdirColumn()
8757 mode_t m = pCur->sStat.st_mode; in fsdirColumn()
8768 n = readlink(pCur->zPath, aBuf, nBuf); in fsdirColumn()
8783 readFileContents(ctx, pCur->zPath); in fsdirColumn()
8802 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirRowid() local
8803 *pRowid = pCur->iRowid; in fsdirRowid()
8812 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirEof() local
8813 return (pCur->zPath==0); in fsdirEof()
8828 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirFilter() local
8830 fsdirResetCursor(pCur); in fsdirFilter()
8833 fsdirSetErrmsg(pCur, "table function fsdir requires an argument"); in fsdirFilter()
8840 fsdirSetErrmsg(pCur, "table function fsdir requires a non-NULL argument"); in fsdirFilter()
8844 pCur->zBase = (const char*)sqlite3_value_text(argv[1]); in fsdirFilter()
8846 if( pCur->zBase ){ in fsdirFilter()
8847 pCur->nBase = (int)strlen(pCur->zBase)+1; in fsdirFilter()
8848 pCur->zPath = sqlite3_mprintf("%s/%s", pCur->zBase, zDir); in fsdirFilter()
8850 pCur->zPath = sqlite3_mprintf("%s", zDir); in fsdirFilter()
8853 if( pCur->zPath==0 ){ in fsdirFilter()
8856 if( fileLinkStat(pCur->zPath, &pCur->sStat) ){ in fsdirFilter()
8857 fsdirSetErrmsg(pCur, "cannot stat file: %s", pCur->zPath); in fsdirFilter()
9174 completion_cursor *pCur; in completionOpen() local
9175 pCur = sqlite3_malloc( sizeof(*pCur) ); in completionOpen()
9176 if( pCur==0 ) return SQLITE_NOMEM; in completionOpen()
9177 memset(pCur, 0, sizeof(*pCur)); in completionOpen()
9178 pCur->db = ((completion_vtab*)p)->db; in completionOpen()
9179 *ppCursor = &pCur->base; in completionOpen()
9186 static void completionCursorReset(completion_cursor *pCur){ in completionCursorReset() argument
9187 sqlite3_free(pCur->zPrefix); pCur->zPrefix = 0; pCur->nPrefix = 0; in completionCursorReset()
9188 sqlite3_free(pCur->zLine); pCur->zLine = 0; pCur->nLine = 0; in completionCursorReset()
9189 sqlite3_finalize(pCur->pStmt); pCur->pStmt = 0; in completionCursorReset()
9190 pCur->j = 0; in completionCursorReset()
9217 completion_cursor *pCur = (completion_cursor*)cur; in completionNext() local
9220 pCur->iRowid++; in completionNext()
9221 while( pCur->ePhase!=COMPLETION_EOF ){ in completionNext()
9222 switch( pCur->ePhase ){ in completionNext()
9224 if( pCur->j >= sqlite3_keyword_count() ){ in completionNext()
9225 pCur->zCurrentRow = 0; in completionNext()
9226 pCur->ePhase = COMPLETION_DATABASES; in completionNext()
9228 sqlite3_keyword_name(pCur->j++, &pCur->zCurrentRow, &pCur->szRow); in completionNext()
9234 if( pCur->pStmt==0 ){ in completionNext()
9235 sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, in completionNext()
9236 &pCur->pStmt, 0); in completionNext()
9243 if( pCur->pStmt==0 ){ in completionNext()
9247 sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, &pS2, 0); in completionNext()
9259 sqlite3_prepare_v2(pCur->db, zSql, -1, &pCur->pStmt, 0); in completionNext()
9267 if( pCur->pStmt==0 ){ in completionNext()
9271 sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, &pS2, 0); in completionNext()
9285 sqlite3_prepare_v2(pCur->db, zSql, -1, &pCur->pStmt, 0); in completionNext()
9295 if( pCur->zCurrentRow==0 ) continue; in completionNext()
9297 if( sqlite3_step(pCur->pStmt)==SQLITE_ROW ){ in completionNext()
9299 pCur->zCurrentRow = (const char*)sqlite3_column_text(pCur->pStmt, iCol); in completionNext()
9300 pCur->szRow = sqlite3_column_bytes(pCur->pStmt, iCol); in completionNext()
9303 sqlite3_finalize(pCur->pStmt); in completionNext()
9304 pCur->pStmt = 0; in completionNext()
9305 pCur->ePhase = eNextPhase; in completionNext()
9309 if( pCur->nPrefix==0 ) break; in completionNext()
9310 if( pCur->nPrefix<=pCur->szRow in completionNext()
9311 && sqlite3_strnicmp(pCur->zPrefix, pCur->zCurrentRow, pCur->nPrefix)==0 in completionNext()
9329 completion_cursor *pCur = (completion_cursor*)cur; in completionColumn() local
9332 sqlite3_result_text(ctx, pCur->zCurrentRow, pCur->szRow,SQLITE_TRANSIENT); in completionColumn()
9336 sqlite3_result_text(ctx, pCur->zPrefix, -1, SQLITE_TRANSIENT); in completionColumn()
9340 sqlite3_result_text(ctx, pCur->zLine, -1, SQLITE_TRANSIENT); in completionColumn()
9344 sqlite3_result_int(ctx, pCur->ePhase); in completionColumn()
9356 completion_cursor *pCur = (completion_cursor*)cur; in completionRowid() local
9357 *pRowid = pCur->iRowid; in completionRowid()
9366 completion_cursor *pCur = (completion_cursor*)cur; in completionEof() local
9367 return pCur->ePhase >= COMPLETION_EOF; in completionEof()
9381 completion_cursor *pCur = (completion_cursor *)pVtabCursor; in completionFilter() local
9385 completionCursorReset(pCur); in completionFilter()
9387 pCur->nPrefix = sqlite3_value_bytes(argv[iArg]); in completionFilter()
9388 if( pCur->nPrefix>0 ){ in completionFilter()
9389 pCur->zPrefix = sqlite3_mprintf("%s", sqlite3_value_text(argv[iArg])); in completionFilter()
9390 if( pCur->zPrefix==0 ) return SQLITE_NOMEM; in completionFilter()
9395 pCur->nLine = sqlite3_value_bytes(argv[iArg]); in completionFilter()
9396 if( pCur->nLine>0 ){ in completionFilter()
9397 pCur->zLine = sqlite3_mprintf("%s", sqlite3_value_text(argv[iArg])); in completionFilter()
9398 if( pCur->zLine==0 ) return SQLITE_NOMEM; in completionFilter()
9401 if( pCur->zLine!=0 && pCur->zPrefix==0 ){ in completionFilter()
9402 int i = pCur->nLine; in completionFilter()
9403 while( i>0 && (IsAlnum(pCur->zLine[i-1]) || pCur->zLine[i-1]=='_') ){ in completionFilter()
9406 pCur->nPrefix = pCur->nLine - i; in completionFilter()
9407 if( pCur->nPrefix>0 ){ in completionFilter()
9408 pCur->zPrefix = sqlite3_mprintf("%.*s", pCur->nPrefix, pCur->zLine + i); in completionFilter()
9409 if( pCur->zPrefix==0 ) return SQLITE_NOMEM; in completionFilter()
9412 pCur->iRowid = 0; in completionFilter()
9413 pCur->ePhase = COMPLETION_FIRST_PHASE; in completionFilter()