| line | true | false | branch | 
 
| 163 | 0 | 0 | for(p=pCur->pTree->pCursors; p; p=p->pShared){ | 
 
| 164 | 0 | 0 | if( p!=pCur ){ | 
 
| 165 | 0 | 0 | if( p->wrFlag==0 ) return SQLITE_LOCKED; | 
 
| 185 | 0 | 0 | if( mcmp == 0){ | 
 
| 186 | 0 | 0 | if( nKey1 == nKey2 ) return 0; | 
 
| 187 | 0 | 0 | return ((nKey1 < nKey2)?-1:1); | 
 
| 189 | 0 | 0 | return ((mcmp>0)?1:-1); | 
 
| 213 | 0 | 0 | if( pX->pParent ){ | 
 
| 214 | 0 | 0 | if( pX->pParent->pLeft == pX ) pX->pParent->pLeft = pY; | 
 
| 220 | 0 | 0 | if( pb ) pb->pParent = pX; | 
 
| 221 | 0 | 0 | if( pTree->pHead == pX ) pTree->pHead = pY; | 
 
| 245 | 0 | 0 | if( pX->pParent ){ | 
 
| 246 | 0 | 0 | if( pX->pParent->pLeft == pX ) pX->pParent->pLeft = pY; | 
 
| 252 | 0 | 0 | if( pb ) pb->pParent = pX; | 
 
| 253 | 0 | 0 | if( pTree->pHead == pX ) pTree->pHead = pY; | 
 
| 264 | 0 | 0 | if( !orig ){ | 
 
| 284 | 0 | 0 | for( i=0; i | 
 
| 291 | 0 | 0 | if( pNode ){ | 
 
| 293 | 0 | 0 | if( pNode->isBlack ){ | 
 
| 338 | 0 | 0 | while( pNode ){ | 
 
| 341 | 0 | 0 | if( pNode->pLeft ){ | 
 
| 348 | 0 | 0 | if( pNode->pRight ){ | 
 
| 357 | 0 | 0 | if( !pNode->isBlack && | 
 
|  | 0 | 0 | if( !pNode->isBlack && | 
 
| 358 | 0 | 0 | ( (pNode->pLeft && !pNode->pLeft->isBlack) || | 
 
|  | 0 | 0 | ( (pNode->pLeft && !pNode->pLeft->isBlack) || | 
 
| 359 | 0 | 0 | (pNode->pRight && !pNode->pRight->isBlack) ) | 
 
| 372 | 0 | 0 | if( pNode->pLeft ){ | 
 
| 376 | 0 | 0 | if( pNode->pRight ){ | 
 
| 380 | 0 | 0 | if( leftHeight != rightHeight ){ | 
 
| 390 | 0 | 0 | if( pNode->pParent ){ | 
 
| 391 | 0 | 0 | if( pNode == pNode->pParent->pLeft ) prev_step = 1; | 
 
| 417 | 0 | 0 | while( pX != pTree->pHead && !pX->pParent->isBlack ){ | 
 
|  | 0 | 0 | while( pX != pTree->pHead && !pX->pParent->isBlack ){ | 
 
| 427 | 0 | 0 | if( pX->pParent == pGrandparent->pLeft ) | 
 
| 443 | 0 | 0 | if( pUncle && !pUncle->isBlack ){ | 
 
|  | 0 | 0 | if( pUncle && !pUncle->isBlack ){ | 
 
| 450 | 0 | 0 | if( pX->pParent == pGrandparent->pLeft ){ | 
 
| 451 | 0 | 0 | if( pX == pX->pParent->pRight ){ | 
 
| 484 | 0 | 0 | if( pX == pX->pParent->pLeft ){ | 
 
| 519 | 0 | 0 | while( pX != pTree->pHead && (!pX || pX->isBlack) ){ | 
 
|  | 0 | 0 | while( pX != pTree->pHead && (!pX || pX->isBlack) ){ | 
 
|  | 0 | 0 | while( pX != pTree->pHead && (!pX || pX->isBlack) ){ | 
 
| 520 | 0 | 0 | if( pX == pParent->pLeft ){ | 
 
| 522 | 0 | 0 | if( pSib && !(pSib->isBlack) ){ | 
 
|  | 0 | 0 | if( pSib && !(pSib->isBlack) ){ | 
 
| 528 | 0 | 0 | if( !pSib ){ | 
 
| 530 | 0 | 0 | }else if( | 
 
| 531 | 0 | 0 | (!pSib->pLeft  || pSib->pLeft->isBlack) && | 
 
|  | 0 | 0 | (!pSib->pLeft  || pSib->pLeft->isBlack) && | 
 
| 532 | 0 | 0 | (!pSib->pRight || pSib->pRight->isBlack) ) { | 
 
| 536 | 0 | 0 | if( (!pSib->pRight || pSib->pRight->isBlack) ){ | 
 
|  | 0 | 0 | if( (!pSib->pRight || pSib->pRight->isBlack) ){ | 
 
| 537 | 0 | 0 | if( pSib->pLeft ) pSib->pLeft->isBlack = 1; | 
 
| 544 | 0 | 0 | if( pSib->pRight ) pSib->pRight->isBlack = 1; | 
 
| 550 | 0 | 0 | if( pSib && !(pSib->isBlack) ){ | 
 
|  | 0 | 0 | if( pSib && !(pSib->isBlack) ){ | 
 
| 556 | 0 | 0 | if( !pSib ){ | 
 
| 558 | 0 | 0 | }else if( | 
 
| 559 | 0 | 0 | (!pSib->pLeft  || pSib->pLeft->isBlack) && | 
 
|  | 0 | 0 | (!pSib->pLeft  || pSib->pLeft->isBlack) && | 
 
| 560 | 0 | 0 | (!pSib->pRight || pSib->pRight->isBlack) ){ | 
 
| 564 | 0 | 0 | if( (!pSib->pLeft || pSib->pLeft->isBlack) ){ | 
 
|  | 0 | 0 | if( (!pSib->pLeft || pSib->pLeft->isBlack) ){ | 
 
| 565 | 0 | 0 | if( pSib->pRight ) pSib->pRight->isBlack = 1; | 
 
| 572 | 0 | 0 | if( pSib->pLeft ) pSib->pLeft->isBlack = 1; | 
 
| 579 | 0 | 0 | if( pX ) pX->isBlack = 1; | 
 
| 599 | 0 | 0 | if( pRbtree->eTransState == TRANS_INTRANSACTION ){ | 
 
| 603 | 0 | 0 | if( pRbtree->eTransState == TRANS_INCHECKPOINT ){ | 
 
| 604 | 0 | 0 | if( !pRbtree->pCheckRollback ){ | 
 
| 620 | 0 | 0 | if( sqlite_malloc_failed ) goto open_no_mem; | 
 
| 625 | 0 | 0 | if( sqlite_malloc_failed ) goto open_no_mem; | 
 
| 650 | 0 | 0 | if( sqlite_malloc_failed ) return SQLITE_NOMEM; | 
 
| 654 | 0 | 0 | if( tree->eTransState != TRANS_ROLLBACK ){ | 
 
| 656 | 0 | 0 | if( pRollbackOp==0 ) return SQLITE_NOMEM; | 
 
| 679 | 0 | 0 | if( tree->eTransState != TRANS_ROLLBACK ){ | 
 
| 681 | 0 | 0 | if( pRollbackOp==0 ) return SQLITE_NOMEM; | 
 
| 695 | 0 | 0 | if( !pCur->pNode ) { | 
 
| 698 | 0 | 0 | if( (pCur->pNode->nKey - nIgnore) < 0 ){ | 
 
| 723 | 0 | 0 | if( sqlite_malloc_failed ) return SQLITE_NOMEM; | 
 
| 760 | 0 | 0 | if( checkReadLocks(pCur) ){ | 
 
| 767 | 0 | 0 | if( sqlite_malloc_failed ) return SQLITE_NOMEM; | 
 
| 782 | 0 | 0 | if( match ){ | 
 
| 784 | 0 | 0 | if( pNode==0 ) return SQLITE_NOMEM; | 
 
| 787 | 0 | 0 | if( sqlite_malloc_failed ) return SQLITE_NOMEM; | 
 
| 791 | 0 | 0 | if( pCur->pNode ){ | 
 
| 817 | 0 | 0 | if( pCur->pRbtree->eTransState != TRANS_ROLLBACK ){ | 
 
| 819 | 0 | 0 | if( pOp==0 ) return SQLITE_NOMEM; | 
 
| 824 | 0 | 0 | if( sqlite_malloc_failed ) return SQLITE_NOMEM; | 
 
| 834 | 0 | 0 | if( pCur->pRbtree->eTransState != TRANS_ROLLBACK ){ | 
 
| 836 | 0 | 0 | if( pOp==0 ) return SQLITE_NOMEM; | 
 
| 840 | 0 | 0 | if( sqlite_malloc_failed ) return SQLITE_NOMEM; | 
 
| 881 | 0 | 0 | while( pCur->pNode && *pRes ) { | 
 
|  | 0 | 0 | while( pCur->pNode && *pRes ) { | 
 
| 899 | 0 | 0 | if( !pCur->pNode ) pCur->pNode = pTmp; | 
 
| 930 | 0 | 0 | if( checkReadLocks(pCur) ){ | 
 
| 935 | 0 | 0 | if( !pZ ){ | 
 
| 941 | 0 | 0 | if( pCur->pRbtree->eTransState != TRANS_ROLLBACK ){ | 
 
| 943 | 0 | 0 | if( pOp==0 ) return SQLITE_NOMEM; | 
 
| 959 | 0 | 0 | if( pZ->pLeft && pZ->pRight ){ | 
 
|  | 0 | 0 | if( pZ->pLeft && pZ->pRight ){ | 
 
| 965 | 0 | 0 | if( pCur->pRbtree->eTransState == TRANS_ROLLBACK ){ | 
 
| 982 | 0 | 0 | if( res ){ | 
 
| 987 | 0 | 0 | if( pCur->pRbtree->eTransState == TRANS_ROLLBACK ){ | 
 
| 998 | 0 | 0 | pChild = ((pZ->pLeft)?pZ->pLeft:pZ->pRight); | 
 
| 999 | 0 | 0 | if( pZ->pParent ){ | 
 
| 1002 | 0 | 0 | ?&pZ->pParent->pLeft:&pZ->pParent->pRight); | 
 
| 1007 | 0 | 0 | if( pChild ) pChild->pParent = pZ->pParent; | 
 
| 1015 | 0 | 0 | if( pZ->isBlack ){ | 
 
| 1035 | 0 | 0 | while( pNode ){ | 
 
| 1036 | 0 | 0 | if( pNode->pLeft ){ | 
 
| 1039 | 0 | 0 | else if( pNode->pRight ){ | 
 
| 1044 | 0 | 0 | if( tree->eTransState == TRANS_ROLLBACK ){ | 
 
| 1049 | 0 | 0 | if( pRollbackOp==0 ) return SQLITE_NOMEM; | 
 
| 1059 | 0 | 0 | if( pTmp ){ | 
 
| 1060 | 0 | 0 | if( pTmp->pLeft == pNode ) pTmp->pLeft = 0; | 
 
| 1061 | 0 | 0 | else if( pTmp->pRight == pNode ) pTmp->pRight = 0; | 
 
| 1073 | 0 | 0 | if( pCur->pTree->pHead ){ | 
 
| 1075 | 0 | 0 | while( pCur->pNode->pLeft ){ | 
 
| 1079 | 0 | 0 | if( pCur->pNode ){ | 
 
| 1090 | 0 | 0 | if( pCur->pTree->pHead ){ | 
 
| 1092 | 0 | 0 | while( pCur->pNode->pRight ){ | 
 
| 1096 | 0 | 0 | if( pCur->pNode ){ | 
 
| 1113 | 0 | 0 | if( pCur->pNode && pCur->eSkip != SKIP_NEXT ){ | 
 
|  | 0 | 0 | if( pCur->pNode && pCur->eSkip != SKIP_NEXT ){ | 
 
| 1114 | 0 | 0 | if( pCur->pNode->pRight ){ | 
 
| 1116 | 0 | 0 | while( pCur->pNode->pLeft ) | 
 
| 1121 | 0 | 0 | while( pCur->pNode && (pCur->pNode->pRight == pX) ){ | 
 
|  | 0 | 0 | while( pCur->pNode && (pCur->pNode->pRight == pX) ){ | 
 
| 1129 | 0 | 0 | if( !pCur->pNode ){ | 
 
| 1140 | 0 | 0 | if( pCur->pNode && pCur->eSkip != SKIP_PREV ){ | 
 
|  | 0 | 0 | if( pCur->pNode && pCur->eSkip != SKIP_PREV ){ | 
 
| 1141 | 0 | 0 | if( pCur->pNode->pLeft ){ | 
 
| 1143 | 0 | 0 | while( pCur->pNode->pRight ) | 
 
| 1148 | 0 | 0 | while( pCur->pNode && (pCur->pNode->pLeft == pX) ){ | 
 
|  | 0 | 0 | while( pCur->pNode && (pCur->pNode->pLeft == pX) ){ | 
 
| 1156 | 0 | 0 | if( !pCur->pNode ){ | 
 
| 1167 | 0 | 0 | if( pCur->pNode ){ | 
 
| 1177 | 0 | 0 | if( !pCur->pNode ) return 0; | 
 
| 1178 | 0 | 0 | if( !pCur->pNode->pKey || ((amt + offset) <= pCur->pNode->nKey) ){ | 
 
|  | 0 | 0 | if( !pCur->pNode->pKey || ((amt + offset) <= pCur->pNode->nKey) ){ | 
 
| 1189 | 0 | 0 | if( pCur->pNode ){ | 
 
| 1199 | 0 | 0 | if( !pCur->pNode ) return 0; | 
 
| 1200 | 0 | 0 | if( (amt + offset) <= pCur->pNode->nData ){ | 
 
| 1211 | 0 | 0 | if( pCur->pTree->pCursors==pCur ){ | 
 
| 1215 | 0 | 0 | while( p && p->pShared!=pCur ){ p = p->pShared; } | 
 
|  | 0 | 0 | while( p && p->pShared!=pCur ){ p = p->pShared; } | 
 
| 1217 | 0 | 0 | if( p ){ | 
 
| 1247 | 0 | 0 | for(p=sqliteHashFirst(&tree->tblHash); p; p=sqliteHashNext(p)){ | 
 
| 1266 | 0 | 0 | if( tree->eTransState != TRANS_NONE ) | 
 
| 1278 | 0 | 0 | while( pOp ){ | 
 
| 1305 | 0 | 0 | while( (p=sqliteHashFirst(&tree->tblHash))!=0 ){ | 
 
| 1325 | 0 | 0 | while( pList ){ | 
 
| 1375 | 0 | 0 | if( tree->eTransState != TRANS_INTRANSACTION ) | 
 
| 1386 | 0 | 0 | if( tree->eTransState == TRANS_INCHECKPOINT ){ | 
 
| 1387 | 0 | 0 | if( tree->pCheckRollback ){ | 
 
| 1400 | 0 | 0 | if( tree->eTransState != TRANS_INCHECKPOINT ) return SQLITE_OK; |