Lines Matching refs:pIdx
98 Index *pIdx, /* The index to check */ in indexColumnIsBeingUpdated() argument
103 i16 iIdxCol = pIdx->aiColumn[iCol]; in indexColumnIsBeingUpdated()
109 assert( pIdx->aColExpr!=0 ); in indexColumnIsBeingUpdated()
110 assert( pIdx->aColExpr->a[iCol].pExpr!=0 ); in indexColumnIsBeingUpdated()
111 return sqlite3ExprReferencesUpdatedColumn(pIdx->aColExpr->a[iCol].pExpr, in indexColumnIsBeingUpdated()
128 Index *pIdx, /* The index to check */ in indexWhereClauseMightChange() argument
132 if( pIdx->pPartIdxWhere==0 ) return 0; in indexWhereClauseMightChange()
133 return sqlite3ExprReferencesUpdatedColumn(pIdx->pPartIdxWhere, in indexWhereClauseMightChange()
299 Index *pIdx; /* For looping over indices */ in sqlite3Update() local
423 for(nIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nIdx++){ in sqlite3Update()
424 if( pPk==pIdx ){ in sqlite3Update()
572 for(nAllIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nAllIdx++){ in sqlite3Update()
574 if( chngKey || hasFK>1 || pIdx==pPk in sqlite3Update()
575 || indexWhereClauseMightChange(pIdx,aXRef,chngRowid) in sqlite3Update()
578 pParse->nMem += pIdx->nColumn; in sqlite3Update()
581 for(i=0; i<pIdx->nKeyCol; i++){ in sqlite3Update()
582 if( indexColumnIsBeingUpdated(pIdx, i, aXRef, chngRowid) ){ in sqlite3Update()
584 pParse->nMem += pIdx->nColumn; in sqlite3Update()
585 if( onError==OE_Default && pIdx->onError==OE_Replace ){ in sqlite3Update()