Lines Matching refs:pScan
85588 ScanStatus *pScan = 0;
85591 pScan = &p->aScan[ii];
85592 if( pScan->addrExplain==addrExplain ) break;
85593 pScan = 0;
85595 if( pScan ){
85597 for(ii=0; ii<ArraySize(pScan->aAddrRange); ii+=2){
85598 if( pScan->aAddrRange[ii]==0 ){
85599 pScan->aAddrRange[ii] = addrStart;
85600 pScan->aAddrRange[ii+1] = addrEnd;
85620 ScanStatus *pScan = 0;
85623 pScan = &p->aScan[ii];
85624 if( pScan->addrExplain==addrExplain ) break;
85625 pScan = 0;
85627 if( pScan ){
85628 if( addrLoop>0 ) pScan->addrLoop = addrLoop;
85629 if( addrVisit>0 ) pScan->addrVisit = addrVisit;
92246 ScanStatus *pScan = 0;
92279 pScan = &p->aScan[idx];
92284 pScan = &p->aScan[idx];
92285 if( pScan->zName ){
92295 if( pScan->addrLoop>0 ){
92296 *(sqlite3_int64*)pOut = aOp[pScan->addrLoop].nExec;
92303 if( pScan->addrVisit>0 ){
92304 *(sqlite3_int64*)pOut = aOp[pScan->addrVisit].nExec;
92312 LogEst x = pScan->nEst;
92321 *(const char**)pOut = pScan->zName;
92325 if( pScan->addrExplain ){
92326 *(const char**)pOut = aOp[ pScan->addrExplain ].p4.z;
92333 if( pScan->addrExplain ){
92334 *(int*)pOut = aOp[ pScan->addrExplain ].p1;
92341 if( pScan->addrExplain ){
92342 *(int*)pOut = aOp[ pScan->addrExplain ].p2;
92350 if( pScan->aAddrRange[0]==0 ){
92354 for(ii=0; ii<ArraySize(pScan->aAddrRange); ii+=2){
92355 int iIns = pScan->aAddrRange[ii];
92356 int iEnd = pScan->aAddrRange[ii+1];
161130 static WhereTerm *whereScanNext(WhereScan *pScan){
161136 int k = pScan->k; /* Where to start scanning */
161138 assert( pScan->iEquiv<=pScan->nEquiv );
161139 pWC = pScan->pWC;
161141 iColumn = pScan->aiColumn[pScan->iEquiv-1];
161142 iCur = pScan->aiCur[pScan->iEquiv-1];
161152 pScan->pIdxExpr,iCur)==0)
161153 && (pScan->iEquiv<=1 || !ExprHasProperty(pTerm->pExpr, EP_OuterON))
161156 && pScan->nEquiv<ArraySize(pScan->aiCur)
161160 for(j=0; j<pScan->nEquiv; j++){
161161 if( pScan->aiCur[j]==pX->iTable
161162 && pScan->aiColumn[j]==pX->iColumn ){
161166 if( j==pScan->nEquiv ){
161167 pScan->aiCur[j] = pX->iTable;
161168 pScan->aiColumn[j] = pX->iColumn;
161169 pScan->nEquiv++;
161172 if( (pTerm->eOperator & pScan->opMask)!=0 ){
161174 if( pScan->zCollName && (pTerm->eOperator & WO_ISNULL)==0 ){
161178 if( !sqlite3IndexAffinityOk(pX, pScan->idxaff) ){
161184 if( sqlite3StrICmp(pColl->zName, pScan->zCollName) ){
161191 && pX->iTable==pScan->aiCur[0]
161192 && pX->iColumn==pScan->aiColumn[0]
161197 pScan->pWC = pWC;
161198 pScan->k = k+1;
161203 pTerm, pScan->nEquiv);
161204 for(ii=0; ii<pScan->nEquiv; ii++){
161206 pScan->aiCur[ii], pScan->aiColumn[ii]);
161218 if( pScan->iEquiv>=pScan->nEquiv ) break;
161219 pWC = pScan->pOrigWC;
161221 pScan->iEquiv++;
161232 static SQLITE_NOINLINE WhereTerm *whereScanInitIndexExpr(WhereScan *pScan){
161233 pScan->idxaff = sqlite3ExprAffinity(pScan->pIdxExpr);
161234 return whereScanNext(pScan);
161257 WhereScan *pScan, /* The WhereScan object being initialized */
161264 pScan->pOrigWC = pWC;
161265 pScan->pWC = pWC;
161266 pScan->pIdxExpr = 0;
161267 pScan->idxaff = 0;
161268 pScan->zCollName = 0;
161269 pScan->opMask = opMask;
161270 pScan->k = 0;
161271 pScan->aiCur[0] = iCur;
161272 pScan->nEquiv = 1;
161273 pScan->iEquiv = 1;
161280 pScan->idxaff = pIdx->pTable->aCol[iColumn].affinity;
161281 pScan->zCollName = pIdx->azColl[j];
161283 pScan->pIdxExpr = pIdx->aColExpr->a[j].pExpr;
161284 pScan->zCollName = pIdx->azColl[j];
161285 pScan->aiColumn[0] = XN_EXPR;
161286 return whereScanInitIndexExpr(pScan);
161291 pScan->aiColumn[0] = iColumn;
161292 return whereScanNext(pScan);
238033 Fts5HashEntry *pScan; /* Current ordered scan item */
238534 return fts5HashEntrySort(p, pTerm, nTerm, &p->pScan);
238561 p->pScan = p->pScan->pScanNext;
238565 return (p->pScan==0);
238576 if( (p = pHash->pScan) ){
251430 sqlite3_stmt *pScan = 0;
251442 rc = fts5StorageGetStmt(p, FTS5_STMT_SCAN, &pScan, pConfig->pzErrmsg);
251445 while( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pScan) ){
251446 i64 iRowid = sqlite3_column_int64(pScan, 0);
251453 const char *zText = (const char*)sqlite3_column_text(pScan, ctx.iCol+1);
251454 int nText = sqlite3_column_bytes(pScan, ctx.iCol+1);
251472 rc2 = sqlite3_reset(pScan);
251720 sqlite3_stmt *pScan;
251736 rc = fts5StorageGetStmt(p, FTS5_STMT_SCAN, &pScan, 0);
251739 while( SQLITE_ROW==sqlite3_step(pScan) ){
251741 ctx.iRowid = sqlite3_column_int64(pScan, 0);
251757 const char *zText = (const char*)sqlite3_column_text(pScan, i+1);
251758 int nText = sqlite3_column_bytes(pScan, i+1);
251780 rc2 = sqlite3_reset(pScan);