Lines Matching refs:pRule

216   const fuzzer_rule *pRule;  /* Current rule to apply */  member
231 fuzzer_rule *pRule; /* All active rules in this fuzzer */ member
308 fuzzer_rule *pRule = 0; /* New rule object to return */ in fuzzerLoadOneRule() local
340 pRule = sqlite3_malloc64( sizeof(*pRule) + nFrom + nTo ); in fuzzerLoadOneRule()
341 if( pRule==0 ){ in fuzzerLoadOneRule()
344 memset(pRule, 0, sizeof(*pRule)); in fuzzerLoadOneRule()
345 pRule->zFrom = pRule->zTo; in fuzzerLoadOneRule()
346 pRule->zFrom += nTo + 1; in fuzzerLoadOneRule()
347 pRule->nFrom = (fuzzer_len)nFrom; in fuzzerLoadOneRule()
348 memcpy(pRule->zFrom, zFrom, nFrom+1); in fuzzerLoadOneRule()
349 memcpy(pRule->zTo, zTo, nTo+1); in fuzzerLoadOneRule()
350 pRule->nTo = (fuzzer_len)nTo; in fuzzerLoadOneRule()
351 pRule->rCost = nCost; in fuzzerLoadOneRule()
352 pRule->iRuleset = (int)iRuleset; in fuzzerLoadOneRule()
356 *ppRule = pRule; in fuzzerLoadOneRule()
390 fuzzer_rule *pRule = 0; in fuzzerLoadRules() local
391 rc = fuzzerLoadOneRule(p, pStmt, &pRule, pzErr); in fuzzerLoadRules()
392 if( pRule ){ in fuzzerLoadRules()
393 pRule->pNext = pHead; in fuzzerLoadRules()
394 pHead = pRule; in fuzzerLoadRules()
424 p->pRule = fuzzerMergeRules(p->pRule, pX); in fuzzerLoadRules()
429 assert( p->pRule==0 ); in fuzzerLoadRules()
430 p->pRule = pHead; in fuzzerLoadRules()
481 while( p->pRule ){ in fuzzerDisconnect()
482 fuzzer_rule *pRule = p->pRule; in fuzzerDisconnect() local
483 p->pRule = pRule->pNext; in fuzzerDisconnect()
484 sqlite3_free(pRule); in fuzzerDisconnect()
619 const fuzzer_rule *pRule = pStem->pRule; in fuzzerRender() local
623 n = pStem->nBasis + pRule->nTo - pRule->nFrom; in fuzzerRender()
635 memcpy(&z[n], pRule->zTo, pRule->nTo); in fuzzerRender()
636 memcpy(&z[n+pRule->nTo], &pStem->zBasis[n+pRule->nFrom], in fuzzerRender()
637 pStem->nBasis-n-pRule->nFrom+1); in fuzzerRender()
640 assert( z[pStem->nBasis + pRule->nTo - pRule->nFrom]==0 ); in fuzzerRender()
657 return pStem->rCostX = pStem->rBaseCost + pStem->pRule->rCost; in fuzzerCost()
718 const fuzzer_rule *pRule, /* Determine whether or not to skip this */ in fuzzerSkipRule() argument
722 return pRule && ( in fuzzerSkipRule()
723 (pRule->iRuleset!=iRuleset) in fuzzerSkipRule()
724 || (pStem->nBasis + pRule->nTo - pRule->nFrom)>FUZZER_MX_OUTPUT_LENGTH in fuzzerSkipRule()
734 const fuzzer_rule *pRule; in fuzzerAdvance() local
735 while( (pRule = pStem->pRule)!=0 ){ in fuzzerAdvance()
736 assert( pRule==&pCur->nullRule || pRule->iRuleset==pCur->iRuleset ); in fuzzerAdvance()
737 while( pStem->n < pStem->nBasis - pRule->nFrom ){ in fuzzerAdvance()
739 if( pRule->nFrom==0 in fuzzerAdvance()
740 || memcmp(&pStem->zBasis[pStem->n], pRule->zFrom, pRule->nFrom)==0 in fuzzerAdvance()
753 pRule = pRule->pNext; in fuzzerAdvance()
754 }while( fuzzerSkipRule(pRule, pStem, pCur->iRuleset) ); in fuzzerAdvance()
755 pStem->pRule = pRule; in fuzzerAdvance()
756 if( pRule && fuzzerCost(pStem)>pCur->rLimit ) pStem->pRule = 0; in fuzzerAdvance()
874 fuzzer_rule *pRule; in fuzzerNewStem() local
883 pRule = pCur->pVtab->pRule; in fuzzerNewStem()
884 while( fuzzerSkipRule(pRule, pNew, pCur->iRuleset) ){ in fuzzerNewStem()
885 pRule = pRule->pNext; in fuzzerNewStem()
887 pNew->pRule = pRule; in fuzzerNewStem()
994 pCur->nullRule.pNext = pCur->pVtab->pRule; in fuzzerFilter()
1007 pStem->pRule = &pCur->nullRule; in fuzzerFilter()