line |
true |
false |
branch |
117
|
0 |
433 |
if( p->magic!=VDBE_MAGIC_RUN ){ |
121
|
0 |
433 |
if( sqliteSafetyOn(db) ){ |
125
|
0 |
433 |
if( p->explain ){ |
130
|
97 |
336 |
if( rc==SQLITE_DONE || rc==SQLITE_ROW ){ |
|
95 |
2 |
if( rc==SQLITE_DONE || rc==SQLITE_ROW ){ |
131
|
431 |
0 |
if( pazColName ) *pazColName = (const char**)p->azColName; |
132
|
431 |
0 |
if( pN ) *pN = p->nResColumn; |
134
|
2 |
0 |
if( pazColName) *pazColName = 0; |
135
|
2 |
0 |
if( pN ) *pN = 0; |
137
|
433 |
0 |
if( pazValue ){ |
138
|
95 |
338 |
if( rc==SQLITE_ROW ){ |
144
|
0 |
433 |
if( sqliteSafetyOff(db) ){ |
162
|
0 |
16 |
if( pElem==0 ) return 1; |
167
|
0 |
16 |
if( pOld!=0 ){ |
172
|
19 |
16 |
for(i=0, pMem=pElem->aMem; inMem; i++, pMem++){ |
185
|
0 |
0 |
if( pElem==0 ){ |
189
|
0 |
0 |
return pElem ? sqliteHashData(pElem) : 0; |
199
|
2 |
56 |
if( fg & MEM_Real ){ |
201
|
43 |
13 |
}else if( fg & MEM_Int ){ |
223
|
0 |
0 |
if( (fg & MEM_Str)==0 ){ |
228
|
0 |
0 |
if( z==0 ) return 1; |
252
|
0 |
0 |
if( z==0 ) return 1; |
271
|
1098 |
510 |
while( N>0 ){ |
273
|
102 |
996 |
Release(pTos); |
292
|
0 |
27 |
if( *zNum=='-' ){ |
295
|
0 |
27 |
}else if( *zNum=='+' ){ |
301
|
27 |
27 |
for(i=0; (c=zNum[i])>='0' && c<='9'; i++){ |
|
27 |
0 |
for(i=0; (c=zNum[i])>='0' && c<='9'; i++){ |
304
|
0 |
27 |
*pNum = neg ? -v : v; |
305
|
27 |
0 |
return c==0 && i>0 && (i<10 || (i==10 && memcmp(zNum,"2147483647",10)<=0)); |
|
27 |
0 |
return c==0 && i>0 && (i<10 || (i==10 && memcmp(zNum,"2147483647",10)<=0)); |
|
0 |
27 |
return c==0 && i>0 && (i<10 || (i==10 && memcmp(zNum,"2147483647",10)<=0)); |
|
0 |
0 |
return c==0 && i>0 && (i<10 || (i==10 && memcmp(zNum,"2147483647",10)<=0)); |
|
0 |
0 |
return c==0 && i>0 && (i<10 || (i==10 && memcmp(zNum,"2147483647",10)<=0)); |
317
|
0 |
0 |
if( pStack->flags & MEM_Real ){ |
319
|
0 |
0 |
Release(pStack); |
320
|
0 |
0 |
}else if( pStack->flags & MEM_Str ){ |
322
|
0 |
0 |
Release(pStack); |
337
|
0 |
0 |
if( pStack->flags & MEM_Str ){ |
339
|
0 |
0 |
}else if( pStack->flags & MEM_Int ){ |
360
|
31 |
150 |
while( pLeft && pRight ){ |
|
21 |
10 |
while( pLeft && pRight ){ |
362
|
10 |
11 |
if( c<=0 ){ |
371
|
10 |
150 |
if( pLeft ){ |
373
|
117 |
33 |
}else if( pRight ){ |
389
|
0 |
0 |
for(i=0; i
|
|
0 |
0 |
for(i=0; i
|
391
|
0 |
0 |
if( c=='\r' || c=='\n' ){ |
|
0 |
0 |
if( c=='\r' || c=='\n' ){ |
392
|
0 |
0 |
if( c=='\r' ){ |
395
|
0 |
0 |
if( c!=EOF && c!='\n' ) ungetc(c, in); |
|
0 |
0 |
if( c!=EOF && c!='\n' ) ungetc(c, in); |
402
|
0 |
0 |
return i>0 ? zBuf : 0; |
414
|
201 |
17 |
if( mxCursor>=p->nCursor ){ |
416
|
0 |
201 |
if( aCsr==0 ) return 1; |
502
|
0 |
433 |
if( p->magic!=VDBE_MAGIC_RUN ) return SQLITE_MISUSE; |
507
|
0 |
433 |
if( sqlite_malloc_failed ) goto no_mem; |
509
|
91 |
342 |
if( p->popStack ){ |
513
|
0 |
433 |
CHECK_FOR_INTERRUPT; |
514
|
4575 |
1 |
for(pc=p->pc; rc==SQLITE_OK; pc++){ |
550
|
0 |
4575 |
if( db->xProgress ){ |
551
|
0 |
0 |
if( db->nProgressOps==nProgressOps ){ |
552
|
0 |
0 |
if( db->xProgress(db->pProgressArg)!=0 ){ |
600
|
0 |
37 |
CHECK_FOR_INTERRUPT; |
616
|
0 |
0 |
if( p->returnDepth>=sizeof(p->returnStack)/sizeof(p->returnStack[0]) ){ |
633
|
0 |
0 |
if( p->returnDepth<=0 ){ |
663
|
1 |
336 |
if( pOp->p1!=SQLITE_OK ){ |
666
|
1 |
0 |
if( pOp->p3 ){ |
685
|
94 |
292 |
if( pOp->p3 ){ |
701
|
94 |
215 |
if( z==0 ){ |
723
|
0 |
0 |
if( j>=0 && jnVar && p->azVar[j]!=0 ){ |
|
0 |
0 |
if( j>=0 && jnVar && p->azVar[j]!=0 ){ |
|
0 |
0 |
if( j>=0 && jnVar && p->azVar[j]!=0 ){ |
764
|
31 |
49 |
if( pTos->flags & MEM_Str ){ |
765
|
31 |
0 |
if( pOp->p2 && (pTos->flags & (MEM_Dyn|MEM_Ephem)) ){ |
|
0 |
31 |
if( pOp->p2 && (pTos->flags & (MEM_Dyn|MEM_Ephem)) ){ |
768
|
0 |
31 |
}else if( pTos->flags & MEM_Short ){ |
771
|
0 |
31 |
}else if( (pTos->flags & MEM_Static)==0 ){ |
773
|
0 |
0 |
if( sqlite_malloc_failed ) goto no_mem; |
798
|
0 |
48 |
Deephemeralize(pTos); |
|
0 |
0 |
Deephemeralize(pTos); |
799
|
48 |
48 |
for(i=0; ip1; i++, pFrom++){ |
800
|
0 |
48 |
Deephemeralize(&pFrom[1]); |
|
0 |
0 |
Deephemeralize(&pFrom[1]); |
803
|
0 |
48 |
if( pFrom->flags & MEM_Short ){ |
810
|
3 |
45 |
if( pTos->flags & MEM_Short ){ |
828
|
0 |
0 |
Deephemeralize(pTos); |
|
0 |
0 |
Deephemeralize(pTos); |
829
|
0 |
0 |
Release(pTo); |
831
|
0 |
0 |
if( pTo->flags & MEM_Short ){ |
854
|
123 |
667 |
if( pOp->p2 ) p->nResColumn = pOp->p1+1; |
871
|
185 |
80 |
for(i=0; ip1; i++, pCol++){ |
872
|
17 |
168 |
if( pCol->flags & MEM_Null ){ |
875
|
18 |
150 |
Stringify(pCol); |
912
|
0 |
0 |
if( zSep==0 ) zSep = ""; |
917
|
0 |
0 |
for(i=0; i
|
918
|
0 |
0 |
if( pTerm->flags & MEM_Null ){ |
922
|
0 |
0 |
Stringify(pTerm); |
926
|
0 |
0 |
if( nByte<0 ){ |
927
|
0 |
0 |
if( pOp->p2==0 ){ |
935
|
0 |
0 |
if( zNew==0 ) goto no_mem; |
938
|
0 |
0 |
for(i=j=0; i
|
942
|
0 |
0 |
if( nSep>0 && i
|
|
0 |
0 |
if( nSep>0 && i
|
948
|
0 |
0 |
if( pOp->p2==0 ){ |
1011
|
0 |
0 |
if( ((pTos->flags | pNos->flags) & MEM_Null)!=0 ){ |
1012
|
0 |
0 |
Release(pTos); |
1014
|
0 |
0 |
Release(pTos); |
1016
|
0 |
0 |
}else if( (pTos->flags & pNos->flags & MEM_Int)==MEM_Int ){ |
1025
|
0 |
0 |
if( a==0 ) goto divide_by_zero; |
1030
|
0 |
0 |
if( a==0 ) goto divide_by_zero; |
1035
|
0 |
0 |
Release(pTos); |
1037
|
0 |
0 |
Release(pTos); |
1042
|
0 |
0 |
Realify(pTos); |
1043
|
0 |
0 |
Realify(pNos); |
1051
|
0 |
0 |
if( a==0.0 ) goto divide_by_zero; |
1058
|
0 |
0 |
if( ia==0.0 ) goto divide_by_zero; |
1063
|
0 |
0 |
Release(pTos); |
1065
|
0 |
0 |
Release(pTos); |
1072
|
0 |
0 |
Release(pTos); |
1074
|
0 |
0 |
Release(pTos); |
1096
|
92 |
65 |
for(i=0; i
|
1097
|
2 |
90 |
if( pArg->flags & MEM_Null ){ |
1100
|
0 |
90 |
Stringify(pArg); |
1109
|
0 |
65 |
if( sqliteSafetyOff(db) ) goto abort_due_to_misuse; |
1111
|
0 |
65 |
if( sqliteSafetyOn(db) ) goto abort_due_to_misuse; |
1115
|
24 |
41 |
if( pTos->flags & MEM_Short ){ |
1118
|
1 |
64 |
if( ctx.isError ){ |
1119
|
1 |
0 |
sqliteSetString(&p->zErrMsg, |
1162
|
0 |
0 |
if( (pTos->flags | pNos->flags) & MEM_Null ){ |
1168
|
0 |
0 |
Integerify(pTos); |
1169
|
0 |
0 |
Integerify(pNos); |
1182
|
0 |
0 |
Release(pTos); |
1197
|
0 |
0 |
Integerify(pTos); |
1215
|
0 |
0 |
if( (pTos->flags & (MEM_Int|MEM_Real))==0 |
1216
|
0 |
0 |
&& ((pTos->flags & MEM_Str)==0 || sqliteIsNumber(pTos->z)==0) ){ |
|
0 |
0 |
&& ((pTos->flags & MEM_Str)==0 || sqliteIsNumber(pTos->z)==0) ){ |
1217
|
0 |
0 |
Release(pTos); |
1222
|
0 |
0 |
if( pTos->flags & MEM_Int ){ |
1225
|
0 |
0 |
Realify(pTos); |
1227
|
0 |
0 |
if( pTos->r>(double)v ) v++; |
1228
|
0 |
0 |
if( pOp->p1 && pTos->r==(double)v ) v++; |
|
0 |
0 |
if( pOp->p1 && pTos->r==(double)v ) v++; |
1230
|
0 |
0 |
Release(pTos); |
1249
|
0 |
0 |
if( pTos->flags & MEM_Int ){ |
1251
|
0 |
0 |
}else if( pTos->flags & MEM_Real ){ |
1254
|
0 |
0 |
if( r!=pTos->r ){ |
1258
|
0 |
0 |
}else if( pTos->flags & MEM_Str ){ |
1260
|
0 |
0 |
if( !toInt(pTos->z, &v) ){ |
1262
|
0 |
0 |
if( !sqliteIsNumber(pTos->z) ){ |
1265
|
0 |
0 |
Realify(pTos); |
1268
|
0 |
0 |
if( r!=pTos->r ){ |
1276
|
0 |
0 |
Release(pTos); |
1281
|
0 |
0 |
if( pOp->p2==0 ){ |
1285
|
0 |
0 |
if( pOp->p1 ) popStack(&pTos, 1); |
1414
|
4 |
42 |
if( (ft | fn) & MEM_Null ){ |
1416
|
4 |
0 |
if( pOp->p2 ){ |
1417
|
4 |
0 |
if( pOp->p1 ) pc = pOp->p2-1; |
1423
|
0 |
42 |
}else if( (ft & fn & MEM_Int)==MEM_Int ){ |
1425
|
27 |
15 |
}else if( (ft & MEM_Int)!=0 && (fn & MEM_Str)!=0 && toInt(pNos->z,&v) ){ |
|
27 |
0 |
}else if( (ft & MEM_Int)!=0 && (fn & MEM_Str)!=0 && toInt(pNos->z,&v) ){ |
|
27 |
0 |
}else if( (ft & MEM_Int)!=0 && (fn & MEM_Str)!=0 && toInt(pNos->z,&v) ){ |
1427
|
0 |
15 |
}else if( (fn & MEM_Int)!=0 && (ft & MEM_Str)!=0 && toInt(pTos->z,&v) ){ |
|
0 |
0 |
}else if( (fn & MEM_Int)!=0 && (ft & MEM_Str)!=0 && toInt(pTos->z,&v) ){ |
|
0 |
0 |
}else if( (fn & MEM_Int)!=0 && (ft & MEM_Str)!=0 && toInt(pTos->z,&v) ){ |
1430
|
0 |
15 |
Stringify(pTos); |
1431
|
0 |
15 |
Stringify(pNos); |
1443
|
42 |
0 |
if( pOp->p2 ){ |
1444
|
10 |
32 |
if( c ) pc = pOp->p2-1; |
1568
|
0 |
0 |
if( (pNos->flags | pTos->flags) & MEM_Null ){ |
1570
|
0 |
0 |
if( pOp->p2 ){ |
1571
|
0 |
0 |
if( pOp->p1 ) pc = pOp->p2-1; |
1578
|
0 |
0 |
Stringify(pTos); |
1579
|
0 |
0 |
Stringify(pNos); |
1596
|
0 |
0 |
if( pOp->p2 ){ |
1597
|
0 |
0 |
if( c ) pc = pOp->p2-1; |
1624
|
0 |
0 |
if( pTos->flags & MEM_Null ){ |
1627
|
0 |
0 |
Integerify(pTos); |
1630
|
0 |
0 |
if( pNos->flags & MEM_Null ){ |
1633
|
0 |
0 |
Integerify(pNos); |
1636
|
0 |
0 |
if( pOp->opcode==OP_And ){ |
1645
|
0 |
0 |
if( v1==2 ){ |
1669
|
0 |
0 |
if( pTos->flags & MEM_Real ){ |
1670
|
0 |
0 |
Release(pTos); |
1671
|
0 |
0 |
if( pOp->opcode==OP_Negative || pTos->r<0.0 ){ |
|
0 |
0 |
if( pOp->opcode==OP_Negative || pTos->r<0.0 ){ |
1675
|
0 |
0 |
}else if( pTos->flags & MEM_Int ){ |
1676
|
0 |
0 |
Release(pTos); |
1677
|
0 |
0 |
if( pOp->opcode==OP_Negative || pTos->i<0 ){ |
|
0 |
0 |
if( pOp->opcode==OP_Negative || pTos->i<0 ){ |
1681
|
0 |
0 |
}else if( pTos->flags & MEM_Null ){ |
1684
|
0 |
0 |
Realify(pTos); |
1685
|
0 |
0 |
Release(pTos); |
1686
|
0 |
0 |
if( pOp->opcode==OP_Negative || pTos->r<0.0 ){ |
|
0 |
0 |
if( pOp->opcode==OP_Negative || pTos->r<0.0 ){ |
1702
|
0 |
0 |
if( pTos->flags & MEM_Null ) break; /* Do nothing to NULLs */ |
1703
|
0 |
0 |
Integerify(pTos); |
1704
|
0 |
0 |
Release(pTos); |
1718
|
0 |
0 |
if( pTos->flags & MEM_Null ) break; /* Do nothing to NULLs */ |
1719
|
0 |
0 |
Integerify(pTos); |
1720
|
0 |
0 |
Release(pTos); |
1759
|
0 |
26 |
if( pTos->flags & MEM_Null ){ |
1762
|
0 |
26 |
Integerify(pTos); |
1764
|
26 |
0 |
if( pOp->opcode==OP_IfNot ) c = !c; |
1768
|
16 |
10 |
if( c ) pc = pOp->p2-1; |
1782
|
0 |
0 |
if( cnt<0 ) cnt = -cnt; |
1785
|
0 |
0 |
for(i=0; i
|
1786
|
0 |
0 |
if( pTerm->flags & MEM_Null ){ |
1791
|
0 |
0 |
if( pOp->p1>0 ) popStack(&pTos, cnt); |
1804
|
34 |
33 |
if( cnt<0 ) cnt = -cnt; |
1806
|
67 |
63 |
for(i=0; i
|
|
63 |
4 |
for(i=0; i
|
1807
|
63 |
4 |
if( i>=cnt ) pc = pOp->p2-1; |
1808
|
33 |
34 |
if( pOp->p1>0 ) popStack(&pTos, cnt); |
1867
|
306 |
96 |
for(i=0; i
|
1868
|
15 |
291 |
if( pRec->flags & MEM_Null ){ |
1871
|
27 |
264 |
Stringify(pRec); |
1875
|
0 |
96 |
if( addUnique ) nByte += sizeof(p->uniqueCnt); |
1876
|
95 |
1 |
if( nByte + nField + 1 < 256 ){ |
1878
|
1 |
0 |
}else if( nByte + 2*nField + 2 < 65536 ){ |
1884
|
0 |
96 |
if( nByte>MAX_BYTES_PER_ROW ){ |
1888
|
44 |
52 |
if( nByte<=NBFS ){ |
1892
|
0 |
52 |
if( zNewRecord==0 ) goto no_mem; |
1896
|
306 |
96 |
for(i=0, pRec=&pTos[1-nField]; i
|
1898
|
2 |
304 |
if( idxWidth>1 ){ |
1900
|
0 |
2 |
if( idxWidth>2 ){ |
1904
|
291 |
15 |
if( (pRec->flags & MEM_Null)==0 ){ |
1909
|
1 |
95 |
if( idxWidth>1 ){ |
1911
|
0 |
1 |
if( idxWidth>2 ){ |
1915
|
0 |
96 |
if( addUnique ){ |
1920
|
306 |
96 |
for(i=0, pRec=&pTos[1-nField]; i
|
1921
|
291 |
15 |
if( (pRec->flags & MEM_Null)==0 ){ |
1929
|
44 |
52 |
if( nByte<=NBFS ){ |
2030
|
8 |
7 |
for(j=0, i=0; i
|
2034
|
1 |
7 |
if( flags & MEM_Null ){ |
2037
|
7 |
0 |
}else if( pOp->p3 && pOp->p3[j]=='t' ){ |
|
2 |
5 |
}else if( pOp->p3 && pOp->p3[j]=='t' ){ |
2038
|
0 |
2 |
Stringify(pRec); |
2041
|
4 |
1 |
}else if( (flags & (MEM_Real|MEM_Int))!=0 || sqliteIsNumber(pRec->z) ){ |
|
3 |
1 |
}else if( (flags & (MEM_Real|MEM_Int))!=0 || sqliteIsNumber(pRec->z) ){ |
2042
|
1 |
3 |
if( (flags & (MEM_Real|MEM_Int))==MEM_Int ){ |
2044
|
3 |
0 |
}else if( (flags & (MEM_Real|MEM_Int))==0 ){ |
2047
|
0 |
4 |
Release(pRec); |
2059
|
0 |
7 |
if( nByte+sizeof(u32)>MAX_BYTES_PER_ROW ){ |
2063
|
4 |
3 |
if( addRowid ) nByte += sizeof(u32); |
2064
|
7 |
0 |
if( nByte<=NBFS ){ |
2068
|
0 |
0 |
if( zNewKey==0 ) goto no_mem; |
2072
|
8 |
7 |
for(i=0; i
|
2073
|
1 |
7 |
if( pRec->flags & MEM_Null ){ |
2076
|
4 |
3 |
}else if( pRec->flags==MEM_Real ){ |
2087
|
4 |
3 |
if( addRowid ){ |
2091
|
0 |
4 |
Integerify(pRec); |
2095
|
2 |
2 |
if( pOp->p2 && containsNull ) pc = pOp->p2 - 1; |
|
0 |
2 |
if( pOp->p2 && containsNull ) pc = pOp->p2 - 1; |
2097
|
3 |
0 |
if( pOp->p2==0 ) popStack(&pTos, nField); |
2101
|
7 |
0 |
if( nByte<=NBFS ){ |
2146
|
0 |
0 |
if( i>=0 && inDb && db->aDb[i].pBt && db->aDb[i].inTrans==1 ){ |
|
0 |
0 |
if( i>=0 && inDb && db->aDb[i].pBt && db->aDb[i].inTrans==1 ){ |
|
0 |
0 |
if( i>=0 && inDb && db->aDb[i].pBt && db->aDb[i].inTrans==1 ){ |
|
0 |
0 |
if( i>=0 && inDb && db->aDb[i].pBt && db->aDb[i].inTrans==1 ){ |
2148
|
0 |
0 |
if( rc==SQLITE_OK ) db->aDb[i].inTrans = 2; |
2173
|
0 |
153 |
if( db->aDb[i].inTrans ) break; |
2174
|
306 |
0 |
while( db->aDb[i].pBt!=0 && busy ){ |
|
153 |
153 |
while( db->aDb[i].pBt!=0 && busy ){ |
2178
|
0 |
0 |
if( db->xBusyCallback==0 ){ |
2184
|
0 |
0 |
}else if( (*db->xBusyCallback)(db->pBusyArg, "", busy++)==0 ){ |
2219
|
0 |
73 |
if( db->xCommitCallback!=0 ){ |
2220
|
0 |
0 |
if( sqliteSafetyOff(db) ) goto abort_due_to_misuse; |
2221
|
0 |
0 |
if( db->xCommitCallback(db->pCommitArg)!=0 ){ |
2224
|
0 |
0 |
if( sqliteSafetyOn(db) ) goto abort_due_to_misuse; |
2226
|
219 |
0 |
for(i=0; rc==SQLITE_OK && inDb; i++){ |
|
146 |
73 |
for(i=0; rc==SQLITE_OK && inDb; i++){ |
2227
|
143 |
3 |
if( db->aDb[i].inTrans ){ |
2232
|
73 |
0 |
if( rc==SQLITE_OK ){ |
2299
|
0 |
53 |
Integerify(pTos) |
2301
|
53 |
0 |
if( rc==SQLITE_OK ){ |
2305
|
0 |
53 |
Release(pTos); |
2330
|
147 |
0 |
if( rc==SQLITE_OK && aMeta[1]!=pOp->p2 ){ |
|
0 |
147 |
if( rc==SQLITE_OK && aMeta[1]!=pOp->p2 ){ |
2391
|
0 |
215 |
Integerify(pTos); |
2398
|
1 |
214 |
if( p2<=0 ){ |
2400
|
0 |
1 |
Integerify(pTos); |
2403
|
0 |
1 |
if( p2<2 ){ |
2410
|
0 |
215 |
if( expandCursorArraySize(p, i) ) goto no_mem; |
2414
|
0 |
215 |
if( pX==0 ) break; |
2419
|
0 |
0 |
if( db->xBusyCallback==0 ){ |
2422
|
0 |
0 |
p->pTos = &pTos[1 + (pOp->p2<=0)]; /* Operands must remain on stack */ |
2424
|
0 |
0 |
}else if( (*db->xBusyCallback)(db->pBusyArg, pOp->p3, ++busy)==0 ){ |
2438
|
0 |
215 |
}while( busy ); |
2464
|
0 |
3 |
if( expandCursorArraySize(p, i) ) goto no_mem; |
2471
|
3 |
0 |
if( rc==SQLITE_OK ){ |
2474
|
3 |
0 |
if( rc==SQLITE_OK ){ |
2475
|
0 |
3 |
if( pOp->p2 ){ |
2478
|
0 |
0 |
if( rc==SQLITE_OK ){ |
2502
|
0 |
0 |
if( expandCursorArraySize(p, i) ) goto no_mem; |
2518
|
198 |
0 |
if( i>=0 && inCursor ){ |
|
198 |
0 |
if( i>=0 && inCursor ){ |
2553
|
0 |
0 |
if( pC->pCursor!=0 ){ |
2556
|
0 |
0 |
if( pTos->flags & MEM_Int ){ |
2558
|
0 |
0 |
if( pOp->p2==0 && pOp->opcode==OP_MoveTo ){ |
|
0 |
0 |
if( pOp->p2==0 && pOp->opcode==OP_MoveTo ){ |
2561
|
0 |
0 |
Release(pTos); |
2569
|
0 |
0 |
Stringify(pTos); |
2576
|
0 |
0 |
if( oc==OP_MoveTo && res<0 ){ |
|
0 |
0 |
if( oc==OP_MoveTo && res<0 ){ |
2579
|
0 |
0 |
if( res && pOp->p2>0 ){ |
|
0 |
0 |
if( res && pOp->p2>0 ){ |
2582
|
0 |
0 |
}else if( oc==OP_MoveLt ){ |
2583
|
0 |
0 |
if( res>=0 ){ |
2591
|
0 |
0 |
res = sqliteBtreeKeySize(pC->pCursor,&keysize)!=0 || keysize==0; |
|
0 |
0 |
res = sqliteBtreeKeySize(pC->pCursor,&keysize)!=0 || keysize==0; |
2593
|
0 |
0 |
if( res && pOp->p2>0 ){ |
|
0 |
0 |
if( res && pOp->p2>0 ){ |
2598
|
0 |
0 |
Release(pTos); |
2644
|
0 |
0 |
if( (pC = &p->aCsr[i])->pCursor!=0 ){ |
2646
|
0 |
0 |
Stringify(pTos); |
2648
|
0 |
0 |
alreadyExists = rx==SQLITE_OK && res==0; |
|
0 |
0 |
alreadyExists = rx==SQLITE_OK && res==0; |
2651
|
0 |
0 |
if( pOp->opcode==OP_Found ){ |
2652
|
0 |
0 |
if( alreadyExists ) pc = pOp->p2 - 1; |
2654
|
0 |
0 |
if( !alreadyExists ) pc = pOp->p2 - 1; |
2656
|
0 |
0 |
if( pOp->opcode!=OP_Distinct ){ |
2657
|
0 |
0 |
Release(pTos); |
2692
|
0 |
2 |
Integerify(pTos); |
2696
|
2 |
0 |
if( (pCrsr = p->aCsr[i].pCursor)!=0 ){ |
2704
|
0 |
2 |
Stringify(pNos); |
2714
|
0 |
2 |
if( rc!=SQLITE_OK ) goto abort_due_to_error; |
2715
|
1 |
1 |
if( res<0 ){ |
2717
|
1 |
0 |
if( res ){ |
2723
|
0 |
1 |
if( rc!=SQLITE_OK ) goto abort_due_to_error; |
2724
|
0 |
1 |
if( res>0 ){ |
2736
|
0 |
1 |
if( v==R ){ |
2771
|
6 |
0 |
if( (pCrsr = p->aCsr[i].pCursor)!=0 ){ |
2779
|
6 |
0 |
if( rx!=SQLITE_OK || res!=0 ){ |
|
0 |
6 |
if( rx!=SQLITE_OK || res!=0 ){ |
2784
|
0 |
6 |
Release(pTos); |
2801
|
0 |
97 |
if( (pC = &p->aCsr[i])->pCursor==0 ){ |
2837
|
97 |
0 |
if( !pC->useRandomRowid ){ |
2838
|
27 |
70 |
if( pC->nextRowidValid ){ |
2842
|
35 |
35 |
if( res ){ |
2847
|
0 |
35 |
if( v==0x7fffffff ){ |
2854
|
97 |
0 |
if( v<0x7fffffff ){ |
2861
|
0 |
97 |
if( pC->useRandomRowid ){ |
2865
|
0 |
0 |
if( v==0 || cnt>2 ){ |
|
0 |
0 |
if( v==0 || cnt>2 ){ |
2867
|
0 |
0 |
if( cnt<5 ) v &= 0xffffff; |
2873
|
0 |
0 |
if( v==0 ) continue; |
2877
|
0 |
0 |
}while( cnt<1000 && rx==SQLITE_OK && res==0 ); |
|
0 |
0 |
}while( cnt<1000 && rx==SQLITE_OK && res==0 ); |
|
0 |
0 |
}while( cnt<1000 && rx==SQLITE_OK && res==0 ); |
2879
|
0 |
0 |
if( rx==SQLITE_OK && res==0 ){ |
|
0 |
0 |
if( rx==SQLITE_OK && res==0 ){ |
2925
|
0 |
118 |
if( ((pC = &p->aCsr[i])->pCursor!=0 || pC->pseudoTable) ){ |
|
0 |
0 |
if( ((pC = &p->aCsr[i])->pCursor!=0 || pC->pseudoTable) ){ |
2928
|
0 |
118 |
if( pOp->opcode==OP_PutStrKey ){ |
2929
|
0 |
0 |
Stringify(pNos); |
2937
|
43 |
75 |
if( pOp->p2 & OPFLAG_NCHANGE ) db->nChange++; |
2938
|
43 |
75 |
if( pOp->p2 & OPFLAG_LASTROWID ) db->lastRowid = pNos->i; |
2939
|
43 |
75 |
if( pOp->p2 & OPFLAG_CSCHANGE ) db->csChange++; |
2940
|
118 |
0 |
if( pC->nextRowidValid && pTos->i>=pC->nextRowid ){ |
|
1 |
117 |
if( pC->nextRowidValid && pTos->i>=pC->nextRowid ){ |
2944
|
22 |
96 |
if( pTos->flags & MEM_Null ){ |
2950
|
0 |
118 |
if( pC->pseudoTable ){ |
2959
|
0 |
0 |
if( pTos->flags & MEM_Dyn ){ |
2964
|
0 |
0 |
if( pC->pData ){ |
2999
|
17 |
0 |
if( pC->pCursor!=0 ){ |
3004
|
6 |
11 |
if( pOp->p2 & OPFLAG_NCHANGE ) db->nChange++; |
3005
|
6 |
11 |
if( pOp->p2 & OPFLAG_CSCHANGE ) db->csChange++; |
3061
|
0 |
0 |
if( pC->nullRow ){ |
3063
|
0 |
0 |
}else if( pC->pCursor!=0 ){ |
3066
|
0 |
0 |
if( pC->nullRow ){ |
3069
|
0 |
0 |
}else if( pC->keyAsData || pOp->opcode==OP_RowKey ){ |
|
0 |
0 |
}else if( pC->keyAsData || pOp->opcode==OP_RowKey ){ |
3075
|
0 |
0 |
if( n<=NBFS ){ |
3080
|
0 |
0 |
if( z==0 ) goto no_mem; |
3084
|
0 |
0 |
if( pC->keyAsData || pOp->opcode==OP_RowKey ){ |
|
0 |
0 |
if( pC->keyAsData || pOp->opcode==OP_RowKey ){ |
3089
|
0 |
0 |
}else if( pC->pseudoTable ){ |
3130
|
0 |
386 |
if( i<0 ){ |
3135
|
386 |
0 |
}else if( (pC = &p->aCsr[i])->pCursor!=0 ){ |
3139
|
0 |
386 |
if( pC->nullRow ){ |
3141
|
0 |
386 |
}else if( pC->keyAsData ){ |
3146
|
0 |
0 |
}else if( pC->pseudoTable ){ |
3157
|
0 |
386 |
if( payloadSize==0 ){ |
3160
|
383 |
3 |
}else if( payloadSize<256 ){ |
3162
|
3 |
0 |
}else if( payloadSize<65536 ){ |
3170
|
0 |
386 |
if( payloadSize < idxWidth*(p2+1) ){ |
3174
|
0 |
386 |
if( zRec ){ |
3176
|
0 |
386 |
}else if( pC->keyAsData ){ |
3183
|
3 |
383 |
if( idxWidth>1 ){ |
3186
|
0 |
3 |
if( idxWidth>2 ){ |
3192
|
386 |
0 |
if( amt<0 || offset<0 || end>payloadSize ){ |
|
386 |
0 |
if( amt<0 || offset<0 || end>payloadSize ){ |
|
0 |
386 |
if( amt<0 || offset<0 || end>payloadSize ){ |
3201
|
18 |
368 |
if( amt==0 ){ |
3203
|
0 |
368 |
}else if( zRec ){ |
3207
|
333 |
35 |
if( amt<=NBFS ){ |
3212
|
0 |
35 |
if( z==0 ) goto no_mem; |
3216
|
0 |
368 |
if( pC->keyAsData ){ |
3241
|
0 |
8 |
if( pC->recnoIsValid ){ |
3243
|
0 |
8 |
}else if( pC->pseudoTable ){ |
3245
|
8 |
0 |
}else if( pC->nullRow || pC->pCursor==0 ){ |
|
0 |
8 |
}else if( pC->nullRow || pC->pCursor==0 ){ |
3277
|
0 |
0 |
if( (pCrsr = p->aCsr[i].pCursor)!=0 ){ |
3283
|
0 |
0 |
if( amt<=0 ){ |
3287
|
0 |
0 |
if( amt>NBFS ){ |
3289
|
0 |
0 |
if( z==0 ) goto no_mem; |
3332
|
0 |
0 |
if( (pCrsr = pC->pCursor)!=0 ){ |
3337
|
0 |
0 |
if( res && pOp->p2>0 ){ |
|
0 |
0 |
if( res && pOp->p2>0 ){ |
3361
|
141 |
0 |
if( (pCrsr = pC->pCursor)!=0 ){ |
3367
|
72 |
69 |
if( res && pOp->p2>0 ){ |
|
72 |
0 |
if( res && pOp->p2>0 ){ |
3397
|
0 |
167 |
CHECK_FOR_INTERRUPT; |
3400
|
167 |
0 |
if( (pCrsr = pC->pCursor)!=0 ){ |
3402
|
0 |
167 |
if( pC->nullRow ){ |
3406
|
167 |
0 |
rc = pOp->opcode==OP_Next ? sqliteBtreeNext(pCrsr, &res) : |
3410
|
102 |
65 |
if( res==0 ){ |
3438
|
3 |
0 |
if( (pCrsr = p->aCsr[i].pCursor)!=0 ){ |
3441
|
2 |
1 |
if( pOp->p2 ){ |
3445
|
0 |
2 |
if( rc!=SQLITE_OK ) goto abort_due_to_error; |
3446
|
4 |
0 |
while( res!=0 ){ |
3449
|
1 |
3 |
if( n==nKey |
3450
|
1 |
0 |
&& sqliteBtreeKeyCompare(pCrsr, zKey, nKey-4, 4, &c)==SQLITE_OK |
3451
|
0 |
1 |
&& c==0 |
3454
|
0 |
0 |
if( pOp->p3 && pOp->p3[0] ){ |
|
0 |
0 |
if( pOp->p3 && pOp->p3[0] ){ |
3459
|
2 |
2 |
if( res<0 ){ |
3470
|
0 |
3 |
Release(pTos); |
3486
|
0 |
0 |
if( (pCrsr = p->aCsr[i].pCursor)!=0 ){ |
3489
|
0 |
0 |
if( rx==SQLITE_OK && res==0 ){ |
|
0 |
0 |
if( rx==SQLITE_OK && res==0 ){ |
3494
|
0 |
0 |
Release(pTos); |
3514
|
0 |
0 |
if( (pCrsr = p->aCsr[i].pCursor)!=0 ){ |
3519
|
0 |
0 |
if( sz
|
3566
|
0 |
0 |
if( (pCrsr = p->aCsr[i].pCursor)!=0 ){ |
3569
|
0 |
0 |
Stringify(pTos); |
3572
|
0 |
0 |
if( rc!=SQLITE_OK ){ |
3575
|
0 |
0 |
if( pOp->opcode==OP_IdxLT ){ |
3577
|
0 |
0 |
}else if( pOp->opcode==OP_IdxGE ){ |
3580
|
0 |
0 |
if( res>0 ){ |
3584
|
0 |
0 |
Release(pTos); |
3607
|
0 |
0 |
for(k=0; k0; i--){ |
|
0 |
0 |
for(k=0; k0; i--){ |
3608
|
0 |
0 |
if( z[k]=='a' ){ |
3612
|
0 |
0 |
while( k
|
|
0 |
0 |
while( k
|
3615
|
0 |
0 |
Release(pTos); |
3684
|
22 |
5 |
if( pOp->opcode==OP_CreateTable ){ |
3690
|
27 |
0 |
if( rc==SQLITE_OK ){ |
3731
|
0 |
0 |
if( aRoot==0 ) goto no_mem; |
3732
|
0 |
0 |
for(j=0, i=sqliteHashFirst(&pSet->hash); i; i=sqliteHashNext(i), j++){ |
3739
|
0 |
0 |
if( z==0 || z[0]==0 ){ |
|
0 |
0 |
if( z==0 || z[0]==0 ){ |
3740
|
0 |
0 |
if( z ) sqliteFree(z); |
3762
|
2 |
4 |
if( pKeylist==0 || pKeylist->nUsed>=pKeylist->nKey ){ |
|
0 |
2 |
if( pKeylist==0 || pKeylist->nUsed>=pKeylist->nKey ){ |
3764
|
0 |
4 |
if( pKeylist==0 ) goto no_mem; |
3771
|
0 |
6 |
Integerify(pTos); |
3773
|
0 |
6 |
Release(pTos); |
3788
|
4 |
6 |
while( p->pList ){ |
3806
|
0 |
12 |
CHECK_FOR_INTERRUPT; |
3808
|
6 |
6 |
if( pKeylist!=0 ){ |
3815
|
4 |
2 |
if( pKeylist->nRead>=pKeylist->nUsed ){ |
3830
|
0 |
6 |
if( p->pList ){ |
3847
|
0 |
0 |
if( p->keylistStack==0 ) goto no_mem; |
3864
|
0 |
0 |
if( p->keylistStackDepth == 0 ){ |
3882
|
0 |
0 |
if( p->contextStack==0 ) goto no_mem; |
3901
|
0 |
0 |
if( p->contextStackDepth == 0 ){ |
3918
|
0 |
15 |
if( Dynamicify(pTos) || Dynamicify(pNos) ) goto no_mem; |
|
0 |
0 |
if( Dynamicify(pTos) || Dynamicify(pNos) ) goto no_mem; |
|
0 |
15 |
if( Dynamicify(pTos) || Dynamicify(pNos) ) goto no_mem; |
|
0 |
0 |
if( Dynamicify(pTos) || Dynamicify(pNos) ) goto no_mem; |
3920
|
0 |
15 |
if( pSorter==0 ) goto no_mem; |
3951
|
70 |
15 |
for(i=0; i
|
3952
|
37 |
33 |
if( (pRec->flags & MEM_Null)==0 ){ |
3953
|
0 |
37 |
Stringify(pRec); |
3959
|
0 |
15 |
if( azArg==0 ) goto no_mem; |
3961
|
70 |
15 |
for(pRec=&pTos[1-nField], i=0; i
|
3962
|
33 |
37 |
if( pRec->flags & MEM_Null ){ |
4003
|
35 |
15 |
for(i=0; i
|
4004
|
10 |
25 |
if( pRec->flags & MEM_Null ){ |
4007
|
0 |
25 |
Stringify(pRec); |
4012
|
0 |
15 |
if( zNewKey==0 ) goto no_mem; |
4015
|
35 |
15 |
for(pRec=&pTos[1-nField], i=0; i
|
4016
|
10 |
25 |
if( pRec->flags & MEM_Null ){ |
4046
|
150 |
5 |
for(i=0; i
|
4049
|
15 |
5 |
while( p->pSort ){ |
4053
|
25 |
0 |
for(i=0; i
|
4054
|
15 |
10 |
if( apSorter[i]==0 ){ |
4062
|
0 |
15 |
if( i>=NSORT-1 ){ |
4067
|
150 |
5 |
for(i=0; i
|
4083
|
0 |
20 |
CHECK_FOR_INTERRUPT; |
4084
|
15 |
5 |
if( pSorter!=0 ){ |
4133
|
0 |
0 |
if( p->pFile ){ |
4134
|
0 |
0 |
if( p->pFile!=stdin ) fclose(p->pFile); |
4137
|
0 |
0 |
if( sqliteStrICmp(pOp->p3,"stdin")==0 ){ |
4142
|
0 |
0 |
if( p->pFile==0 ){ |
4165
|
0 |
0 |
CHECK_FOR_INTERRUPT; |
4166
|
0 |
0 |
if( p->pFile==0 ) goto fileread_jump; |
4168
|
0 |
0 |
if( nField<=0 ) goto fileread_jump; |
4169
|
0 |
0 |
if( nField!=p->nField || p->azField==0 ){ |
|
0 |
0 |
if( nField!=p->nField || p->azField==0 ){ |
4171
|
0 |
0 |
if( azField==0 ){ goto no_mem; } |
4177
|
0 |
0 |
while( eol==0 ){ |
4178
|
0 |
0 |
if( p->zLine==0 || n+200>p->nLineAlloc ){ |
|
0 |
0 |
if( p->zLine==0 || n+200>p->nLineAlloc ){ |
4182
|
0 |
0 |
if( zLine==0 ){ |
4190
|
0 |
0 |
if( vdbe_fgets(&p->zLine[n], p->nLineAlloc-n, p->pFile)==0 ){ |
4195
|
0 |
0 |
while( (c = p->zLine[n])!=0 ){ |
4196
|
0 |
0 |
if( c=='\\' ){ |
4197
|
0 |
0 |
if( p->zLine[n+1]==0 ) break; |
4199
|
0 |
0 |
}else if( c=='\n' ){ |
4209
|
0 |
0 |
if( n==0 ) goto fileread_jump; |
4211
|
0 |
0 |
if( z[0]=='\\' && z[1]=='.' && z[2]==0 ){ |
|
0 |
0 |
if( z[0]=='\\' && z[1]=='.' && z[2]==0 ){ |
|
0 |
0 |
if( z[0]=='\\' && z[1]=='.' && z[2]==0 ){ |
4215
|
0 |
0 |
if( zDelim==0 ) zDelim = "\t"; |
4219
|
0 |
0 |
for(i=1; *z!=0 && i<=nField; i++){ |
|
0 |
0 |
for(i=1; *z!=0 && i<=nField; i++){ |
4222
|
0 |
0 |
if( z[0]=='\\' && z[1]=='N' |
|
0 |
0 |
if( z[0]=='\\' && z[1]=='N' |
4223
|
0 |
0 |
&& (z[2]==0 || strncmp(&z[2],zDelim,nDelim)==0) ){ |
|
0 |
0 |
&& (z[2]==0 || strncmp(&z[2],zDelim,nDelim)==0) ){ |
4224
|
0 |
0 |
if( i<=nField ) p->azField[i-1] = 0; |
4226
|
0 |
0 |
if( iazField[i] = z; |
4229
|
0 |
0 |
while( z[from] ){ |
4230
|
0 |
0 |
if( z[from]=='\\' && z[from+1]!=0 ){ |
|
0 |
0 |
if( z[from]=='\\' && z[from+1]!=0 ){ |
4245
|
0 |
0 |
if( z[from]==c && strncmp(&z[from],zDelim,nDelim)==0 ) break; |
|
0 |
0 |
if( z[from]==c && strncmp(&z[from],zDelim,nDelim)==0 ) break; |
4248
|
0 |
0 |
if( z[from] ){ |
4251
|
0 |
0 |
if( iazField[i] = z; |
4257
|
0 |
0 |
while( i
|
4278
|
0 |
0 |
if( p->azField ){ |
4284
|
0 |
0 |
if( z ){ |
4308
|
11 |
0 |
if( i>=p->nMem ){ |
4313
|
0 |
11 |
if( aMem==0 ) goto no_mem; |
4314
|
11 |
0 |
if( aMem!=p->aMem ){ |
4316
|
0 |
11 |
for(j=0; j
|
4317
|
0 |
0 |
if( aMem[j].flags & MEM_Short ){ |
4323
|
11 |
0 |
if( nOldnMem ){ |
4327
|
0 |
11 |
Deephemeralize(pTos); |
|
0 |
0 |
Deephemeralize(pTos); |
4329
|
0 |
11 |
Release(pMem); |
4331
|
0 |
11 |
if( pMem->flags & MEM_Dyn ){ |
4332
|
0 |
0 |
if( pOp->p2 ){ |
4336
|
0 |
0 |
if( pMem->z==0 ) goto no_mem; |
4339
|
0 |
11 |
}else if( pMem->flags & MEM_Short ){ |
4342
|
11 |
0 |
if( pOp->p2 ){ |
4343
|
0 |
11 |
Release(pTos); |
4363
|
11 |
0 |
if( pTos->flags & MEM_Str ){ |
4386
|
0 |
0 |
if( pOp->p2>0 && pMem->i>0 ){ |
|
0 |
0 |
if( pOp->p2>0 && pMem->i>0 ){ |
4401
|
0 |
15 |
if( p->agg.apFunc==0 ) goto no_mem; |
4440
|
6 |
24 |
for(i=0; i
|
4441
|
2 |
4 |
if( pRec->flags & MEM_Null ){ |
4444
|
0 |
4 |
Stringify(pRec); |
4461
|
0 |
24 |
if( ctx.isError ){ |
4487
|
13 |
3 |
Stringify(pTos); |
4491
|
0 |
16 |
if( pElem ){ |
4496
|
0 |
16 |
if( sqlite_malloc_failed ) goto no_mem; |
4498
|
0 |
16 |
Release(pTos); |
4509
|
3 |
0 |
AggElem *pFocus = AggInFocus(p->agg); |
4513
|
0 |
3 |
if( pFocus==0 ) goto no_mem; |
4515
|
0 |
3 |
Deephemeralize(pTos); |
|
0 |
0 |
Deephemeralize(pTos); |
4517
|
0 |
3 |
Release(pMem); |
4519
|
0 |
3 |
if( pMem->flags & MEM_Dyn ){ |
4521
|
2 |
1 |
}else if( pMem->flags & MEM_Short ){ |
4524
|
0 |
3 |
Release(pTos); |
4536
|
16 |
0 |
AggElem *pFocus = AggInFocus(p->agg); |
4539
|
0 |
16 |
if( pFocus==0 ) goto no_mem; |
4544
|
0 |
16 |
if( pTos->flags & MEM_Str ){ |
4564
|
0 |
31 |
CHECK_FOR_INTERRUPT; |
4565
|
15 |
16 |
if( p->agg.pSearch==0 ){ |
4570
|
15 |
16 |
if( p->agg.pSearch==0 ){ |
4578
|
19 |
16 |
for(i=0; iagg.nMem; i++){ |
4580
|
3 |
16 |
if( p->agg.apFunc[i]==0 ) continue; |
4581
|
0 |
16 |
if( p->agg.apFunc[i]->xFinalize==0 ) continue; |
4585
|
10 |
6 |
freeCtx = aMem[i].z && aMem[i].z!=aMem[i].zShort; |
|
0 |
10 |
freeCtx = aMem[i].z && aMem[i].z!=aMem[i].zShort; |
4590
|
0 |
16 |
if( freeCtx ){ |
4594
|
0 |
16 |
if( aMem[i].flags & MEM_Short ){ |
4610
|
6 |
6 |
if( p->nSet<=i ){ |
4613
|
0 |
6 |
if( aSet==0 ) goto no_mem; |
4615
|
6 |
6 |
for(k=p->nSet; k<=i; k++){ |
4620
|
12 |
0 |
if( pOp->p3 ){ |
4624
|
0 |
0 |
Stringify(pTos); |
4626
|
0 |
0 |
Release(pTos); |
4629
|
0 |
12 |
if( sqlite_malloc_failed ) goto no_mem; |
4642
|
0 |
0 |
Stringify(pTos); |
4643
|
0 |
0 |
if( i>=0 && inSet && sqliteHashFind(&p->aSet[i].hash, pTos->z, pTos->n)){ |
|
0 |
0 |
if( i>=0 && inSet && sqliteHashFind(&p->aSet[i].hash, pTos->z, pTos->n)){ |
|
0 |
0 |
if( i>=0 && inSet && sqliteHashFind(&p->aSet[i].hash, pTos->z, pTos->n)){ |
4646
|
0 |
0 |
Release(pTos); |
4660
|
0 |
34 |
Stringify(pTos); |
4661
|
34 |
0 |
if( i<0 || i>=p->nSet || |
4665
|
0 |
34 |
Release(pTos); |
4685
|
0 |
0 |
CHECK_FOR_INTERRUPT; |
4686
|
0 |
0 |
if( pOp->p1<0 || pOp->p1>=p->nSet ){ |
|
0 |
0 |
if( pOp->p1<0 || pOp->p1>=p->nSet ){ |
4687
|
0 |
0 |
if( pOp->opcode==OP_SetFirst ) pc = pOp->p2 - 1; |
4691
|
0 |
0 |
if( pOp->opcode==OP_SetFirst ){ |
4693
|
0 |
0 |
if( pSet->prev==0 ){ |
4698
|
0 |
0 |
if( pSet->prev ){ |
4701
|
0 |
0 |
if( pSet->prev==0 ){ |
4721
|
0 |
0 |
if( sqliteSafetyOff(db) ) goto abort_due_to_misuse; |
4723
|
0 |
0 |
if( sqliteSafetyOn(db) ) goto abort_due_to_misuse; |
4749
|
0 |
0 |
Integerify(pTos); |
4869
|
0 |
1 |
CHECK_FOR_INTERRUPT |
4870
|
1 |
0 |
if( rc ){ |
4898
|
0 |
0 |
if( p->zErrMsg==0 ){ |
4899
|
0 |
0 |
if( sqlite_malloc_failed ) rc = SQLITE_NOMEM; |
4910
|
0 |
0 |
if( db->magic!=SQLITE_MAGIC_BUSY ){ |