OpenCoverage

whereexpr.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/sqlite/src/src/whereexpr.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3static void exprAnalyze(SrcList*, WhereClause*, int);-
4-
5-
6-
7-
8static void whereOrInfoDelete(sqlite3 *db, WhereOrInfo *p){-
9 sqlite3WhereClauseClear(&p->wc);-
10 sqlite3DbFree(db, p);-
11}
executed 5128 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
5128
12-
13-
14-
15-
16static void whereAndInfoDelete(sqlite3 *db, WhereAndInfo *p){-
17 sqlite3WhereClauseClear(&p->wc);-
18 sqlite3DbFree(db, p);-
19}
executed 11304 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
11304
20static int whereClauseInsert(WhereClause *pWC, Expr *p, u16 wtFlags){-
21 WhereTerm *pTerm;-
22 int idx;-
23 ;-
24 if( pWC->nTerm>=pWC->nSlot
pWC->nTerm>=pWC->nSlotDescription
TRUEevaluated 863 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 281009 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
863-281009
25 WhereTerm *pOld = pWC->a;-
26 sqlite3 *db = pWC->pWInfo->pParse->db;-
27 pWC->a = sqlite3DbMallocRawNN(db, sizeof(pWC->a[0])*pWC->nSlot*2 );-
28 if( pWC->a==0
pWC->a==0Description
TRUEnever evaluated
FALSEevaluated 863 times by 1 test
Evaluated by:
  • Self test (438)
){
0-863
29 if( wtFlags & 0x01
wtFlags & 0x01Description
TRUEnever evaluated
FALSEnever evaluated
){
0
30 sqlite3ExprDelete(db, p);-
31 }
never executed: end of block
0
32 pWC->a = pOld;-
33 return
never executed: return 0;
0;
never executed: return 0;
0
34 }-
35 memcpy(pWC->a, pOld, sizeof(pWC->a[0])*pWC->nTerm);-
36 if( pOld!=pWC->aStatic
pOld!=pWC->aStaticDescription
TRUEevaluated 139 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 724 times by 1 test
Evaluated by:
  • Self test (438)
){
139-724
37 sqlite3DbFree(db, pOld);-
38 }
executed 139 times by 1 test: end of block
Executed by:
  • Self test (438)
139
39 pWC->nSlot = sqlite3DbMallocSize(db, pWC->a)/sizeof(pWC->a[0]);-
40 }
executed 863 times by 1 test: end of block
Executed by:
  • Self test (438)
863
41 pTerm = &pWC->a[idx = pWC->nTerm++];-
42 if( p
pDescription
TRUEevaluated 281836 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 36 times by 1 test
Evaluated by:
  • Self test (438)
&& (((
(((p)->flags&(0x040000))!=0)Description
TRUEevaluated 41 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 281795 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
p)->flags&(0x040000))!=0)
(((p)->flags&(0x040000))!=0)Description
TRUEevaluated 41 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 281795 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
36-281836
43 pTerm->truthProb = sqlite3LogEst(p->iTable) - 270;-
44 }
executed 41 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
41
45 pTerm->truthProb = 1;-
46 }
executed 281831 times by 368 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
281831
47 pTerm->pExpr = sqlite3ExprSkipCollate(p);-
48 pTerm->wtFlags = wtFlags;-
49 pTerm->pWC = pWC;-
50 pTerm->iParent = -1;-
51 memset(&pTerm->eOperator, 0,-
52 sizeof(WhereTerm) - -
53 __builtin_offsetof (-
54 WhereTerm-
55 , -
56 eOperator-
57 )-
58 );-
59 return
executed 281872 times by 368 tests: return idx;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
idx;
executed 281872 times by 368 tests: return idx;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
281872
60}-
61-
62-
63-
64-
65-
66-
67static int allowedOp(int op){-
68 -
69 ((void) (0))-
70 ;-
71 -
72 ((void) (0))-
73 ;-
74 -
75 ((void) (0))-
76 ;-
77 -
78 ((void) (0))-
79 ;-
80 return
executed 304991 times by 368 tests: return op==49 || (op>=53 && op<=57) || op==50 || op==45;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
op==49
op==49Description
TRUEevaluated 5561 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 299430 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
|| (op>=53
op>=53Description
TRUEevaluated 230815 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 68615 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
&& op<=57
op<=57Description
TRUEevaluated 210152 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 20663 times by 6 tests
Evaluated by:
  • Self test (24)
  • Self test (28)
  • Self test (32)
  • Self test (33)
  • Self test (438)
  • Self test (47)
) || op==50
op==50Description
TRUEevaluated 568 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 88710 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
|| op==45
op==45Description
TRUEevaluated 2992 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 85718 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
;
executed 304991 times by 368 tests: return op==49 || (op>=53 && op<=57) || op==50 || op==45;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
568-304991
81}-
82static void exprCommute(Parse *pParse, Expr *pExpr){-
83 u16 expRight = (pExpr->pRight->flags & 0x000100);-
84 u16 expLeft = (pExpr->pLeft->flags & 0x000100);-
85 -
86 ((void) (0))-
87 ;-
88 if( expRight==expLeft
expRight==expLeftDescription
TRUEevaluated 11654 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1062 times by 1 test
Evaluated by:
  • Self test (438)
){
1062-11654
89-
90 if( expRight
expRightDescription
TRUEnever evaluated
FALSEevaluated 11654 times by 1 test
Evaluated by:
  • Self test (438)
){
0-11654
91-
92-
93 pExpr->pRight->flags &= ~0x000100;-
94 }
never executed: end of block
else if( sqlite3ExprCollSeq(pParse, pExpr->pLeft)!=0
sqlite3ExprCol...xpr->pLeft)!=0Description
TRUEevaluated 7966 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3688 times by 1 test
Evaluated by:
  • Self test (438)
){
0-7966
95-
96-
97-
98 pExpr->pLeft->flags |= 0x000100;-
99 }
executed 7966 times by 1 test: end of block
Executed by:
  • Self test (438)
7966
100 }
executed 11654 times by 1 test: end of block
Executed by:
  • Self test (438)
11654
101 {Expr* t=pExpr->pRight; pExpr->pRight=pExpr->pLeft; pExpr->pLeft=t;};-
102 if( pExpr->op>=54
pExpr->op>=54Description
TRUEevaluated 5551 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 7165 times by 1 test
Evaluated by:
  • Self test (438)
){
5551-7165
103 -
104 ((void) (0))-
105 ;-
106 -
107 ((void) (0))-
108 ;-
109 -
110 ((void) (0))-
111 ;-
112 -
113 ((void) (0))-
114 ;-
115 -
116 ((void) (0))-
117 ;-
118 pExpr->op = ((pExpr->op-54)^2)+54;-
119 }
executed 5551 times by 1 test: end of block
Executed by:
  • Self test (438)
5551
120}
executed 12716 times by 1 test: end of block
Executed by:
  • Self test (438)
12716
121-
122-
123-
124-
125static u16 operatorMask(int op){-
126 u16 c;-
127 -
128 ((void) (0))-
129 ;-
130 if( op==49
op==49Description
TRUEevaluated 3714 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 195992 times by 36 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (4)
  • Self test (40)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • Self test (57)
  • Self test (58)
  • ...
){
3714-195992
131 c = 0x0001;-
132 }
executed 3714 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
else if( op==50
op==50Description
TRUEevaluated 464 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 195528 times by 36 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (4)
  • Self test (40)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • Self test (57)
  • Self test (58)
  • ...
){
464-195528
133 c = 0x0100;-
134 }
executed 464 times by 1 test: end of block
Executed by:
  • Self test (438)
else if( op==45
op==45Description
TRUEevaluated 2365 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 193163 times by 36 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (4)
  • Self test (40)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • Self test (57)
  • Self test (58)
  • ...
){
464-193163
135 c = 0x0080;-
136 }
executed 2365 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
2365
137 -
138 ((void) (0))-
139 ;-
140 c = (u16)(0x0002<<(op-53));-
141 }
executed 193163 times by 36 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (4)
  • Self test (40)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • Self test (57)
  • Self test (58)
  • ...
193163
142 -
143 ((void) (0))-
144 ;-
145 -
146 ((void) (0))-
147 ;-
148 -
149 ((void) (0))-
150 ;-
151 -
152 ((void) (0))-
153 ;-
154 -
155 ((void) (0))-
156 ;-
157 -
158 ((void) (0))-
159 ;-
160 -
161 ((void) (0))-
162 ;-
163 -
164 ((void) (0))-
165 ;-
166 return
executed 199706 times by 36 tests: return c;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (4)
  • Self test (40)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • Self test (57)
  • Self test (58)
  • ...
c;
executed 199706 times by 36 tests: return c;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (4)
  • Self test (40)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • Self test (57)
  • Self test (58)
  • ...
199706
167}-
168static int isLikeOrGlob(-
169 Parse *pParse,-
170 Expr *pExpr,-
171 Expr **ppPrefix,-
172 int *pisComplete,-
173 int *pnoCase-
174){-
175 const u8 *z = 0;-
176 Expr *pRight, *pLeft;-
177 ExprList *pList;-
178 u8 c;-
179 int cnt;-
180 u8 wc[4];-
181 sqlite3 *db = pParse->db;-
182 sqlite3_value *pVal = 0;-
183 int op;-
184 int rc;-
185-
186 if( !sqlite3IsLikeFunction(db, pExpr, pnoCase, (char*)wc)
!sqlite3IsLike...se, (char*)wc)Description
TRUEevaluated 236929 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 11458 times by 1 test
Evaluated by:
  • Self test (438)
){
11458-236929
187 return
executed 236929 times by 368 tests: return 0;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
0;
executed 236929 times by 368 tests: return 0;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
236929
188 }-
189-
190-
191-
192 pList = pExpr->x.pList;-
193 pLeft = pList->a[1].pExpr;-
194-
195 pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr);-
196 op = pRight->op;-
197 if( op==144
op==144Description
TRUEevaluated 16 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 11442 times by 1 test
Evaluated by:
  • Self test (438)
&& (
(db->flags & 0x00800000)==0Description
TRUEevaluated 14 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
db->flags & 0x00800000)==0
(db->flags & 0x00800000)==0Description
TRUEevaluated 14 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
){
2-11442
198 Vdbe *pReprepare = pParse->pReprepare;-
199 int iCol = pRight->iColumn;-
200 pVal = sqlite3VdbeGetBoundValue(pReprepare, iCol, 'A');-
201 if( pVal
pValDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 10 times by 1 test
Evaluated by:
  • Self test (438)
&& sqlite3_value_type(pVal)==3
sqlite3_value_type(pVal)==3Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
){
0-10
202 z = sqlite3_value_text(pVal);-
203 }
executed 4 times by 1 test: end of block
Executed by:
  • Self test (438)
4
204 sqlite3VdbeSetVarmask(pParse->pVdbe, iCol);-
205 -
206 ((void) (0))-
207 ;-
208 }
executed 14 times by 1 test: end of block
Executed by:
  • Self test (438)
else if( op==106
op==106Description
TRUEevaluated 11430 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 14 times by 1 test
Evaluated by:
  • Self test (438)
){
14-11430
209 z = (u8*)pRight->u.zToken;-
210 }
executed 11430 times by 1 test: end of block
Executed by:
  • Self test (438)
11430
211 if( z
zDescription
TRUEevaluated 11434 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 24 times by 1 test
Evaluated by:
  • Self test (438)
){
24-11434
212-
213-
214 cnt = 0;-
215 while( (
(c=z[cnt])!=0Description
TRUEevaluated 35777 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 33 times by 1 test
Evaluated by:
  • Self test (438)
c=z[cnt])!=0
(c=z[cnt])!=0Description
TRUEevaluated 35777 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 33 times by 1 test
Evaluated by:
  • Self test (438)
&& c!=wc[0]
c!=wc[0]Description
TRUEevaluated 25372 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 10405 times by 1 test
Evaluated by:
  • Self test (438)
&& c!=wc[1]
c!=wc[1]Description
TRUEevaluated 24378 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 994 times by 1 test
Evaluated by:
  • Self test (438)
&& c!=wc[2]
c!=wc[2]Description
TRUEevaluated 24376 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
){
2-35777
216 cnt++;-
217 if( c==wc[3]
c==wc[3]Description
TRUEevaluated 13 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 24363 times by 1 test
Evaluated by:
  • Self test (438)
&& z[cnt]!=0
z[cnt]!=0Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
) cnt++;
executed 10 times by 1 test: cnt++;
Executed by:
  • Self test (438)
3-24363
218 }
executed 24376 times by 1 test: end of block
Executed by:
  • Self test (438)
24376
219 if( cnt!=0
cnt!=0Description
TRUEevaluated 5350 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 6084 times by 1 test
Evaluated by:
  • Self test (438)
&& 255!=(u8)z[cnt-1]
255!=(u8)z[cnt-1]Description
TRUEevaluated 5347 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
&& (cnt>1
cnt>1Description
TRUEevaluated 5109 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 238 times by 1 test
Evaluated by:
  • Self test (438)
|| z[0]!=wc[3]
z[0]!=wc[3]Description
TRUEevaluated 235 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
) ){
3-6084
220 Expr *pPrefix;-
221-
222-
223 *pisComplete = c==wc[0]
c==wc[0]Description
TRUEevaluated 5301 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 43 times by 1 test
Evaluated by:
  • Self test (438)
&& z[cnt+1]==0
z[cnt+1]==0Description
TRUEevaluated 5295 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
;
6-5301
224-
225-
226 pPrefix = sqlite3Expr(db, 106, (char*)z);-
227 if( pPrefix
pPrefixDescription
TRUEevaluated 5344 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
){
0-5344
228 int iFrom, iTo;-
229 char *zNew = pPrefix->u.zToken;-
230 zNew[cnt] = 0;-
231 for(iFrom=iTo=0; iFrom<cnt
iFrom<cntDescription
TRUEevaluated 24370 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5344 times by 1 test
Evaluated by:
  • Self test (438)
; iFrom++){
5344-24370
232 if( zNew[iFrom]==wc[3]
zNew[iFrom]==wc[3]Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 24360 times by 1 test
Evaluated by:
  • Self test (438)
) iFrom++;
executed 10 times by 1 test: iFrom++;
Executed by:
  • Self test (438)
10-24360
233 zNew[iTo++] = zNew[iFrom];-
234 }
executed 24370 times by 1 test: end of block
Executed by:
  • Self test (438)
24370
235 zNew[iTo] = 0;-
236 if( (
(sqlite3CtypeM...New[0])]&0x04)Description
TRUEevaluated 56 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5288 times by 1 test
Evaluated by:
  • Self test (438)
sqlite3CtypeMap[(unsigned char)(zNew[0])]&0x04)
(sqlite3CtypeM...New[0])]&0x04)Description
TRUEevaluated 56 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5288 times by 1 test
Evaluated by:
  • Self test (438)
56-5288
237 || zNew[0]=='-'
zNew[0]=='-'Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5285 times by 1 test
Evaluated by:
  • Self test (438)
3-5285
238 || (zNew[0]+1=='0'
zNew[0]+1=='0'Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5274 times by 1 test
Evaluated by:
  • Self test (438)
&& iTo==1
iTo==1Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5 times by 1 test
Evaluated by:
  • Self test (438)
)
5-5274
239 ){-
240 if( pLeft->op!=158
pLeft->op!=158Description
TRUEnever evaluated
FALSEevaluated 65 times by 1 test
Evaluated by:
  • Self test (438)
0-65
241 || sqlite3ExprAffinity(pLeft)!='B'
sqlite3ExprAff...ty(pLeft)!='B'Description
TRUEevaluated 57 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 8 times by 1 test
Evaluated by:
  • Self test (438)
8-57
242 || ((
((pLeft->y.pTab)->nModuleArg)Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
pLeft->y.pTab)->nModuleArg)
((pLeft->y.pTab)->nModuleArg)Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
2-6
243 ){-
244 sqlite3ExprDelete(db, pPrefix);-
245 sqlite3ValueFree(pVal);-
246 return
executed 63 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 63 times by 1 test: return 0;
Executed by:
  • Self test (438)
63
247 }-
248 }
executed 2 times by 1 test: end of block
Executed by:
  • Self test (438)
2
249 }
executed 5281 times by 1 test: end of block
Executed by:
  • Self test (438)
5281
250 *ppPrefix = pPrefix;-
251-
252-
253-
254 if( op==144
op==144Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5277 times by 1 test
Evaluated by:
  • Self test (438)
){
4-5277
255 Vdbe *v = pParse->pVdbe;-
256 sqlite3VdbeSetVarmask(v, pRight->iColumn);-
257 if( *
*pisCompleteDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
pisComplete
*pisCompleteDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
&& pRight->u.zToken[1]
pRight->u.zToken[1]Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
){
0-4
258-
259-
260-
261-
262-
263-
264 int r1 = sqlite3GetTempReg(pParse);-
265 sqlite3ExprCodeTarget(pParse, pRight, r1);-
266 sqlite3VdbeChangeP3(v, sqlite3VdbeCurrentAddr(v)-1, 0);-
267 sqlite3ReleaseTempReg(pParse, r1);-
268 }
executed 4 times by 1 test: end of block
Executed by:
  • Self test (438)
4
269 }
executed 4 times by 1 test: end of block
Executed by:
  • Self test (438)
4
270 }
executed 5281 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
5281
271 z = 0;-
272 }
executed 6090 times by 1 test: end of block
Executed by:
  • Self test (438)
6090
273 }-
274-
275 rc = (z!=0);-
276 sqlite3ValueFree(pVal);-
277 return
executed 11395 times by 1 test: return rc;
Executed by:
  • Self test (438)
rc;
executed 11395 times by 1 test: return rc;
Executed by:
  • Self test (438)
11395
278}-
279static int isAuxiliaryVtabOperator(-
280 sqlite3 *db,-
281 Expr *pExpr,-
282 unsigned char *peOp2,-
283 Expr **ppLeft,-
284 Expr **ppRight-
285){-
286 if( pExpr->op==157
pExpr->op==157Description
TRUEevaluated 11590 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 236797 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
11590-236797
287 static const struct Op2 {-
288 const char *zOp;-
289 unsigned char eOp2;-
290 } aOp[] = {-
291 { "match", 64 },-
292 { "glob", 66 },-
293 { "like", 65 },-
294 { "regexp", 67 }-
295 };-
296 ExprList *pList;-
297 Expr *pCol;-
298 int i;-
299-
300 pList = pExpr->x.pList;-
301 if( pList==0
pList==0Description
TRUEnever evaluated
FALSEevaluated 11590 times by 1 test
Evaluated by:
  • Self test (438)
|| pList->nExpr!=2
pList->nExpr!=2Description
TRUEevaluated 32 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 11558 times by 1 test
Evaluated by:
  • Self test (438)
){
0-11590
302 return
executed 32 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 32 times by 1 test: return 0;
Executed by:
  • Self test (438)
32
303 }-
304 pCol = pList->a[1].pExpr;-
305 if( pCol->op==158
pCol->op==158Description
TRUEevaluated 11529 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 29 times by 1 test
Evaluated by:
  • Self test (438)
&& ((
((pCol->y.pTab)->nModuleArg)Description
TRUEevaluated 104 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 11425 times by 1 test
Evaluated by:
  • Self test (438)
pCol->y.pTab)->nModuleArg)
((pCol->y.pTab)->nModuleArg)Description
TRUEevaluated 104 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 11425 times by 1 test
Evaluated by:
  • Self test (438)
){
29-11529
306 for(i=0; i<((int)(sizeof(aOp)/sizeof(aOp[0])))
i<((int)(sizeo...zeof(aOp[0])))Description
TRUEevaluated 176 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
; i++){
0-176
307 if( sqlite3StrICmp(pExpr->u.zToken, aOp[i].zOp)==0
sqlite3StrICmp...aOp[i].zOp)==0Description
TRUEevaluated 104 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 72 times by 1 test
Evaluated by:
  • Self test (438)
){
72-104
308 *peOp2 = aOp[i].eOp2;-
309 *ppRight = pList->a[0].pExpr;-
310 *ppLeft = pCol;-
311 return
executed 104 times by 1 test: return 1;
Executed by:
  • Self test (438)
1;
executed 104 times by 1 test: return 1;
Executed by:
  • Self test (438)
104
312 }-
313 }
executed 72 times by 1 test: end of block
Executed by:
  • Self test (438)
72
314 }
never executed: end of block
0
315 pCol = pList->a[0].pExpr;-
316 if( pCol->op==158
pCol->op==158Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 11448 times by 1 test
Evaluated by:
  • Self test (438)
&& ((
((pCol->y.pTab)->nModuleArg)Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
pCol->y.pTab)->nModuleArg)
((pCol->y.pTab)->nModuleArg)Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
){
0-11448
317 sqlite3_vtab *pVtab;-
318 sqlite3_module *pMod;-
319 void (*xNotUsed)(sqlite3_context*,int,sqlite3_value**);-
320 void *pNotUsed;-
321 pVtab = sqlite3GetVTable(db, pCol->y.pTab)->pVtab;-
322 -
323 ((void) (0))-
324 ;-
325 -
326 ((void) (0))-
327 ;-
328 pMod = (sqlite3_module *)pVtab->pModule;-
329 if( pMod->xFindFunction!=0
pMod->xFindFunction!=0Description
TRUEnever evaluated
FALSEnever evaluated
){
0
330 i = pMod->xFindFunction(pVtab,2, pExpr->u.zToken, &xNotUsed, &pNotUsed);-
331 if( i>=150
i>=150Description
TRUEnever evaluated
FALSEnever evaluated
){
0
332 *peOp2 = i;-
333 *ppRight = pList->a[1].pExpr;-
334 *ppLeft = pCol;-
335 return
never executed: return 1;
1;
never executed: return 1;
0
336 }-
337 }
never executed: end of block
0
338 }
never executed: end of block
0
339 }
executed 11454 times by 1 test: end of block
Executed by:
  • Self test (438)
else if( pExpr->op==52
pExpr->op==52Description
TRUEevaluated 24223 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
FALSEevaluated 212574 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
|| pExpr->op==156
pExpr->op==156Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 212566 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
|| pExpr->op==51
pExpr->op==51Description
TRUEevaluated 4748 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 207818 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
8-212574
340 int res = 0;-
341 Expr *pLeft = pExpr->pLeft;-
342 Expr *pRight = pExpr->pRight;-
343 if( pLeft->op==158
pLeft->op==158Description
TRUEevaluated 28381 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
FALSEevaluated 598 times by 1 test
Evaluated by:
  • Self test (438)
&& ((
((pLeft->y.pTab)->nModuleArg)Description
TRUEevaluated 31 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 28350 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
pLeft->y.pTab)->nModuleArg)
((pLeft->y.pTab)->nModuleArg)Description
TRUEevaluated 31 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 28350 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
){
31-28381
344 res++;-
345 }
executed 31 times by 1 test: end of block
Executed by:
  • Self test (438)
31
346 if( pRight
pRightDescription
TRUEevaluated 24231 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
FALSEevaluated 4748 times by 1 test
Evaluated by:
  • Self test (438)
&& pRight->op==158
pRight->op==158Description
TRUEevaluated 582 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 23649 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
&& ((
((pRight->y.pTab)->nModuleArg)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 577 times by 1 test
Evaluated by:
  • Self test (438)
pRight->y.pTab)->nModuleArg)
((pRight->y.pTab)->nModuleArg)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 577 times by 1 test
Evaluated by:
  • Self test (438)
){
5-24231
347 res++;-
348 {Expr* t=pLeft; pLeft=pRight; pRight=t;};-
349 }
executed 5 times by 1 test: end of block
Executed by:
  • Self test (438)
5
350 *ppLeft = pLeft;-
351 *ppRight = pRight;-
352 if( pExpr->op==52
pExpr->op==52Description
TRUEevaluated 24223 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
FALSEevaluated 4756 times by 1 test
Evaluated by:
  • Self test (438)
) *
executed 24223 times by 28 tests: *peOp2 = 68;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
peOp2 = 68;
executed 24223 times by 28 tests: *peOp2 = 68;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
4756-24223
353 if( pExpr->op==156
pExpr->op==156Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 28971 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
) *
executed 8 times by 1 test: *peOp2 = 69;
Executed by:
  • Self test (438)
peOp2 = 69;
executed 8 times by 1 test: *peOp2 = 69;
Executed by:
  • Self test (438)
8-28971
354 if( pExpr->op==51
pExpr->op==51Description
TRUEevaluated 4748 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 24231 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
) *
executed 4748 times by 1 test: *peOp2 = 70;
Executed by:
  • Self test (438)
peOp2 = 70;
executed 4748 times by 1 test: *peOp2 = 70;
Executed by:
  • Self test (438)
4748-24231
355 return
executed 28979 times by 28 tests: return res;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
res;
executed 28979 times by 28 tests: return res;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
28979
356 }-
357 return
executed 219272 times by 368 tests: return 0;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
0;
executed 219272 times by 368 tests: return 0;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
219272
358}-
359-
360-
361-
362-
363-
364-
365static void transferJoinMarkings(Expr *pDerived, Expr *pBase){-
366 if( pDerived
pDerivedDescription
TRUEevaluated 25358 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 36 times by 1 test
Evaluated by:
  • Self test (438)
){
36-25358
367 pDerived->flags |= pBase->flags & 0x000001;-
368 pDerived->iRightJoinTable = pBase->iRightJoinTable;-
369 }
executed 25358 times by 1 test: end of block
Executed by:
  • Self test (438)
25358
370}
executed 25394 times by 1 test: end of block
Executed by:
  • Self test (438)
25394
371-
372-
373-
374-
375static void markTermAsChild(WhereClause *pWC, int iChild, int iParent){-
376 pWC->a[iChild].iParent = iParent;-
377 pWC->a[iChild].truthProb = pWC->a[iParent].truthProb;-
378 pWC->a[iParent].nChild++;-
379}
executed 31000 times by 1 test: end of block
Executed by:
  • Self test (438)
31000
380-
381-
382-
383-
384-
385-
386static WhereTerm *whereNthSubterm(WhereTerm *pTerm, int N){-
387 if( pTerm->eOperator!=0x0400
pTerm->eOperator!=0x0400Description
TRUEevaluated 3480 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 5932 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
){
3480-5932
388 return
executed 3480 times by 2 tests: return N==0 ? pTerm : 0;
Executed by:
  • Self test (34)
  • Self test (438)
N==0
N==0Description
TRUEevaluated 1740 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 1740 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
? pTerm : 0;
executed 3480 times by 2 tests: return N==0 ? pTerm : 0;
Executed by:
  • Self test (34)
  • Self test (438)
1740-3480
389 }-
390 if( N<pTerm->u.pAndInfo->wc.nTerm
N<pTerm->u.pAndInfo->wc.nTermDescription
TRUEevaluated 4329 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 1603 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
){
1603-4329
391 return
executed 4329 times by 2 tests: return &pTerm->u.pAndInfo->wc.a[N];
Executed by:
  • Self test (34)
  • Self test (438)
&pTerm->u.pAndInfo->wc.a[N];
executed 4329 times by 2 tests: return &pTerm->u.pAndInfo->wc.a[N];
Executed by:
  • Self test (34)
  • Self test (438)
4329
392 }-
393 return
executed 1603 times by 2 tests: return 0;
Executed by:
  • Self test (34)
  • Self test (438)
0;
executed 1603 times by 2 tests: return 0;
Executed by:
  • Self test (34)
  • Self test (438)
1603
394}-
395static void whereCombineDisjuncts(-
396 SrcList *pSrc,-
397 WhereClause *pWC,-
398 WhereTerm *pOne,-
399 WhereTerm *pTwo-
400){-
401 u16 eOp = pOne->eOperator | pTwo->eOperator;-
402 sqlite3 *db;-
403 Expr *pNew;-
404 int op;-
405 int idxNew;-
406-
407 if( (
(pOne->eOperat...(57 -53))))==0Description
TRUEevaluated 2259 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 1793 times by 1 test
Evaluated by:
  • Self test (438)
pOne->eOperator & (0x0002|(0x0002<<(56 -53))|(0x0002<<(55 -53))|(0x0002<<(54 -53))|(0x0002<<(57 -53))))==0
(pOne->eOperat...(57 -53))))==0Description
TRUEevaluated 2259 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 1793 times by 1 test
Evaluated by:
  • Self test (438)
) return;
executed 2259 times by 2 tests: return;
Executed by:
  • Self test (34)
  • Self test (438)
1793-2259
408 if( (
(pTwo->eOperat...(57 -53))))==0Description
TRUEevaluated 537 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1256 times by 1 test
Evaluated by:
  • Self test (438)
pTwo->eOperator & (0x0002|(0x0002<<(56 -53))|(0x0002<<(55 -53))|(0x0002<<(54 -53))|(0x0002<<(57 -53))))==0
(pTwo->eOperat...(57 -53))))==0Description
TRUEevaluated 537 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1256 times by 1 test
Evaluated by:
  • Self test (438)
) return;
executed 537 times by 1 test: return;
Executed by:
  • Self test (438)
537-1256
409 if( (
(eOp & (0x0002...5 -53))))!=eOpDescription
TRUEevaluated 496 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 760 times by 1 test
Evaluated by:
  • Self test (438)
eOp & (0x0002|(0x0002<<(56 -53))|(0x0002<<(55 -53))))!=eOp
(eOp & (0x0002...5 -53))))!=eOpDescription
TRUEevaluated 496 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 760 times by 1 test
Evaluated by:
  • Self test (438)
496-760
410 && (
(eOp & (0x0002...7 -53))))!=eOpDescription
TRUEevaluated 197 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 299 times by 1 test
Evaluated by:
  • Self test (438)
eOp & (0x0002|(0x0002<<(54 -53))|(0x0002<<(57 -53))))!=eOp
(eOp & (0x0002...7 -53))))!=eOpDescription
TRUEevaluated 197 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 299 times by 1 test
Evaluated by:
  • Self test (438)
) return;
executed 197 times by 1 test: return;
Executed by:
  • Self test (438)
197-299
411 -
412 ((void) (0))-
413 ;-
414 -
415 ((void) (0))-
416 ;-
417 if( sqlite3ExprCompare(0,pOne->pExpr->pLeft, pTwo->pExpr->pLeft, -1)
sqlite3ExprCom...pr->pLeft, -1)Description
TRUEevaluated 761 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 298 times by 1 test
Evaluated by:
  • Self test (438)
) return;
executed 761 times by 1 test: return;
Executed by:
  • Self test (438)
298-761
418 if( sqlite3ExprCompare(0,pOne->pExpr->pRight, pTwo->pExpr->pRight,-1)
sqlite3ExprCom...pr->pRight,-1)Description
TRUEevaluated 260 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 38 times by 1 test
Evaluated by:
  • Self test (438)
)return;
executed 260 times by 1 test: return;
Executed by:
  • Self test (438)
38-260
419-
420 if( (
(eOp & (eOp-1))!=0Description
TRUEevaluated 26 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 12 times by 1 test
Evaluated by:
  • Self test (438)
eOp & (eOp-1))!=0
(eOp & (eOp-1))!=0Description
TRUEevaluated 26 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 12 times by 1 test
Evaluated by:
  • Self test (438)
){
12-26
421 if( eOp & ((0x0002<<(56 -53))|(0x0002<<(55 -53)))
eOp & ((0x0002...02<<(55 -53)))Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 20 times by 1 test
Evaluated by:
  • Self test (438)
){
6-20
422 eOp = (0x0002<<(55 -53));-
423 }
executed 6 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
6
424 -
425 ((void) (0))-
426 ;-
427 eOp = (0x0002<<(57 -53));-
428 }
executed 20 times by 1 test: end of block
Executed by:
  • Self test (438)
20
429 }-
430 db = pWC->pWInfo->pParse->db;-
431 pNew = sqlite3ExprDup(db, pOne->pExpr, 0);-
432 if( pNew==0
pNew==0Description
TRUEnever evaluated
FALSEevaluated 38 times by 1 test
Evaluated by:
  • Self test (438)
) return;
never executed: return;
0-38
433 for(op=53; eOp!=(0x0002<<(op-53))
eOp!=(0x0002<<(op-53))Description
TRUEevaluated 92 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 38 times by 1 test
Evaluated by:
  • Self test (438)
; op++){
38-92
434 ((void) (0))-
435 ; }
executed 92 times by 1 test: end of block
Executed by:
  • Self test (438)
92
436 pNew->op = op;-
437 idxNew = whereClauseInsert(pWC, pNew, 0x02|0x01);-
438 exprAnalyze(pSrc, pWC, idxNew);-
439}
executed 38 times by 1 test: end of block
Executed by:
  • Self test (438)
38
440static void exprAnalyzeOrTerm(-
441 SrcList *pSrc,-
442 WhereClause *pWC,-
443 int idxTerm-
444){-
445 WhereInfo *pWInfo = pWC->pWInfo;-
446 Parse *pParse = pWInfo->pParse;-
447 sqlite3 *db = pParse->db;-
448 WhereTerm *pTerm = &pWC->a[idxTerm];-
449 Expr *pExpr = pTerm->pExpr;-
450 int i;-
451 WhereClause *pOrWc;-
452 WhereTerm *pOrTerm;-
453 WhereOrInfo *pOrInfo;-
454 Bitmask chngToIN;-
455 Bitmask indexable;-
456-
457-
458-
459-
460-
461-
462 -
463 ((void) (0))-
464 ;-
465 -
466 ((void) (0))-
467 ;-
468 pTerm->u.pOrInfo = pOrInfo = sqlite3DbMallocZero(db, sizeof(*pOrInfo));-
469 if( pOrInfo==0
pOrInfo==0Description
TRUEnever evaluated
FALSEevaluated 5128 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
) return;
never executed: return;
0-5128
470 pTerm->wtFlags |= 0x10;-
471 pOrWc = &pOrInfo->wc;-
472 memset(pOrWc->aStatic, 0, sizeof(pOrWc->aStatic));-
473 sqlite3WhereClauseInit(pOrWc, pWInfo);-
474 sqlite3WhereSplit(pOrWc, pExpr, 43);-
475 sqlite3WhereExprAnalyze(pSrc, pOrWc);-
476 if( db->mallocFailed
db->mallocFailedDescription
TRUEnever evaluated
FALSEevaluated 5128 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
) return;
never executed: return;
0-5128
477 -
478 ((void) (0))-
479 ;-
480-
481-
482-
483-
484 indexable = ~(Bitmask)0;-
485 chngToIN = ~(Bitmask)0;-
486 for(i=pOrWc->nTerm-1, pOrTerm=pOrWc->a; i>=0
i>=0Description
TRUEevaluated 24293 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 4067 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
&& indexable
indexableDescription
TRUEevaluated 23232 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 1061 times by 1 test
Evaluated by:
  • Self test (438)
; i--, pOrTerm++){
1061-24293
487 if( (
(pOrTerm->eOpe...r & 0x01ff)==0Description
TRUEevaluated 11304 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 11928 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
pOrTerm->eOperator & 0x01ff)==0
(pOrTerm->eOpe...r & 0x01ff)==0Description
TRUEevaluated 11304 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 11928 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
){
11304-11928
488 WhereAndInfo *pAndInfo;-
489 -
490 ((void) (0))-
491 ;-
492 chngToIN = 0;-
493 pAndInfo = sqlite3DbMallocRawNN(db, sizeof(*pAndInfo));-
494 if( pAndInfo
pAndInfoDescription
TRUEevaluated 11304 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEnever evaluated
){
0-11304
495 WhereClause *pAndWC;-
496 WhereTerm *pAndTerm;-
497 int j;-
498 Bitmask b = 0;-
499 pOrTerm->u.pAndInfo = pAndInfo;-
500 pOrTerm->wtFlags |= 0x20;-
501 pOrTerm->eOperator = 0x0400;-
502 pAndWC = &pAndInfo->wc;-
503 memset(pAndWC->aStatic, 0, sizeof(pAndWC->aStatic));-
504 sqlite3WhereClauseInit(pAndWC, pWC->pWInfo);-
505 sqlite3WhereSplit(pAndWC, pOrTerm->pExpr, 44);-
506 sqlite3WhereExprAnalyze(pSrc, pAndWC);-
507 pAndWC->pOuter = pWC;-
508 if( !db->mallocFailed
!db->mallocFailedDescription
TRUEevaluated 11304 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEnever evaluated
){
0-11304
509 for(j=0, pAndTerm=pAndWC->a; j<pAndWC->nTerm
j<pAndWC->nTermDescription
TRUEevaluated 32555 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 11304 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
; j++, pAndTerm++){
11304-32555
510 -
511 ((void) (0))-
512 ;-
513 if( allowedOp(pAndTerm->pExpr->op)
allowedOp(pAndTerm->pExpr->op)Description
TRUEevaluated 21781 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 10774 times by 1 test
Evaluated by:
  • Self test (438)
10774-21781
514 || pAndTerm->eOperator==0x0040
pAndTerm->eOperator==0x0040Description
TRUEevaluated 9 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 10765 times by 1 test
Evaluated by:
  • Self test (438)
9-10765
515 ){-
516 b |= sqlite3WhereGetMask(&pWInfo->sMaskSet, pAndTerm->leftCursor);-
517 }
executed 21790 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
21790
518 }
executed 32555 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
32555
519 }
executed 11304 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
11304
520 indexable &= b;-
521 }
executed 11304 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
11304
522 }
executed 11304 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
else if( pOrTerm->wtFlags & 0x08
pOrTerm->wtFlags & 0x08Description
TRUEevaluated 185 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 11743 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
){
185-11743
523-
524-
525 }
executed 185 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
185
526 Bitmask b;-
527 b = sqlite3WhereGetMask(&pWInfo->sMaskSet, pOrTerm->leftCursor);-
528 if( pOrTerm->wtFlags & 0x02
pOrTerm->wtFlags & 0x02Description
TRUEevaluated 175 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 11568 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
){
175-11568
529 WhereTerm *pOther = &pOrWc->a[pOrTerm->iParent];-
530 b |= sqlite3WhereGetMask(&pWInfo->sMaskSet, pOther->leftCursor);-
531 }
executed 175 times by 1 test: end of block
Executed by:
  • Self test (438)
175
532 indexable &= b;-
533 if( (
(pOrTerm->eOpe...r & 0x0002)==0Description
TRUEevaluated 1510 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 10233 times by 1 test
Evaluated by:
  • Self test (438)
pOrTerm->eOperator & 0x0002)==0
(pOrTerm->eOpe...r & 0x0002)==0Description
TRUEevaluated 1510 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 10233 times by 1 test
Evaluated by:
  • Self test (438)
){
1510-10233
534 chngToIN = 0;-
535 }
executed 1510 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
else{
1510
536 chngToIN &= b;-
537 }
executed 10233 times by 1 test: end of block
Executed by:
  • Self test (438)
10233
538 }-
539 }-
540-
541-
542-
543-
544-
545 pOrInfo->indexable = indexable;-
546 if( indexable
indexableDescription
TRUEevaluated 3801 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 1327 times by 1 test
Evaluated by:
  • Self test (438)
){
1327-3801
547 pTerm->eOperator = 0x0200;-
548 pWC->hasOr = 1;-
549 }
executed 3801 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
else{
3801
550 pTerm->eOperator = 0x0200;-
551 }
executed 1327 times by 1 test: end of block
Executed by:
  • Self test (438)
1327
552-
553-
554-
555 if( indexable
indexableDescription
TRUEevaluated 3801 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 1327 times by 1 test
Evaluated by:
  • Self test (438)
&& pOrWc->nTerm==2
pOrWc->nTerm==2Description
TRUEevaluated 1326 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 2475 times by 1 test
Evaluated by:
  • Self test (438)
){
1326-3801
556 int iOne = 0;-
557 WhereTerm *pOne;-
558 while( (
(pOne = whereN...0],iOne++))!=0Description
TRUEevaluated 2017 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 1326 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
pOne = whereNthSubterm(&pOrWc->a[0],iOne++))!=0
(pOne = whereN...0],iOne++))!=0Description
TRUEevaluated 2017 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 1326 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
){
1326-2017
559 int iTwo = 0;-
560 WhereTerm *pTwo;-
561 while( (
(pTwo = whereN...1],iTwo++))!=0Description
TRUEevaluated 4052 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 2017 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
pTwo = whereNthSubterm(&pOrWc->a[1],iTwo++))!=0
(pTwo = whereN...1],iTwo++))!=0Description
TRUEevaluated 4052 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 2017 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
){
2017-4052
562 whereCombineDisjuncts(pSrc, pWC, pOne, pTwo);-
563 }
executed 4052 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
4052
564 }
executed 2017 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
2017
565 }
executed 1326 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
1326
566 if( chngToIN
chngToINDescription
TRUEevaluated 434 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4694 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
){
434-4694
567 int okToChngToIN = 0;-
568 int iColumn = -1;-
569 int iCursor = -1;-
570 int j = 0;-
571-
572-
573-
574-
575-
576-
577-
578 for(j=0; j<2
j<2Description
TRUEevaluated 868 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 18 times by 1 test
Evaluated by:
  • Self test (438)
&& !okToChngToIN
!okToChngToINDescription
TRUEevaluated 669 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 199 times by 1 test
Evaluated by:
  • Self test (438)
; j++){
18-868
579 pOrTerm = pOrWc->a;-
580 for(i=pOrWc->nTerm-1; i>=0
i>=0Description
TRUEevaluated 3476 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 217 times by 1 test
Evaluated by:
  • Self test (438)
; i--, pOrTerm++){
217-3476
581 -
582 ((void) (0))-
583 ;-
584 pOrTerm->wtFlags &= ~0x40;-
585 if( pOrTerm->leftCursor==iCursor
pOrTerm->leftCursor==iCursorDescription
TRUEevaluated 2997 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 479 times by 1 test
Evaluated by:
  • Self test (438)
){
479-2997
586-
587-
588 -
589 ((void) (0))-
590 ;-
591 continue;
executed 2997 times by 1 test: continue;
Executed by:
  • Self test (438)
2997
592 }-
593 if( (
(chngToIN & sq...eftCursor))==0Description
TRUEevaluated 27 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 452 times by 1 test
Evaluated by:
  • Self test (438)
chngToIN & sqlite3WhereGetMask(&pWInfo->sMaskSet,
(chngToIN & sq...eftCursor))==0Description
TRUEevaluated 27 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 452 times by 1 test
Evaluated by:
  • Self test (438)
27-452
594 pOrTerm->leftCursor))==0
(chngToIN & sq...eftCursor))==0Description
TRUEevaluated 27 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 452 times by 1 test
Evaluated by:
  • Self test (438)
){
27-452
595-
596-
597-
598-
599 ;-
600 ;-
601 -
602 ((void) (0))-
603 ;-
604 continue;
executed 27 times by 1 test: continue;
Executed by:
  • Self test (438)
27
605 }-
606 iColumn = pOrTerm->u.leftColumn;-
607 iCursor = pOrTerm->leftCursor;-
608 break;
executed 452 times by 1 test: break;
Executed by:
  • Self test (438)
452
609 }-
610 if( i<0
i<0Description
TRUEevaluated 217 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 452 times by 1 test
Evaluated by:
  • Self test (438)
){
217-452
611-
612-
613 -
614 ((void) (0))-
615 ;-
616 -
617 ((void) (0))-
618 ;-
619 -
620 ((void) (0))-
621 ;-
622 break;
executed 217 times by 1 test: break;
Executed by:
  • Self test (438)
217
623 }-
624 ;-
625-
626-
627-
628 okToChngToIN = 1;-
629 for(; i>=0
i>=0Description
TRUEevaluated 1208 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 332 times by 1 test
Evaluated by:
  • Self test (438)
&& okToChngToIN
okToChngToINDescription
TRUEevaluated 1088 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 120 times by 1 test
Evaluated by:
  • Self test (438)
; i--, pOrTerm++){
120-1208
630 -
631 ((void) (0))-
632 ;-
633 if( pOrTerm->leftCursor!=iCursor
pOrTerm->leftCursor!=iCursorDescription
TRUEevaluated 19 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1069 times by 1 test
Evaluated by:
  • Self test (438)
){
19-1069
634 pOrTerm->wtFlags &= ~0x40;-
635 }
executed 19 times by 1 test: end of block
Executed by:
  • Self test (438)
else if( pOrTerm->u.leftColumn!=iColumn
pOrTerm->u.leftColumn!=iColumnDescription
TRUEevaluated 222 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 847 times by 1 test
Evaluated by:
  • Self test (438)
){
19-847
636 okToChngToIN = 0;-
637 }
executed 222 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
222
638 int affLeft, affRight;-
639-
640-
641-
642-
643 affRight = sqlite3ExprAffinity(pOrTerm->pExpr->pRight);-
644 affLeft = sqlite3ExprAffinity(pOrTerm->pExpr->pLeft);-
645 if( affRight!=0
affRight!=0Description
TRUEevaluated 94 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 753 times by 1 test
Evaluated by:
  • Self test (438)
&& affRight!=affLeft
affRight!=affLeftDescription
TRUEevaluated 26 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 68 times by 1 test
Evaluated by:
  • Self test (438)
){
26-753
646 okToChngToIN = 0;-
647 }
executed 26 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
26
648 pOrTerm->wtFlags |= 0x40;-
649 }
executed 821 times by 1 test: end of block
Executed by:
  • Self test (438)
821
650 }-
651 }-
652 }
executed 452 times by 1 test: end of block
Executed by:
  • Self test (438)
452
653-
654-
655-
656-
657-
658 if( okToChngToIN
okToChngToINDescription
TRUEevaluated 204 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 230 times by 1 test
Evaluated by:
  • Self test (438)
){
204-230
659 Expr *pDup;-
660 ExprList *pList = 0;-
661 Expr *pLeft = 0;-
662 Expr *pNew;-
663-
664 for(i=pOrWc->nTerm-1, pOrTerm=pOrWc->a; i>=0
i>=0Description
TRUEevaluated 585 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 204 times by 1 test
Evaluated by:
  • Self test (438)
; i--, pOrTerm++){
204-585
665 if( (
(pOrTerm->wtFlags & 0x40)==0Description
TRUEevaluated 29 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 556 times by 1 test
Evaluated by:
  • Self test (438)
pOrTerm->wtFlags & 0x40)==0
(pOrTerm->wtFlags & 0x40)==0Description
TRUEevaluated 29 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 556 times by 1 test
Evaluated by:
  • Self test (438)
) continue;
executed 29 times by 1 test: continue;
Executed by:
  • Self test (438)
29-556
666 -
667 ((void) (0))-
668 ;-
669 -
670 ((void) (0))-
671 ;-
672 -
673 ((void) (0))-
674 ;-
675 pDup = sqlite3ExprDup(db, pOrTerm->pExpr->pRight, 0);-
676 pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);-
677 pLeft = pOrTerm->pExpr->pLeft;-
678 }
executed 556 times by 1 test: end of block
Executed by:
  • Self test (438)
556
679 -
680 ((void) (0))-
681 ;-
682 pDup = sqlite3ExprDup(db, pLeft, 0);-
683 pNew = sqlite3PExpr(pParse, 49, pDup, 0);-
684 if( pNew
pNewDescription
TRUEevaluated 204 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
){
0-204
685 int idxNew;-
686 transferJoinMarkings(pNew, pExpr);-
687 -
688 ((void) (0))-
689 ;-
690 pNew->x.pList = pList;-
691 idxNew = whereClauseInsert(pWC, pNew, 0x02|0x01);-
692 ;-
693 exprAnalyze(pSrc, pWC, idxNew);-
694-
695 markTermAsChild(pWC, idxNew, idxTerm);-
696 }
executed 204 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
204
697 sqlite3ExprListDelete(db, pList);-
698 }
never executed: end of block
0
699 }-
700 }
executed 434 times by 1 test: end of block
Executed by:
  • Self test (438)
434
701}
executed 5128 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
5128
702static int termIsEquivalence(Parse *pParse, Expr *pExpr){-
703 char aff1, aff2;-
704 CollSeq *pColl;-
705 if( !(((pParse->db)->dbOptFlags&(0x0080))==0)
!(((pParse->db...&(0x0080))==0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 9218 times by 1 test
Evaluated by:
  • Self test (438)
) return
executed 3 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 3 times by 1 test: return 0;
Executed by:
  • Self test (438)
3-9218
706 if( pExpr->op!=53
pExpr->op!=53Description
TRUEevaluated 3656 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5562 times by 1 test
Evaluated by:
  • Self test (438)
&& pExpr->op!=45
pExpr->op!=45Description
TRUEevaluated 3635 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 21 times by 1 test
Evaluated by:
  • Self test (438)
) return
executed 3635 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 3635 times by 1 test: return 0;
Executed by:
  • Self test (438)
21-5562
707 if( (((
(((pExpr)->fla...0x000001))!=0)Description
TRUEevaluated 468 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5115 times by 1 test
Evaluated by:
  • Self test (438)
pExpr)->flags&(0x000001))!=0)
(((pExpr)->fla...0x000001))!=0)Description
TRUEevaluated 468 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5115 times by 1 test
Evaluated by:
  • Self test (438)
) return
executed 468 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 468 times by 1 test: return 0;
Executed by:
  • Self test (438)
468-5115
708 aff1 = sqlite3ExprAffinity(pExpr->pLeft);-
709 aff2 = sqlite3ExprAffinity(pExpr->pRight);-
710 if( aff1!=aff2
aff1!=aff2Description
TRUEevaluated 604 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4511 times by 1 test
Evaluated by:
  • Self test (438)
604-4511
711 && (!((aff1)>='C')
!((aff1)>='C')Description
TRUEevaluated 286 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 318 times by 1 test
Evaluated by:
  • Self test (438)
|| !((aff2)>='C')
!((aff2)>='C')Description
TRUEevaluated 297 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 21 times by 1 test
Evaluated by:
  • Self test (438)
)
21-318
712 ){-
713 return
executed 583 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 583 times by 1 test: return 0;
Executed by:
  • Self test (438)
583
714 }-
715 pColl = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft, pExpr->pRight);-
716 if( sqlite3IsBinary(pColl)
sqlite3IsBinary(pColl)Description
TRUEevaluated 4437 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 95 times by 1 test
Evaluated by:
  • Self test (438)
) return
executed 4437 times by 1 test: return 1;
Executed by:
  • Self test (438)
1;
executed 4437 times by 1 test: return 1;
Executed by:
  • Self test (438)
95-4437
717 return
executed 95 times by 1 test: return sqlite3ExprCollSeqMatch(pParse, pExpr->pLeft, pExpr->pRight);
Executed by:
  • Self test (438)
sqlite3ExprCollSeqMatch(pParse, pExpr->pLeft, pExpr->pRight);
executed 95 times by 1 test: return sqlite3ExprCollSeqMatch(pParse, pExpr->pLeft, pExpr->pRight);
Executed by:
  • Self test (438)
95
718}-
719-
720-
721-
722-
723-
724-
725static Bitmask exprSelectUsage(WhereMaskSet *pMaskSet, Select *pS){-
726 Bitmask mask = 0;-
727 while( pS
pSDescription
TRUEevaluated 57230 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 103419 times by 1 test
Evaluated by:
  • Self test (438)
){
57230-103419
728 SrcList *pSrc = pS->pSrc;-
729 mask |= sqlite3WhereExprListUsage(pMaskSet, pS->pEList);-
730 mask |= sqlite3WhereExprListUsage(pMaskSet, pS->pGroupBy);-
731 mask |= sqlite3WhereExprListUsage(pMaskSet, pS->pOrderBy);-
732 mask |= sqlite3WhereExprUsage(pMaskSet, pS->pWhere);-
733 mask |= sqlite3WhereExprUsage(pMaskSet, pS->pHaving);-
734 if( (
(pSrc!=0)Description
TRUEevaluated 57230 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
pSrc!=0)
(pSrc!=0)Description
TRUEevaluated 57230 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
){
0-57230
735 int i;-
736 for(i=0; i<pSrc->nSrc
i<pSrc->nSrcDescription
TRUEevaluated 57013 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 57230 times by 1 test
Evaluated by:
  • Self test (438)
; i++){
57013-57230
737 mask |= exprSelectUsage(pMaskSet, pSrc->a[i].pSelect);-
738 mask |= sqlite3WhereExprUsage(pMaskSet, pSrc->a[i].pOn);-
739 if( pSrc->a[i].fg.isTabFunc
pSrc->a[i].fg.isTabFuncDescription
TRUEevaluated 20 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 56993 times by 1 test
Evaluated by:
  • Self test (438)
){
20-56993
740 mask |= sqlite3WhereExprListUsage(pMaskSet, pSrc->a[i].u1.pFuncArg);-
741 }
executed 20 times by 1 test: end of block
Executed by:
  • Self test (438)
20
742 }
executed 57013 times by 1 test: end of block
Executed by:
  • Self test (438)
57013
743 }
executed 57230 times by 1 test: end of block
Executed by:
  • Self test (438)
57230
744 pS = pS->pPrior;-
745 }
executed 57230 times by 1 test: end of block
Executed by:
  • Self test (438)
57230
746 return
executed 103419 times by 1 test: return mask;
Executed by:
  • Self test (438)
mask;
executed 103419 times by 1 test: return mask;
Executed by:
  • Self test (438)
103419
747}-
748static __attribute__((noinline)) int exprMightBeIndexed2(-
749 SrcList *pFrom,-
750 Bitmask mPrereq,-
751 int *aiCurCol,-
752 Expr *pExpr-
753){-
754 Index *pIdx;-
755 int i;-
756 int iCur;-
757 for(i=0; mPrereq>1
mPrereq>1Description
TRUEevaluated 42192 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 10723 times by 334 tests
Evaluated by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
; i++, mPrereq>>=1){}
executed 42192 times by 1 test: end of block
Executed by:
  • Self test (438)
10723-42192
758 iCur = pFrom->a[i].iCursor;-
759 for(pIdx=pFrom->a[i].pTab->pIndex; pIdx
pIdxDescription
TRUEevaluated 3003 times by 333 tests
Evaluated by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
FALSEevaluated 10672 times by 334 tests
Evaluated by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
; pIdx=pIdx->pNext){
3003-10672
760 if( pIdx->aColExpr==0
pIdx->aColExpr==0Description
TRUEevaluated 2943 times by 333 tests
Evaluated by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
FALSEevaluated 60 times by 1 test
Evaluated by:
  • Self test (438)
) continue;
executed 2943 times by 333 tests: continue;
Executed by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
60-2943
761 for(i=0; i<pIdx->nKeyCol
i<pIdx->nKeyColDescription
TRUEevaluated 69 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 9 times by 1 test
Evaluated by:
  • Self test (438)
; i++){
9-69
762 if( pIdx->aiColumn[i]!=(-2)
pIdx->aiColumn[i]!=(-2)Description
TRUEevaluated 9 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 60 times by 1 test
Evaluated by:
  • Self test (438)
) continue;
executed 9 times by 1 test: continue;
Executed by:
  • Self test (438)
9-60
763 if( sqlite3ExprCompareSkip(pExpr, pIdx->aColExpr->a[i].pExpr, iCur)==0
sqlite3ExprCom...Expr, iCur)==0Description
TRUEevaluated 51 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 9 times by 1 test
Evaluated by:
  • Self test (438)
){
9-51
764 aiCurCol[0] = iCur;-
765 aiCurCol[1] = (-2);-
766 return
executed 51 times by 1 test: return 1;
Executed by:
  • Self test (438)
1;
executed 51 times by 1 test: return 1;
Executed by:
  • Self test (438)
51
767 }-
768 }
executed 9 times by 1 test: end of block
Executed by:
  • Self test (438)
9
769 }
executed 9 times by 1 test: end of block
Executed by:
  • Self test (438)
9
770 return
executed 10672 times by 334 tests: return 0;
Executed by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
0;
executed 10672 times by 334 tests: return 0;
Executed by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
10672
771}-
772static int exprMightBeIndexed(-
773 SrcList *pFrom,-
774 Bitmask mPrereq,-
775 int *aiCurCol,-
776 Expr *pExpr,-
777 int op-
778){-
779-
780-
781-
782 -
783 ((void) (0))-
784 ;-
785 -
786 ((void) (0))-
787 ;-
788 -
789 ((void) (0))-
790 ;-
791 if( pExpr->op==165
pExpr->op==165Description
TRUEevaluated 6438 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 382843 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
&& (op>=54
op>=54Description
TRUEevaluated 4310 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2128 times by 1 test
Evaluated by:
  • Self test (438)
&& (
(op<=57)Description
TRUEevaluated 4310 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
op<=57)
(op<=57)Description
TRUEevaluated 4310 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
) ){
0-382843
792 pExpr = pExpr->x.pList->a[0].pExpr;-
793 }
executed 4310 times by 1 test: end of block
Executed by:
  • Self test (438)
4310
794-
795 if( pExpr->op==158
pExpr->op==158Description
TRUEevaluated 199667 times by 36 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (4)
  • Self test (40)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • Self test (57)
  • Self test (58)
  • ...
FALSEevaluated 189614 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
189614-199667
796 aiCurCol[0] = pExpr->iTable;-
797 aiCurCol[1] = pExpr->iColumn;-
798 return
executed 199667 times by 36 tests: return 1;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (4)
  • Self test (40)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • Self test (57)
  • Self test (58)
  • ...
1;
executed 199667 times by 36 tests: return 1;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (4)
  • Self test (40)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • Self test (57)
  • Self test (58)
  • ...
199667
799 }-
800 if( mPrereq==0
mPrereq==0Description
TRUEevaluated 178886 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 10728 times by 334 tests
Evaluated by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
) return
executed 178886 times by 368 tests: return 0;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
0;
executed 178886 times by 368 tests: return 0;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
10728-178886
801 if( (
(mPrereq&(mPrereq-1))!=0Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 10723 times by 334 tests
Evaluated by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
mPrereq&(mPrereq-1))!=0
(mPrereq&(mPrereq-1))!=0Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 10723 times by 334 tests
Evaluated by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
) return
executed 5 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 5 times by 1 test: return 0;
Executed by:
  • Self test (438)
5-10723
802 return
executed 10723 times by 334 tests: return exprMightBeIndexed2(pFrom,mPrereq,aiCurCol,pExpr);
Executed by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
exprMightBeIndexed2(pFrom,mPrereq,aiCurCol,pExpr);
executed 10723 times by 334 tests: return exprMightBeIndexed2(pFrom,mPrereq,aiCurCol,pExpr);
Executed by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
10723
803}-
804static void exprAnalyze(-
805 SrcList *pSrc,-
806 WhereClause *pWC,-
807 int idxTerm-
808){-
809 WhereInfo *pWInfo = pWC->pWInfo;-
810 WhereTerm *pTerm;-
811 WhereMaskSet *pMaskSet;-
812 Expr *pExpr;-
813 Bitmask prereqLeft;-
814 Bitmask prereqAll;-
815 Bitmask extraRight = 0;-
816 Expr *pStr1 = 0;-
817 int isComplete = 0;-
818 int noCase = 0;-
819 int op;-
820 Parse *pParse = pWInfo->pParse;-
821 sqlite3 *db = pParse->db;-
822 unsigned char eOp2 = 0;-
823 int nLeft;-
824-
825 if( db->mallocFailed
db->mallocFailedDescription
TRUEevaluated 68 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 272443 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
68-272443
826 return;
executed 68 times by 1 test: return;
Executed by:
  • Self test (438)
68
827 }-
828 pTerm = &pWC->a[idxTerm];-
829 pMaskSet = &pWInfo->sMaskSet;-
830 pExpr = pTerm->pExpr;-
831 -
832 ((void) (0))-
833 ;-
834 prereqLeft = sqlite3WhereExprUsage(pMaskSet, pExpr->pLeft);-
835 op = pExpr->op;-
836 if( op==49
op==49Description
TRUEevaluated 5215 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 267228 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
5215-267228
837 -
838 ((void) (0))-
839 ;-
840 if( sqlite3ExprCheckIN(pParse, pExpr)
sqlite3ExprChe...pParse, pExpr)Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5209 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
) return;
executed 6 times by 1 test: return;
Executed by:
  • Self test (438)
6-5209
841 if( (((
(((pExpr)->fla...0x000800))!=0)Description
TRUEevaluated 2537 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2672 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
pExpr)->flags&(0x000800))!=0)
(((pExpr)->fla...0x000800))!=0)Description
TRUEevaluated 2537 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2672 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
){
2537-2672
842 pTerm->prereqRight = exprSelectUsage(pMaskSet, pExpr->x.pSelect);-
843 }
executed 2537 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
2537
844 pTerm->prereqRight = sqlite3WhereExprListUsage(pMaskSet, pExpr->x.pList);-
845 }
executed 2672 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
2672
846 }else if( op==50
op==50Description
TRUEevaluated 494 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 266734 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
494-266734
847 pTerm->prereqRight = 0;-
848 }
executed 494 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
494
849 pTerm->prereqRight = sqlite3WhereExprUsage(pMaskSet, pExpr->pRight);-
850 }
executed 266734 times by 368 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
266734
851 pMaskSet->bVarSelect = 0;-
852 prereqAll = sqlite3WhereExprUsageNN(pMaskSet, pExpr);-
853 if( pMaskSet->bVarSelect
pMaskSet->bVarSelectDescription
TRUEevaluated 105 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 272332 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
) pTerm->wtFlags |= 0x1000;
executed 105 times by 1 test: pTerm->wtFlags |= 0x1000;
Executed by:
  • Self test (438)
105-272332
854 if( (((
(((pExpr)->fla...0x000001))!=0)Description
TRUEevaluated 732 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 271705 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
pExpr)->flags&(0x000001))!=0)
(((pExpr)->fla...0x000001))!=0)Description
TRUEevaluated 732 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 271705 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
732-271705
855 Bitmask x = sqlite3WhereGetMask(pMaskSet, pExpr->iRightJoinTable);-
856 prereqAll |= x;-
857 extraRight = x-1;-
858-
859 if( (
(prereqAll>>1)>=xDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 731 times by 1 test
Evaluated by:
  • Self test (438)
prereqAll>>1)>=x
(prereqAll>>1)>=xDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 731 times by 1 test
Evaluated by:
  • Self test (438)
){
1-731
860 sqlite3ErrorMsg(pParse, "ON clause references tables to its right");-
861 return;
executed 1 time by 1 test: return;
Executed by:
  • Self test (438)
1
862 }-
863 }
executed 731 times by 1 test: end of block
Executed by:
  • Self test (438)
731
864 pTerm->prereqAll = prereqAll;-
865 pTerm->leftCursor = -1;-
866 pTerm->iParent = -1;-
867 pTerm->eOperator = 0;-
868 if( allowedOp(op)
allowedOp(op)Description
TRUEevaluated 197492 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 74944 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
){
74944-197492
869 int aiCurCol[2];-
870 Expr *pLeft = sqlite3ExprSkipCollate(pExpr->pLeft);-
871 Expr *pRight = sqlite3ExprSkipCollate(pExpr->pRight);-
872 u16 opMask = (
(pTerm->prereq...prereqLeft)==0Description
TRUEevaluated 191572 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 5920 times by 1 test
Evaluated by:
  • Self test (438)
pTerm->prereqRight & prereqLeft)==0
(pTerm->prereq...prereqLeft)==0Description
TRUEevaluated 191572 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 5920 times by 1 test
Evaluated by:
  • Self test (438)
? 0x1fff : 0x0800;
5920-191572
873-
874 if( pTerm->iField>0
pTerm->iField>0Description
TRUEevaluated 239 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 197253 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
239-197253
875 -
876 ((void) (0))-
877 ;-
878 -
879 ((void) (0))-
880 ;-
881 pLeft = pLeft->x.pList->a[pTerm->iField-1].pExpr;-
882 }
executed 239 times by 1 test: end of block
Executed by:
  • Self test (438)
239
883-
884 if( exprMightBeIndexed(pSrc, prereqLeft, aiCurCol, pLeft, op)
exprMightBeInd...ol, pLeft, op)Description
TRUEevaluated 186990 times by 36 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (4)
  • Self test (40)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • Self test (57)
  • Self test (58)
  • ...
FALSEevaluated 10502 times by 334 tests
Evaluated by:
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • Self test (130)
  • ...
){
10502-186990
885 pTerm->leftCursor = aiCurCol[0];-
886 pTerm->u.leftColumn = aiCurCol[1];-
887 pTerm->eOperator = operatorMask(op) & opMask;-
888 }
executed 186990 times by 36 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (4)
  • Self test (40)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • Self test (57)
  • Self test (58)
  • ...
186990
889 if( op==45
op==45Description
TRUEevaluated 2990 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 194502 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
) pTerm->wtFlags |= 0x800;
executed 2990 times by 1 test: pTerm->wtFlags |= 0x800;
Executed by:
  • Self test (438)
2990-194502
890 if( pRight
pRightDescription
TRUEevaluated 191789 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 5703 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
5703-191789
891 && exprMightBeIndexed(pSrc, pTerm->prereqRight, aiCurCol, pRight, op)
exprMightBeInd...l, pRight, op)Description
TRUEevaluated 12728 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 179061 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
12728-179061
892 ){-
893 WhereTerm *pNew;-
894 Expr *pDup;-
895 u16 eExtraOp = 0;-
896 -
897 ((void) (0))-
898 ;-
899 if( pTerm->leftCursor>=0
pTerm->leftCursor>=0Description
TRUEevaluated 9233 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3495 times by 1 test
Evaluated by:
  • Self test (438)
){
3495-9233
900 int idxNew;-
901 pDup = sqlite3ExprDup(db, pExpr, 0);-
902 if( db->mallocFailed
db->mallocFailedDescription
TRUEevaluated 12 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 9221 times by 1 test
Evaluated by:
  • Self test (438)
){
12-9221
903 sqlite3ExprDelete(db, pDup);-
904 return;
executed 12 times by 1 test: return;
Executed by:
  • Self test (438)
12
905 }-
906 idxNew = whereClauseInsert(pWC, pDup, 0x02|0x01);-
907 if( idxNew==0
idxNew==0Description
TRUEnever evaluated
FALSEevaluated 9221 times by 1 test
Evaluated by:
  • Self test (438)
) return;
never executed: return;
0-9221
908 pNew = &pWC->a[idxNew];-
909 markTermAsChild(pWC, idxNew, idxTerm);-
910 if( op==45
op==45Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 9200 times by 1 test
Evaluated by:
  • Self test (438)
) pNew->wtFlags |= 0x800;
executed 21 times by 1 test: pNew->wtFlags |= 0x800;
Executed by:
  • Self test (438)
21-9200
911 pTerm = &pWC->a[idxTerm];-
912 pTerm->wtFlags |= 0x08;-
913-
914 if( termIsEquivalence(pParse, pDup)
termIsEquivale...(pParse, pDup)Description
TRUEevaluated 4452 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4769 times by 1 test
Evaluated by:
  • Self test (438)
){
4452-4769
915 pTerm->eOperator |= 0x0800;-
916 eExtraOp = 0x0800;-
917 }
executed 4452 times by 1 test: end of block
Executed by:
  • Self test (438)
4452
918 }
executed 9221 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
9221
919 pDup = pExpr;-
920 pNew = pTerm;-
921 }
executed 3495 times by 1 test: end of block
Executed by:
  • Self test (438)
3495
922 exprCommute(pParse, pDup);-
923 pNew->leftCursor = aiCurCol[0];-
924 pNew->u.leftColumn = aiCurCol[1];-
925 ;-
926 pNew->prereqRight = prereqLeft | extraRight;-
927 pNew->prereqAll = prereqAll;-
928 pNew->eOperator = (operatorMask(pDup->op) + eExtraOp) & opMask;-
929 }
executed 12716 times by 1 test: end of block
Executed by:
  • Self test (438)
12716
930 }
executed 197480 times by 368 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
197480
931 else if( pExpr->op==48
pExpr->op==48Description
TRUEevaluated 5644 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 69300 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
&& pWC->op==44
pWC->op==44Description
TRUEevaluated 5360 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 284 times by 1 test
Evaluated by:
  • Self test (438)
){
284-69300
932 ExprList *pList = pExpr->x.pList;-
933 int i;-
934 static const u8 ops[] = {57, 55};-
935 -
936 ((void) (0))-
937 ;-
938 -
939 ((void) (0))-
940 ;-
941 for(i=0; i<2
i<2Description
TRUEevaluated 10720 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 5360 times by 1 test
Evaluated by:
  • Self test (438)
; i++){
5360-10720
942 Expr *pNewExpr;-
943 int idxNew;-
944 pNewExpr = sqlite3PExpr(pParse, ops[i],-
945 sqlite3ExprDup(db, pExpr->pLeft, 0),-
946 sqlite3ExprDup(db, pList->a[i].pExpr, 0));-
947 transferJoinMarkings(pNewExpr, pExpr);-
948 idxNew = whereClauseInsert(pWC, pNewExpr, 0x02|0x01);-
949 ;-
950 exprAnalyze(pSrc, pWC, idxNew);-
951 pTerm = &pWC->a[idxTerm];-
952 markTermAsChild(pWC, idxNew, idxTerm);-
953 }
executed 10720 times by 1 test: end of block
Executed by:
  • Self test (438)
10720
954 }
executed 5360 times by 1 test: end of block
Executed by:
  • Self test (438)
5360
955-
956-
957-
958-
959-
960-
961 else if( pExpr->op==43
pExpr->op==43Description
TRUEevaluated 5128 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 64456 times by 28 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • ...
){
5128-64456
962 -
963 ((void) (0))-
964 ;-
965 exprAnalyzeOrTerm(pSrc, pWC, idxTerm);-
966 pTerm = &pWC->a[idxTerm];-
967 }
executed 5128 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
5128
968 if( pWC->op==44
pWC->op==44Description
TRUEevaluated 248387 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 24037 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
24037-248387
969 && isLikeOrGlob(pParse, pExpr, &pStr1, &isComplete, &noCase)
isLikeOrGlob(p...lete, &noCase)Description
TRUEevaluated 5281 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 243106 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
5281-243106
970 ){-
971 Expr *pLeft;-
972 Expr *pStr2;-
973 Expr *pNewExpr1;-
974 Expr *pNewExpr2;-
975 int idxNew1;-
976 int idxNew2;-
977 const char *zCollSeqName;-
978 const u16 wtFlags = 0x100 | 0x02 | 0x01;-
979-
980 pLeft = pExpr->x.pList->a[1].pExpr;-
981 pStr2 = sqlite3ExprDup(db, pStr1, 0);-
982-
983-
984-
985-
986-
987 if( noCase
noCaseDescription
TRUEevaluated 400 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4881 times by 1 test
Evaluated by:
  • Self test (438)
&& !pParse->db->mallocFailed
!pParse->db->mallocFailedDescription
TRUEevaluated 400 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
){
0-4881
988 int i;-
989 char c;-
990 pTerm->wtFlags |= 0x400;-
991 for(i=0; (
(c = pStr1->u.zToken[i])!=0Description
TRUEevaluated 982 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 400 times by 1 test
Evaluated by:
  • Self test (438)
c = pStr1->u.zToken[i])!=0
(c = pStr1->u.zToken[i])!=0Description
TRUEevaluated 982 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 400 times by 1 test
Evaluated by:
  • Self test (438)
; i++){
400-982
992 pStr1->u.zToken[i] = ((c)&~(sqlite3CtypeMap[(unsigned char)(c)]&0x20));-
993 pStr2->u.zToken[i] = (sqlite3UpperToLower[(unsigned char)(c)]);-
994 }
executed 982 times by 1 test: end of block
Executed by:
  • Self test (438)
982
995 }
executed 400 times by 1 test: end of block
Executed by:
  • Self test (438)
400
996-
997 if( !db->mallocFailed
!db->mallocFailedDescription
TRUEevaluated 5281 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
){
0-5281
998 u8 c, *pC;-
999 pC = (u8*)&pStr2->u.zToken[sqlite3Strlen30(pStr2->u.zToken)-1];-
1000 c = *pC;-
1001 if( noCase
noCaseDescription
TRUEevaluated 400 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4881 times by 1 test
Evaluated by:
  • Self test (438)
){
400-4881
1002-
1003-
1004-
1005-
1006-
1007-
1008 if( c=='A'-1
c=='A'-1Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 397 times by 1 test
Evaluated by:
  • Self test (438)
) isComplete = 0;
executed 3 times by 1 test: isComplete = 0;
Executed by:
  • Self test (438)
3-397
1009 c = sqlite3UpperToLower[c];-
1010 }
executed 400 times by 1 test: end of block
Executed by:
  • Self test (438)
400
1011 *pC = c + 1;-
1012 }
executed 5281 times by 1 test: end of block
Executed by:
  • Self test (438)
5281
1013 zCollSeqName = noCase
noCaseDescription
TRUEevaluated 400 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4881 times by 1 test
Evaluated by:
  • Self test (438)
? "NOCASE" : sqlite3StrBINARY;
400-4881
1014 pNewExpr1 = sqlite3ExprDup(db, pLeft, 0);-
1015 pNewExpr1 = sqlite3PExpr(pParse, 57,-
1016 sqlite3ExprAddCollateString(pParse,pNewExpr1,zCollSeqName),-
1017 pStr1);-
1018 transferJoinMarkings(pNewExpr1, pExpr);-
1019 idxNew1 = whereClauseInsert(pWC, pNewExpr1, wtFlags);-
1020 ;-
1021 exprAnalyze(pSrc, pWC, idxNew1);-
1022 pNewExpr2 = sqlite3ExprDup(db, pLeft, 0);-
1023 pNewExpr2 = sqlite3PExpr(pParse, 56,-
1024 sqlite3ExprAddCollateString(pParse,pNewExpr2,zCollSeqName),-
1025 pStr2);-
1026 transferJoinMarkings(pNewExpr2, pExpr);-
1027 idxNew2 = whereClauseInsert(pWC, pNewExpr2, wtFlags);-
1028 ;-
1029 exprAnalyze(pSrc, pWC, idxNew2);-
1030 pTerm = &pWC->a[idxTerm];-
1031 if( isComplete
isCompleteDescription
TRUEevaluated 5238 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 43 times by 1 test
Evaluated by:
  • Self test (438)
){
43-5238
1032 markTermAsChild(pWC, idxNew1, idxTerm);-
1033 markTermAsChild(pWC, idxNew2, idxTerm);-
1034 }
executed 5238 times by 1 test: end of block
Executed by:
  • Self test (438)
5238
1035 }
executed 5281 times by 1 test: end of block
Executed by:
  • Self test (438)
5281
1036 if( pWC->op==44
pWC->op==44Description
TRUEevaluated 248387 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 24037 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
){
24037-248387
1037 Expr *pRight = 0, *pLeft = 0;-
1038 int res = isAuxiliaryVtabOperator(db, pExpr, &eOp2, &pLeft, &pRight);-
1039 while( res-- > 0
res-- > 0Description
TRUEevaluated 140 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 248387 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
140-248387
1040 int idxNew;-
1041 WhereTerm *pNewTerm;-
1042 Bitmask prereqColumn, prereqExpr;-
1043-
1044 prereqExpr = sqlite3WhereExprUsage(pMaskSet, pRight);-
1045 prereqColumn = sqlite3WhereExprUsage(pMaskSet, pLeft);-
1046 if( (
(prereqExpr & prereqColumn)==0Description
TRUEevaluated 140 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
prereqExpr & prereqColumn)==0
(prereqExpr & prereqColumn)==0Description
TRUEevaluated 140 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
){
0-140
1047 Expr *pNewExpr;-
1048 pNewExpr = sqlite3PExpr(pParse, 46,-
1049 0, sqlite3ExprDup(db, pRight, 0));-
1050 if( (((
(((pExpr)->fla...0x000001))!=0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 139 times by 1 test
Evaluated by:
  • Self test (438)
pExpr)->flags&(0x000001))!=0)
(((pExpr)->fla...0x000001))!=0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 139 times by 1 test
Evaluated by:
  • Self test (438)
&& pNewExpr
pNewExprDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
){
0-139
1051 (pNewExpr)->flags|=(0x000001);-
1052 }
executed 1 time by 1 test: end of block
Executed by:
  • Self test (438)
1
1053 idxNew = whereClauseInsert(pWC, pNewExpr, 0x02|0x01);-
1054 ;-
1055 pNewTerm = &pWC->a[idxNew];-
1056 pNewTerm->prereqRight = prereqExpr;-
1057 pNewTerm->leftCursor = pLeft->iTable;-
1058 pNewTerm->u.leftColumn = pLeft->iColumn;-
1059 pNewTerm->eOperator = 0x0040;-
1060 pNewTerm->eMatchOp = eOp2;-
1061 markTermAsChild(pWC, idxNew, idxTerm);-
1062 pTerm = &pWC->a[idxTerm];-
1063 pTerm->wtFlags |= 0x08;-
1064 pNewTerm->prereqAll = pTerm->prereqAll;-
1065 }
executed 140 times by 1 test: end of block
Executed by:
  • Self test (438)
140
1066 {Expr* t=pLeft; pLeft=pRight; pRight=t;};-
1067 }
executed 140 times by 1 test: end of block
Executed by:
  • Self test (438)
140
1068 }
executed 248387 times by 368 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
248387
1069 if( pWC->op==44
pWC->op==44Description
TRUEevaluated 248387 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 24037 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
24037-248387
1070 && (pExpr->op==53
pExpr->op==53Description
TRUEevaluated 125884 times by 367 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 122503 times by 29 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (40)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • ...
|| pExpr->op==45
pExpr->op==45Description
TRUEevaluated 2990 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 119513 times by 29 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (40)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • ...
)
2990-125884
1071 && (
(nLeft = sqlit...xpr->pLeft))>1Description
TRUEevaluated 1317 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 127557 times by 367 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
nLeft = sqlite3ExprVectorSize(pExpr->pLeft))>1
(nLeft = sqlit...xpr->pLeft))>1Description
TRUEevaluated 1317 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 127557 times by 367 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
1317-127557
1072 && sqlite3ExprVectorSize(pExpr->pRight)==nLeft
sqlite3ExprVec...pRight)==nLeftDescription
TRUEevaluated 1317 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
0-1317
1073 && ( (
(pExpr->pLeft-...& 0x000800)==0Description
TRUEevaluated 1317 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
pExpr->pLeft->flags & 0x000800)==0
(pExpr->pLeft-...& 0x000800)==0Description
TRUEevaluated 1317 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
0-1317
1074 || (
(pExpr->pRight...& 0x000800)==0Description
TRUEnever evaluated
FALSEnever evaluated
pExpr->pRight->flags & 0x000800)==0
(pExpr->pRight...& 0x000800)==0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1075 ){-
1076 int i;-
1077 for(i=0; i<nLeft
i<nLeftDescription
TRUEevaluated 3908 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1317 times by 1 test
Evaluated by:
  • Self test (438)
; i++){
1317-3908
1078 int idxNew;-
1079 Expr *pNew;-
1080 Expr *pLeft = sqlite3ExprForVectorField(pParse, pExpr->pLeft, i);-
1081 Expr *pRight = sqlite3ExprForVectorField(pParse, pExpr->pRight, i);-
1082-
1083 pNew = sqlite3PExpr(pParse, pExpr->op, pLeft, pRight);-
1084 transferJoinMarkings(pNew, pExpr);-
1085 idxNew = whereClauseInsert(pWC, pNew, 0x01);-
1086 exprAnalyze(pSrc, pWC, idxNew);-
1087 }
executed 3908 times by 1 test: end of block
Executed by:
  • Self test (438)
3908
1088 pTerm = &pWC->a[idxTerm];-
1089 pTerm->wtFlags |= 0x04|0x02;-
1090 pTerm->eOperator = 0;-
1091 }
executed 1317 times by 1 test: end of block
Executed by:
  • Self test (438)
1317
1092 if( pWC->op==44
pWC->op==44Description
TRUEevaluated 248387 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 24037 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
&& pExpr->op==49
pExpr->op==49Description
TRUEevaluated 4241 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 244146 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
&& pTerm->iField==0
pTerm->iField==0Description
TRUEevaluated 4002 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 239 times by 1 test
Evaluated by:
  • Self test (438)
239-248387
1093 && pExpr->pLeft->op==165
pExpr->pLeft->op==165Description
TRUEevaluated 121 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3881 times by 1 test
Evaluated by:
  • Self test (438)
121-3881
1094 && pExpr->x.pSelect->pPrior==0
pExpr->x.pSelect->pPrior==0Description
TRUEevaluated 119 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
2-119
1095 ){-
1096 int i;-
1097 for(i=0; i<sqlite3ExprVectorSize(pExpr->pLeft)
i<sqlite3ExprV...(pExpr->pLeft)Description
TRUEevaluated 239 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 119 times by 1 test
Evaluated by:
  • Self test (438)
; i++){
119-239
1098 int idxNew;-
1099 idxNew = whereClauseInsert(pWC, pExpr, 0x02);-
1100 pWC->a[idxNew].iField = i+1;-
1101 exprAnalyze(pSrc, pWC, idxNew);-
1102 markTermAsChild(pWC, idxNew, idxTerm);-
1103 }
executed 239 times by 1 test: end of block
Executed by:
  • Self test (438)
239
1104 }
executed 119 times by 1 test: end of block
Executed by:
  • Self test (438)
119
1105 ;-
1106 pTerm = &pWC->a[idxTerm];-
1107 pTerm->prereqRight |= extraRight;-
1108}
executed 272424 times by 368 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
272424
1109void sqlite3WhereSplit(WhereClause *pWC, Expr *pExpr, u8 op){-
1110 Expr *pE2 = sqlite3ExprSkipCollate(pExpr);-
1111 pWC->op = op;-
1112 if( pE2==0
pE2==0Description
TRUEevaluated 206362 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
FALSEevaluated 316315 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
) return;
executed 206362 times by 435 tests: return;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
206362-316315
1113 if( pE2->op!=op
pE2->op!=opDescription
TRUEevaluated 229450 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 86865 times by 31 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • ...
){
86865-229450
1114 whereClauseInsert(pWC, pExpr, 0);-
1115 }
executed 229450 times by 368 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
else{
229450
1116 sqlite3WhereSplit(pWC, pE2->pLeft, op);-
1117 sqlite3WhereSplit(pWC, pE2->pRight, op);-
1118 }
executed 86865 times by 31 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • ...
86865
1119}-
1120-
1121-
1122-
1123-
1124void sqlite3WhereClauseInit(-
1125 WhereClause *pWC,-
1126 WhereInfo *pWInfo-
1127){-
1128 pWC->pWInfo = pWInfo;-
1129 pWC->hasOr = 0;-
1130 pWC->pOuter = 0;-
1131 pWC->nTerm = 0;-
1132 pWC->nSlot = ((int)(sizeof(pWC->aStatic)/sizeof(pWC->aStatic[0])));-
1133 pWC->a = pWC->aStatic;-
1134}
executed 348947 times by 435 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
348947
1135-
1136-
1137-
1138-
1139-
1140-
1141void sqlite3WhereClauseClear(WhereClause *pWC){-
1142 int i;-
1143 WhereTerm *a;-
1144 sqlite3 *db = pWC->pWInfo->pParse->db;-
1145 for(i=pWC->nTerm-1, a=pWC->a; i>=0
i>=0Description
TRUEevaluated 281872 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 348947 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
; i--, a++){
281872-348947
1146 if( a->wtFlags & 0x01
a->wtFlags & 0x01Description
TRUEevaluated 52183 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 229689 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
52183-229689
1147 sqlite3ExprDelete(db, a->pExpr);-
1148 }
executed 52183 times by 1 test: end of block
Executed by:
  • Self test (438)
52183
1149 if( a->wtFlags & 0x10
a->wtFlags & 0x10Description
TRUEevaluated 5128 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 276744 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
5128-276744
1150 whereOrInfoDelete(db, a->u.pOrInfo);-
1151 }
executed 5128 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
else if( a->wtFlags & 0x20
a->wtFlags & 0x20Description
TRUEevaluated 11304 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 265440 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
5128-265440
1152 whereAndInfoDelete(db, a->u.pAndInfo);-
1153 }
executed 11304 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
11304
1154 }
executed 281872 times by 368 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
281872
1155 if( pWC->a!=pWC->aStatic
pWC->a!=pWC->aStaticDescription
TRUEevaluated 724 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 348223 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
){
724-348223
1156 sqlite3DbFree(db, pWC->a);-
1157 }
executed 724 times by 1 test: end of block
Executed by:
  • Self test (438)
724
1158}
executed 348947 times by 435 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
348947
1159-
1160-
1161-
1162-
1163-
1164-
1165-
1166Bitmask sqlite3WhereExprUsageNN(WhereMaskSet *pMaskSet, Expr *p){-
1167 Bitmask mask;-
1168 if( p->op==158
p->op==158Description
TRUEevaluated 911015 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 1487089 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
&& !(((p)->flags&(0x000008))!=0)
!(((p)->flags&(0x000008))!=0)Description
TRUEevaluated 910899 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 116 times by 1 test
Evaluated by:
  • Self test (438)
){
116-1487089
1169 return
executed 910899 times by 368 tests: return sqlite3WhereGetMask(pMaskSet, p->iTable);
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
sqlite3WhereGetMask(pMaskSet, p->iTable);
executed 910899 times by 368 tests: return sqlite3WhereGetMask(pMaskSet, p->iTable);
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
910899
1170 }else if( (((
(((p)->flags&(...0x800000))!=0)Description
TRUEevaluated 561752 times by 366 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 925453 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
p)->flags&(0x004000|0x800000))!=0)
(((p)->flags&(...0x800000))!=0)Description
TRUEevaluated 561752 times by 366 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 925453 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
561752-925453
1171 -
1172 ((void) (0))-
1173 ;-
1174 return
executed 561752 times by 366 tests: return 0;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
0;
executed 561752 times by 366 tests: return 0;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
561752
1175 }-
1176 mask = (
(p->op==167)Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 925445 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
p->op==167)
(p->op==167)Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 925445 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
? sqlite3WhereGetMask(pMaskSet, p->iTable) : 0;
8-925445
1177 if( p->pLeft
p->pLeftDescription
TRUEevaluated 674440 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 251013 times by 30 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
) mask |= sqlite3WhereExprUsageNN(pMaskSet, p->pLeft);
executed 674440 times by 368 tests: mask |= sqlite3WhereExprUsageNN(pMaskSet, p->pLeft);
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
251013-674440
1178 if( p->pRight
p->pRightDescription
TRUEevaluated 490167 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 435286 times by 30 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
){
435286-490167
1179 mask |= sqlite3WhereExprUsageNN(pMaskSet, p->pRight);-
1180 -
1181 ((void) (0))-
1182 ;-
1183 }
executed 490167 times by 368 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
else if( (((
(((p)->flags&(0x000800))!=0)Description
TRUEevaluated 43869 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 391417 times by 30 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
p)->flags&(0x000800))!=0)
(((p)->flags&(0x000800))!=0)Description
TRUEevaluated 43869 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 391417 times by 30 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
){
43869-490167
1184 if( (((
(((p)->flags&(0x000020))!=0)Description
TRUEevaluated 187 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 43682 times by 1 test
Evaluated by:
  • Self test (438)
p)->flags&(0x000020))!=0)
(((p)->flags&(0x000020))!=0)Description
TRUEevaluated 187 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 43682 times by 1 test
Evaluated by:
  • Self test (438)
) pMaskSet->bVarSelect = 1;
executed 187 times by 1 test: pMaskSet->bVarSelect = 1;
Executed by:
  • Self test (438)
187-43682
1185 mask |= exprSelectUsage(pMaskSet, p->x.pSelect);-
1186 }
executed 43869 times by 1 test: end of block
Executed by:
  • Self test (438)
else if( p->x.pList
p->x.pListDescription
TRUEevaluated 166308 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 225109 times by 30 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (39)
  • Self test (438)
  • Self test (47)
  • Self test (48)
  • Self test (57)
  • Self test (58)
  • Self test (72)
  • Self test (73)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • ...
){
43869-225109
1187 mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);-
1188 }
executed 166308 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
166308
1189 return
executed 925453 times by 368 tests: return mask;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
mask;
executed 925453 times by 368 tests: return mask;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
925453
1190}-
1191Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){-
1192 return
executed 1158185 times by 368 tests: return p ? sqlite3WhereExprUsageNN(pMaskSet,p) : 0;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
p
pDescription
TRUEevaluated 961060 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 197125 times by 4 tests
Evaluated by:
  • Self test (24)
  • Self test (28)
  • Self test (438)
  • Self test (47)
? sqlite3WhereExprUsageNN(pMaskSet,p) : 0;
executed 1158185 times by 368 tests: return p ? sqlite3WhereExprUsageNN(pMaskSet,p) : 0;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
197125-1158185
1193}-
1194Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){-
1195 int i;-
1196 Bitmask mask = 0;-
1197 if( pList
pListDescription
TRUEevaluated 235083 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 114310 times by 1 test
Evaluated by:
  • Self test (438)
){
114310-235083
1198 for(i=0; i<pList->nExpr
i<pList->nExprDescription
TRUEevaluated 444920 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 235083 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
; i++){
235083-444920
1199 mask |= sqlite3WhereExprUsage(pMaskSet, pList->a[i].pExpr);-
1200 }
executed 444920 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
444920
1201 }
executed 235083 times by 2 tests: end of block
Executed by:
  • Self test (34)
  • Self test (438)
235083
1202 return
executed 349393 times by 2 tests: return mask;
Executed by:
  • Self test (34)
  • Self test (438)
mask;
executed 349393 times by 2 tests: return mask;
Executed by:
  • Self test (34)
  • Self test (438)
349393
1203}-
1204void sqlite3WhereExprAnalyze(-
1205 SrcList *pTabList,-
1206 WhereClause *pWC-
1207){-
1208 int i;-
1209 for(i=pWC->nTerm-1; i>=0
i>=0Description
TRUEevaluated 246840 times by 368 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 348947 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
; i--){
246840-348947
1210 exprAnalyze(pTabList, pWC, i);-
1211 }
executed 246840 times by 368 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
246840
1212}
executed 348947 times by 435 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
348947
1213void sqlite3WhereTabFuncArgs(-
1214 Parse *pParse,-
1215 struct SrcList_item *pItem,-
1216 WhereClause *pWC-
1217){-
1218 Table *pTab;-
1219 int j, k;-
1220 ExprList *pArgs;-
1221 Expr *pColRef;-
1222 Expr *pTerm;-
1223 if( pItem->fg.isTabFunc==0
pItem->fg.isTabFunc==0Description
TRUEevaluated 270755 times by 435 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
FALSEevaluated 8782 times by 1 test
Evaluated by:
  • Self test (438)
) return;
executed 270755 times by 435 tests: return;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • ...
8782-270755
1224 pTab = pItem->pTab;-
1225 -
1226 ((void) (0))-
1227 ;-
1228 pArgs = pItem->u1.pFuncArg;-
1229 if( pArgs==0
pArgs==0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 8780 times by 1 test
Evaluated by:
  • Self test (438)
) return;
executed 2 times by 1 test: return;
Executed by:
  • Self test (438)
2-8780
1230 for(j=k=0; j<pArgs->nExpr
j<pArgs->nExprDescription
TRUEevaluated 17391 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 8779 times by 1 test
Evaluated by:
  • Self test (438)
; j++){
8779-17391
1231 while( k<pTab->nCol
k<pTab->nColDescription
TRUEevaluated 69880 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
&& (
(pTab->aCol[k]...s & 0x0002)==0Description
TRUEevaluated 52490 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 17390 times by 1 test
Evaluated by:
  • Self test (438)
pTab->aCol[k].colFlags & 0x0002)==0
(pTab->aCol[k]...s & 0x0002)==0Description
TRUEevaluated 52490 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 17390 times by 1 test
Evaluated by:
  • Self test (438)
){k++;}
executed 52490 times by 1 test: end of block
Executed by:
  • Self test (438)
1-69880
1232 if( k>=pTab->nCol
k>=pTab->nColDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 17390 times by 1 test
Evaluated by:
  • Self test (438)
){
1-17390
1233 sqlite3ErrorMsg(pParse, "too many arguments on %s() - max %d",-
1234 pTab->zName, j);-
1235 return;
executed 1 time by 1 test: return;
Executed by:
  • Self test (438)
1
1236 }-
1237 pColRef = sqlite3ExprAlloc(pParse->db, 158, 0, 0);-
1238 if( pColRef==0
pColRef==0Description
TRUEnever evaluated
FALSEevaluated 17390 times by 1 test
Evaluated by:
  • Self test (438)
) return;
never executed: return;
0-17390
1239 pColRef->iTable = pItem->iCursor;-
1240 pColRef->iColumn = k++;-
1241 pColRef->y.pTab = pTab;-
1242 pTerm = sqlite3PExpr(pParse, 53, pColRef,-
1243 sqlite3ExprDup(pParse->db, pArgs->a[j].pExpr, 0));-
1244 whereClauseInsert(pWC, pTerm, 0x01);-
1245 }
executed 17390 times by 1 test: end of block
Executed by:
  • Self test (438)
17390
1246}
executed 8779 times by 1 test: end of block
Executed by:
  • Self test (438)
8779
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2