Lines Matching refs:pCur

5894   series_cursor *pCur;  in seriesOpen()  local
5896 pCur = sqlite3_malloc( sizeof(*pCur) ); in seriesOpen()
5897 if( pCur==0 ) return SQLITE_NOMEM; in seriesOpen()
5898 memset(pCur, 0, sizeof(*pCur)); in seriesOpen()
5899 *ppCursor = &pCur->base; in seriesOpen()
5916 series_cursor *pCur = (series_cursor*)cur; in seriesNext() local
5917 progressSequence( & pCur->ss ); in seriesNext()
5930 series_cursor *pCur = (series_cursor*)cur; in seriesColumn() local
5933 case SERIES_COLUMN_START: x = pCur->ss.iBase; break; in seriesColumn()
5934 case SERIES_COLUMN_STOP: x = pCur->ss.iTerm; break; in seriesColumn()
5935 case SERIES_COLUMN_STEP: x = pCur->ss.iStep; break; in seriesColumn()
5936 default: x = pCur->ss.iValueNow; break; in seriesColumn()
5951 series_cursor *pCur = (series_cursor*)cur; in seriesRowid() local
5952 sqlite3_uint64 n = pCur->ss.uSeqIndexNow; in seriesRowid()
5962 series_cursor *pCur = (series_cursor*)cur; in seriesEof() local
5963 return !pCur->ss.isNotEOF; in seriesEof()
6001 series_cursor *pCur = (series_cursor *)pVtabCursor; in seriesFilter() local
6005 pCur->ss.iBase = sqlite3_value_int64(argv[i++]); in seriesFilter()
6007 pCur->ss.iBase = 0; in seriesFilter()
6010 pCur->ss.iTerm = sqlite3_value_int64(argv[i++]); in seriesFilter()
6012 pCur->ss.iTerm = 0xffffffff; in seriesFilter()
6015 pCur->ss.iStep = sqlite3_value_int64(argv[i++]); in seriesFilter()
6016 if( pCur->ss.iStep==0 ){ in seriesFilter()
6017 pCur->ss.iStep = 1; in seriesFilter()
6018 }else if( pCur->ss.iStep<0 ){ in seriesFilter()
6022 pCur->ss.iStep = 1; in seriesFilter()
6028 pCur->ss.iBase = 1; in seriesFilter()
6029 pCur->ss.iTerm = 0; in seriesFilter()
6030 pCur->ss.iStep = 1; in seriesFilter()
6035 pCur->ss.isReversing = pCur->ss.iStep > 0; in seriesFilter()
6037 pCur->ss.isReversing = pCur->ss.iStep < 0; in seriesFilter()
6039 setupSequence( &pCur->ss ); in seriesFilter()
7712 fsdir_cursor *pCur; in fsdirOpen() local
7714 pCur = sqlite3_malloc( sizeof(*pCur) ); in fsdirOpen()
7715 if( pCur==0 ) return SQLITE_NOMEM; in fsdirOpen()
7716 memset(pCur, 0, sizeof(*pCur)); in fsdirOpen()
7717 pCur->iLvl = -1; in fsdirOpen()
7718 *ppCursor = &pCur->base; in fsdirOpen()
7726 static void fsdirResetCursor(fsdir_cursor *pCur){ in fsdirResetCursor() argument
7728 for(i=0; i<=pCur->iLvl; i++){ in fsdirResetCursor()
7729 FsdirLevel *pLvl = &pCur->aLvl[i]; in fsdirResetCursor()
7733 sqlite3_free(pCur->zPath); in fsdirResetCursor()
7734 sqlite3_free(pCur->aLvl); in fsdirResetCursor()
7735 pCur->aLvl = 0; in fsdirResetCursor()
7736 pCur->zPath = 0; in fsdirResetCursor()
7737 pCur->zBase = 0; in fsdirResetCursor()
7738 pCur->nBase = 0; in fsdirResetCursor()
7739 pCur->nLvl = 0; in fsdirResetCursor()
7740 pCur->iLvl = -1; in fsdirResetCursor()
7741 pCur->iRowid = 1; in fsdirResetCursor()
7748 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirClose() local
7750 fsdirResetCursor(pCur); in fsdirClose()
7751 sqlite3_free(pCur); in fsdirClose()
7759 static void fsdirSetErrmsg(fsdir_cursor *pCur, const char *zFmt, ...){ in fsdirSetErrmsg() argument
7762 pCur->base.pVtab->zErrMsg = sqlite3_vmprintf(zFmt, ap); in fsdirSetErrmsg()
7771 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirNext() local
7772 mode_t m = pCur->sStat.st_mode; in fsdirNext()
7774 pCur->iRowid++; in fsdirNext()
7777 int iNew = pCur->iLvl + 1; in fsdirNext()
7779 if( iNew>=pCur->nLvl ){ in fsdirNext()
7782 FsdirLevel *aNew = (FsdirLevel*)sqlite3_realloc64(pCur->aLvl, nByte); in fsdirNext()
7784 memset(&aNew[pCur->nLvl], 0, sizeof(FsdirLevel)*(nNew-pCur->nLvl)); in fsdirNext()
7785 pCur->aLvl = aNew; in fsdirNext()
7786 pCur->nLvl = nNew; in fsdirNext()
7788 pCur->iLvl = iNew; in fsdirNext()
7789 pLvl = &pCur->aLvl[iNew]; in fsdirNext()
7791 pLvl->zDir = pCur->zPath; in fsdirNext()
7792 pCur->zPath = 0; in fsdirNext()
7795 fsdirSetErrmsg(pCur, "cannot read directory: %s", pCur->zPath); in fsdirNext()
7800 while( pCur->iLvl>=0 ){ in fsdirNext()
7801 FsdirLevel *pLvl = &pCur->aLvl[pCur->iLvl]; in fsdirNext()
7808 sqlite3_free(pCur->zPath); in fsdirNext()
7809 pCur->zPath = sqlite3_mprintf("%s/%s", pLvl->zDir, pEntry->d_name); in fsdirNext()
7810 if( pCur->zPath==0 ) return SQLITE_NOMEM; in fsdirNext()
7811 if( fileLinkStat(pCur->zPath, &pCur->sStat) ){ in fsdirNext()
7812 fsdirSetErrmsg(pCur, "cannot stat file: %s", pCur->zPath); in fsdirNext()
7821 pCur->iLvl--; in fsdirNext()
7825 sqlite3_free(pCur->zPath); in fsdirNext()
7826 pCur->zPath = 0; in fsdirNext()
7839 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirColumn() local
7842 sqlite3_result_text(ctx, &pCur->zPath[pCur->nBase], -1, SQLITE_TRANSIENT); in fsdirColumn()
7847 sqlite3_result_int64(ctx, pCur->sStat.st_mode); in fsdirColumn()
7851 sqlite3_result_int64(ctx, pCur->sStat.st_mtime); in fsdirColumn()
7855 mode_t m = pCur->sStat.st_mode; in fsdirColumn()
7866 n = readlink(pCur->zPath, aBuf, nBuf); in fsdirColumn()
7881 readFileContents(ctx, pCur->zPath); in fsdirColumn()
7900 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirRowid() local
7901 *pRowid = pCur->iRowid; in fsdirRowid()
7910 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirEof() local
7911 return (pCur->zPath==0); in fsdirEof()
7926 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirFilter() local
7928 fsdirResetCursor(pCur); in fsdirFilter()
7931 fsdirSetErrmsg(pCur, "table function fsdir requires an argument"); in fsdirFilter()
7938 fsdirSetErrmsg(pCur, "table function fsdir requires a non-NULL argument"); in fsdirFilter()
7942 pCur->zBase = (const char*)sqlite3_value_text(argv[1]); in fsdirFilter()
7944 if( pCur->zBase ){ in fsdirFilter()
7945 pCur->nBase = (int)strlen(pCur->zBase)+1; in fsdirFilter()
7946 pCur->zPath = sqlite3_mprintf("%s/%s", pCur->zBase, zDir); in fsdirFilter()
7948 pCur->zPath = sqlite3_mprintf("%s", zDir); in fsdirFilter()
7951 if( pCur->zPath==0 ){ in fsdirFilter()
7954 if( fileLinkStat(pCur->zPath, &pCur->sStat) ){ in fsdirFilter()
7955 fsdirSetErrmsg(pCur, "cannot stat file: %s", pCur->zPath); in fsdirFilter()
8267 completion_cursor *pCur; in completionOpen() local
8268 pCur = sqlite3_malloc( sizeof(*pCur) ); in completionOpen()
8269 if( pCur==0 ) return SQLITE_NOMEM; in completionOpen()
8270 memset(pCur, 0, sizeof(*pCur)); in completionOpen()
8271 pCur->db = ((completion_vtab*)p)->db; in completionOpen()
8272 *ppCursor = &pCur->base; in completionOpen()
8279 static void completionCursorReset(completion_cursor *pCur){ in completionCursorReset() argument
8280 sqlite3_free(pCur->zPrefix); pCur->zPrefix = 0; pCur->nPrefix = 0; in completionCursorReset()
8281 sqlite3_free(pCur->zLine); pCur->zLine = 0; pCur->nLine = 0; in completionCursorReset()
8282 sqlite3_finalize(pCur->pStmt); pCur->pStmt = 0; in completionCursorReset()
8283 pCur->j = 0; in completionCursorReset()
8310 completion_cursor *pCur = (completion_cursor*)cur; in completionNext() local
8313 pCur->iRowid++; in completionNext()
8314 while( pCur->ePhase!=COMPLETION_EOF ){ in completionNext()
8315 switch( pCur->ePhase ){ in completionNext()
8317 if( pCur->j >= sqlite3_keyword_count() ){ in completionNext()
8318 pCur->zCurrentRow = 0; in completionNext()
8319 pCur->ePhase = COMPLETION_DATABASES; in completionNext()
8321 sqlite3_keyword_name(pCur->j++, &pCur->zCurrentRow, &pCur->szRow); in completionNext()
8327 if( pCur->pStmt==0 ){ in completionNext()
8328 sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, in completionNext()
8329 &pCur->pStmt, 0); in completionNext()
8336 if( pCur->pStmt==0 ){ in completionNext()
8340 sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, &pS2, 0); in completionNext()
8352 sqlite3_prepare_v2(pCur->db, zSql, -1, &pCur->pStmt, 0); in completionNext()
8360 if( pCur->pStmt==0 ){ in completionNext()
8364 sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, &pS2, 0); in completionNext()
8378 sqlite3_prepare_v2(pCur->db, zSql, -1, &pCur->pStmt, 0); in completionNext()
8388 if( pCur->zCurrentRow==0 ) continue; in completionNext()
8390 if( sqlite3_step(pCur->pStmt)==SQLITE_ROW ){ in completionNext()
8392 pCur->zCurrentRow = (const char*)sqlite3_column_text(pCur->pStmt, iCol); in completionNext()
8393 pCur->szRow = sqlite3_column_bytes(pCur->pStmt, iCol); in completionNext()
8396 sqlite3_finalize(pCur->pStmt); in completionNext()
8397 pCur->pStmt = 0; in completionNext()
8398 pCur->ePhase = eNextPhase; in completionNext()
8402 if( pCur->nPrefix==0 ) break; in completionNext()
8403 if( pCur->nPrefix<=pCur->szRow in completionNext()
8404 && sqlite3_strnicmp(pCur->zPrefix, pCur->zCurrentRow, pCur->nPrefix)==0 in completionNext()
8422 completion_cursor *pCur = (completion_cursor*)cur; in completionColumn() local
8425 sqlite3_result_text(ctx, pCur->zCurrentRow, pCur->szRow,SQLITE_TRANSIENT); in completionColumn()
8429 sqlite3_result_text(ctx, pCur->zPrefix, -1, SQLITE_TRANSIENT); in completionColumn()
8433 sqlite3_result_text(ctx, pCur->zLine, -1, SQLITE_TRANSIENT); in completionColumn()
8437 sqlite3_result_int(ctx, pCur->ePhase); in completionColumn()
8449 completion_cursor *pCur = (completion_cursor*)cur; in completionRowid() local
8450 *pRowid = pCur->iRowid; in completionRowid()
8459 completion_cursor *pCur = (completion_cursor*)cur; in completionEof() local
8460 return pCur->ePhase >= COMPLETION_EOF; in completionEof()
8474 completion_cursor *pCur = (completion_cursor *)pVtabCursor; in completionFilter() local
8478 completionCursorReset(pCur); in completionFilter()
8480 pCur->nPrefix = sqlite3_value_bytes(argv[iArg]); in completionFilter()
8481 if( pCur->nPrefix>0 ){ in completionFilter()
8482 pCur->zPrefix = sqlite3_mprintf("%s", sqlite3_value_text(argv[iArg])); in completionFilter()
8483 if( pCur->zPrefix==0 ) return SQLITE_NOMEM; in completionFilter()
8488 pCur->nLine = sqlite3_value_bytes(argv[iArg]); in completionFilter()
8489 if( pCur->nLine>0 ){ in completionFilter()
8490 pCur->zLine = sqlite3_mprintf("%s", sqlite3_value_text(argv[iArg])); in completionFilter()
8491 if( pCur->zLine==0 ) return SQLITE_NOMEM; in completionFilter()
8494 if( pCur->zLine!=0 && pCur->zPrefix==0 ){ in completionFilter()
8495 int i = pCur->nLine; in completionFilter()
8496 while( i>0 && (isalnum((unsigned char)pCur->zLine[i-1]) || pCur->zLine[i-1]=='_') ){ in completionFilter()
8499 pCur->nPrefix = pCur->nLine - i; in completionFilter()
8500 if( pCur->nPrefix>0 ){ in completionFilter()
8501 pCur->zPrefix = sqlite3_mprintf("%.*s", pCur->nPrefix, pCur->zLine + i); in completionFilter()
8502 if( pCur->zPrefix==0 ) return SQLITE_NOMEM; in completionFilter()
8505 pCur->iRowid = 0; in completionFilter()
8506 pCur->ePhase = COMPLETION_FIRST_PHASE; in completionFilter()