OpenCoverage

tokenize.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/sqlite/src/src/tokenize.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/*-
2** 2001 September 15-
3**-
4** The author disclaims copyright to this source code. In place of-
5** a legal notice, here is a blessing:-
6**-
7** May you do good and not evil.-
8** May you find forgiveness for yourself and forgive others.-
9** May you share freely, never taking more than you give.-
10**-
11*************************************************************************-
12** An tokenizer for SQL-
13**-
14** This file contains C code that splits an SQL input string up into-
15** individual tokens and sends those tokens one-by-one over to the-
16** parser for analysis.-
17*/-
18#include "sqliteInt.h"-
19#include <stdlib.h>-
20-
21/* Character classes for tokenizing-
22**-
23** In the sqlite3GetToken() function, a switch() on aiClass[c] is implemented-
24** using a lookup table, whereas a switch() directly on c uses a binary search.-
25** The lookup table is much faster. To maximize speed, and to ensure that-
26** a lookup table is used, all of the classes need to be small integers and-
27** all of them need to be used within the switch.-
28*/-
29#define CC_X 0 /* The letter 'x', or start of BLOB literal */-
30#define CC_KYWD 1 /* Alphabetics or '_'. Usable in a keyword */-
31#define CC_ID 2 /* unicode characters usable in IDs */-
32#define CC_DIGIT 3 /* Digits */-
33#define CC_DOLLAR 4 /* '$' */-
34#define CC_VARALPHA 5 /* '@', '#', ':'. Alphabetic SQL variables */-
35#define CC_VARNUM 6 /* '?'. Numeric SQL variables */-
36#define CC_SPACE 7 /* Space characters */-
37#define CC_QUOTE 8 /* '"', '\'', or '`'. String literals, quoted ids */-
38#define CC_QUOTE2 9 /* '['. [...] style quoted ids */-
39#define CC_PIPE 10 /* '|'. Bitwise OR or concatenate */-
40#define CC_MINUS 11 /* '-'. Minus or SQL-style comment */-
41#define CC_LT 12 /* '<'. Part of < or <= or <> */-
42#define CC_GT 13 /* '>'. Part of > or >= */-
43#define CC_EQ 14 /* '='. Part of = or == */-
44#define CC_BANG 15 /* '!'. Part of != */-
45#define CC_SLASH 16 /* '/'. / or c-style comment */-
46#define CC_LP 17 /* '(' */-
47#define CC_RP 18 /* ')' */-
48#define CC_SEMI 19 /* ';' */-
49#define CC_PLUS 20 /* '+' */-
50#define CC_STAR 21 /* '*' */-
51#define CC_PERCENT 22 /* '%' */-
52#define CC_COMMA 23 /* ',' */-
53#define CC_AND 24 /* '&' */-
54#define CC_TILDA 25 /* '~' */-
55#define CC_DOT 26 /* '.' */-
56#define CC_ILLEGAL 27 /* Illegal character */-
57#define CC_NUL 28 /* 0x00 */-
58-
59static const unsigned char aiClass[] = {-
60#ifdef SQLITE_ASCII-
61/* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xa xb xc xd xe xf */-
62/* 0x */ 28, 27, 27, 27, 27, 27, 27, 27, 27, 7, 7, 27, 7, 7, 27, 27,-
63/* 1x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,-
64/* 2x */ 7, 15, 8, 5, 4, 22, 24, 8, 17, 18, 21, 20, 23, 11, 26, 16,-
65/* 3x */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 19, 12, 14, 13, 6,-
66/* 4x */ 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,-
67/* 5x */ 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 9, 27, 27, 27, 1,-
68/* 6x */ 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,-
69/* 7x */ 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 27, 10, 27, 25, 27,-
70/* 8x */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,-
71/* 9x */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,-
72/* Ax */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,-
73/* Bx */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,-
74/* Cx */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,-
75/* Dx */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,-
76/* Ex */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,-
77/* Fx */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2-
78#endif-
79#ifdef SQLITE_EBCDIC-
80/* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xa xb xc xd xe xf */-
81/* 0x */ 27, 27, 27, 27, 27, 7, 27, 27, 27, 27, 27, 27, 7, 7, 27, 27,-
82/* 1x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,-
83/* 2x */ 27, 27, 27, 27, 27, 7, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,-
84/* 3x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,-
85/* 4x */ 7, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 12, 17, 20, 10,-
86/* 5x */ 24, 27, 27, 27, 27, 27, 27, 27, 27, 27, 15, 4, 21, 18, 19, 27,-
87/* 6x */ 11, 16, 27, 27, 27, 27, 27, 27, 27, 27, 27, 23, 22, 1, 13, 6,-
88/* 7x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 8, 5, 5, 5, 8, 14, 8,-
89/* 8x */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27,-
90/* 9x */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27,-
91/* Ax */ 27, 25, 1, 1, 1, 1, 1, 0, 1, 1, 27, 27, 27, 27, 27, 27,-
92/* Bx */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 9, 27, 27, 27, 27, 27,-
93/* Cx */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27,-
94/* Dx */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27,-
95/* Ex */ 27, 27, 1, 1, 1, 1, 1, 0, 1, 1, 27, 27, 27, 27, 27, 27,-
96/* Fx */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 27, 27, 27, 27, 27, 27,-
97#endif-
98};-
99-
100/*-
101** The charMap() macro maps alphabetic characters (only) into their-
102** lower-case ASCII equivalent. On ASCII machines, this is just-
103** an upper-to-lower case map. On EBCDIC machines we also need-
104** to adjust the encoding. The mapping is only valid for alphabetics-
105** which are the only characters for which this feature is used. -
106**-
107** Used by keywordhash.h-
108*/-
109#ifdef SQLITE_ASCII-
110# define charMap(X) sqlite3UpperToLower[(unsigned char)X]-
111#endif-
112#ifdef SQLITE_EBCDIC-
113# define charMap(X) ebcdicToAscii[(unsigned char)X]-
114const unsigned char ebcdicToAscii[] = {-
115/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */-
116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x */-
117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1x */-
118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 2x */-
119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 3x */-
120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 4x */-
121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 5x */-
122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, /* 6x */-
123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 7x */-
124 0, 97, 98, 99,100,101,102,103,104,105, 0, 0, 0, 0, 0, 0, /* 8x */-
125 0,106,107,108,109,110,111,112,113,114, 0, 0, 0, 0, 0, 0, /* 9x */-
126 0, 0,115,116,117,118,119,120,121,122, 0, 0, 0, 0, 0, 0, /* Ax */-
127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* Bx */-
128 0, 97, 98, 99,100,101,102,103,104,105, 0, 0, 0, 0, 0, 0, /* Cx */-
129 0,106,107,108,109,110,111,112,113,114, 0, 0, 0, 0, 0, 0, /* Dx */-
130 0, 0,115,116,117,118,119,120,121,122, 0, 0, 0, 0, 0, 0, /* Ex */-
131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* Fx */-
132};-
133#endif-
134-
135/*-
136** The sqlite3KeywordCode function looks up an identifier to determine if-
137** it is a keyword. If it is a keyword, the token code of that keyword is -
138** returned. If the input is not a keyword, TK_ID is returned.-
139**-
140** The implementation of this routine was generated by a program,-
141** mkkeywordhash.c, located in the tool subdirectory of the distribution.-
142** The output of the mkkeywordhash.c program is written into a file-
143** named keywordhash.h and then included into this source file by-
144** the #include below.-
145*/-
146#include "keywordhash.h"-
147-
148-
149/*-
150** If X is a character that can be used in an identifier then-
151** IdChar(X) will be true. Otherwise it is false.-
152**-
153** For ASCII, any character with the high-order bit set is-
154** allowed in an identifier. For 7-bit characters, -
155** sqlite3IsIdChar[X] must be 1.-
156**-
157** For EBCDIC, the rules are more complex but have the same-
158** end result.-
159**-
160** Ticket #1066. the SQL standard does not allow '$' in the-
161** middle of identifiers. But many SQL implementations do. -
162** SQLite will allow '$' in identifiers for compatibility.-
163** But the feature is undocumented.-
164*/-
165#ifdef SQLITE_ASCII-
166#define IdChar(C) ((sqlite3CtypeMap[(unsigned char)C]&0x46)!=0)-
167#endif-
168#ifdef SQLITE_EBCDIC-
169const char sqlite3IsEbcdicIdChar[] = {-
170/* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF */-
171 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, /* 4x */-
172 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, /* 5x */-
173 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, /* 6x */-
174 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, /* 7x */-
175 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, /* 8x */-
176 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, /* 9x */-
177 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, /* Ax */-
178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* Bx */-
179 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, /* Cx */-
180 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, /* Dx */-
181 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, /* Ex */-
182 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, /* Fx */-
183};-
184#define IdChar(C) (((c=C)>=0x42 && sqlite3IsEbcdicIdChar[c-0x40]))-
185#endif-
186-
187/* Make the IdChar function accessible from ctime.c and alter.c */-
188int sqlite3IsIdChar(u8 c){ return IdChar(c); }
executed 405 times by 1 test: return ((sqlite3CtypeMap[(unsigned char)c]&0x46)!=0);
Executed by:
  • Self test (438)
405
189-
190#ifndef SQLITE_OMIT_WINDOWFUNC-
191/*-
192** Return the id of the next token in string (*pz). Before returning, set-
193** (*pz) to point to the byte following the parsed token.-
194*/-
195static int getToken(const unsigned char **pz){-
196 const unsigned char *z = *pz;-
197 int t; /* Token type to return */-
198 do {-
199 z += sqlite3GetToken(z, &t);-
200 }while( t==TK_SPACE );
executed 4611 times by 1 test: end of block
Executed by:
  • Self test (438)
t==172Description
TRUEevaluated 2291 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2320 times by 1 test
Evaluated by:
  • Self test (438)
2291-4611
201 if( t==TK_ID
t==59Description
TRUEevaluated 309 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2011 times by 1 test
Evaluated by:
  • Self test (438)
309-2011
202 || t==TK_STRING
t==106Description
TRUEnever evaluated
FALSEevaluated 2011 times by 1 test
Evaluated by:
  • Self test (438)
0-2011
203 || t==TK_JOIN_KW
t==107Description
TRUEnever evaluated
FALSEevaluated 2011 times by 1 test
Evaluated by:
  • Self test (438)
0-2011
204 || t==TK_WINDOW
t==152Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2004 times by 1 test
Evaluated by:
  • Self test (438)
7-2004
205 || t==TK_OVER
t==153Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1998 times by 1 test
Evaluated by:
  • Self test (438)
6-1998
206 || sqlite3ParserFallback(t)==TK_ID
sqlite3ParserFallback(t)==59Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1994 times by 1 test
Evaluated by:
  • Self test (438)
4-1994
207 ){-
208 t = TK_ID;-
209 }
executed 326 times by 1 test: end of block
Executed by:
  • Self test (438)
326
210 *pz = z;-
211 return t;
executed 2320 times by 1 test: return t;
Executed by:
  • Self test (438)
2320
212}-
213-
214/*-
215** The following three functions are called immediately after the tokenizer-
216** reads the keywords WINDOW, OVER and FILTER, respectively, to determine-
217** whether the token should be treated as a keyword or an SQL identifier.-
218** This cannot be handled by the usual lemon %fallback method, due to-
219** the ambiguity in some constructions. e.g.-
220**-
221** SELECT sum(x) OVER ...-
222**-
223** In the above, "OVER" might be a keyword, or it might be an alias for the -
224** sum(x) expression. If a "%fallback ID OVER" directive were added to -
225** grammar, then SQLite would always treat "OVER" as an alias, making it-
226** impossible to call a window-function without a FILTER clause.-
227**-
228** WINDOW is treated as a keyword if:-
229**-
230** * the following token is an identifier, or a keyword that can fallback-
231** to being an identifier, and-
232** * the token after than one is TK_AS.-
233**-
234** OVER is a keyword if:-
235**-
236** * the previous token was TK_RP, and-
237** * the next token is either TK_LP or an identifier.-
238**-
239** FILTER is a keyword if:-
240**-
241** * the previous token was TK_RP, and-
242** * the next token is TK_LP.-
243*/-
244static int analyzeWindowKeyword(const unsigned char *z){-
245 int t;-
246 t = getToken(&z);-
247 if( t!=TK_ID ) return TK_ID;
executed 32 times by 1 test: return 59;
Executed by:
  • Self test (438)
t!=59Description
TRUEevaluated 32 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 117 times by 1 test
Evaluated by:
  • Self test (438)
32-117
248 t = getToken(&z);-
249 if( t!=TK_AS ) return TK_ID;
executed 4 times by 1 test: return 59;
Executed by:
  • Self test (438)
t!=24Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 113 times by 1 test
Evaluated by:
  • Self test (438)
4-113
250 return TK_WINDOW;
executed 113 times by 1 test: return 152;
Executed by:
  • Self test (438)
113
251}-
252static int analyzeOverKeyword(const unsigned char *z, int lastToken){-
253 if( lastToken==TK_RP ){
lastToken==23Description
TRUEevaluated 1980 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 59 times by 1 test
Evaluated by:
  • Self test (438)
59-1980
254 int t = getToken(&z);-
255 if( t==TK_LP || t==TK_ID ) return TK_OVER;
executed 1978 times by 1 test: return 153;
Executed by:
  • Self test (438)
t==22Description
TRUEevaluated 1771 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 209 times by 1 test
Evaluated by:
  • Self test (438)
t==59Description
TRUEevaluated 207 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
2-1978
256 }
executed 2 times by 1 test: end of block
Executed by:
  • Self test (438)
2
257 return TK_ID;
executed 61 times by 1 test: return 59;
Executed by:
  • Self test (438)
61
258}-
259static int analyzeFilterKeyword(const unsigned char *z, int lastToken){-
260 if( lastToken==TK_RP && getToken(&z)==TK_LP ){
lastToken==23Description
TRUEevaluated 74 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
getToken(&z)==22Description
TRUEevaluated 73 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
1-74
261 return TK_FILTER;
executed 73 times by 1 test: return 154;
Executed by:
  • Self test (438)
73
262 }-
263 return TK_ID;
executed 3 times by 1 test: return 59;
Executed by:
  • Self test (438)
3
264}-
265#endif /* SQLITE_OMIT_WINDOWFUNC */-
266-
267/*-
268** Return the length (in bytes) of the token that begins at z[0]. -
269** Store the token type in *tokenType before returning.-
270*/-
271int sqlite3GetToken(const unsigned char *z, int *tokenType){-
272 int i, c;-
273 switch( aiClass[*z] ){ /* Switch on the character-class of the first byte-
274 ** of the token. See the comment on the CC_ defines-
275 ** above. */-
276 case CC_SPACE: {
executed 3186164 times by 436 tests: case 7:
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)
  • ...
3186164
277 testcase( z[0]==' ' );-
278 testcase( z[0]=='\t' );-
279 testcase( z[0]=='\n' );-
280 testcase( z[0]=='\f' );-
281 testcase( z[0]=='\r' );-
282 for(i=1; sqlite3Isspace(z[i]); i++){}
executed 515032 times by 338 tests: end of block
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)
  • ...
(sqlite3CtypeM...)(z[i])]&0x01)Description
TRUEevaluated 515032 times by 338 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 3186164 times by 436 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)
  • ...
515032-3186164
283 *tokenType = TK_SPACE;-
284 return i;
executed 3186164 times by 436 tests: return i;
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)
  • ...
3186164
285 }-
286 case CC_MINUS: {
executed 48416 times by 3 tests: case 11:
Executed by:
  • Self test (32)
  • Self test (33)
  • Self test (438)
48416
287 if( z[1]=='-' ){
z[1]=='-'Description
TRUEevaluated 9510 times by 3 tests
Evaluated by:
  • Self test (32)
  • Self test (33)
  • Self test (438)
FALSEevaluated 38906 times by 1 test
Evaluated by:
  • Self test (438)
9510-38906
288 for(i=2; (c=z[i])!=0 && c!='\n'; i++){}
executed 71030 times by 3 tests: end of block
Executed by:
  • Self test (32)
  • Self test (33)
  • Self test (438)
(c=z[i])!=0Description
TRUEevaluated 71596 times by 3 tests
Evaluated by:
  • Self test (32)
  • Self test (33)
  • Self test (438)
FALSEevaluated 8944 times by 1 test
Evaluated by:
  • Self test (438)
c!='\n'Description
TRUEevaluated 71030 times by 3 tests
Evaluated by:
  • Self test (32)
  • Self test (33)
  • Self test (438)
FALSEevaluated 566 times by 3 tests
Evaluated by:
  • Self test (32)
  • Self test (33)
  • Self test (438)
566-71596
289 *tokenType = TK_SPACE; /* IMP: R-22934-25134 */-
290 return i;
executed 9510 times by 3 tests: return i;
Executed by:
  • Self test (32)
  • Self test (33)
  • Self test (438)
9510
291 }-
292 *tokenType = TK_MINUS;-
293 return 1;
executed 38906 times by 1 test: return 1;
Executed by:
  • Self test (438)
38906
294 }-
295 case CC_LP: {
executed 707810 times by 436 tests: case 17:
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)
  • ...
707810
296 *tokenType = TK_LP;-
297 return 1;
executed 707810 times by 436 tests: return 1;
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)
  • ...
707810
298 }-
299 case CC_RP: {
executed 705411 times by 436 tests: case 18:
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)
  • ...
705411
300 *tokenType = TK_RP;-
301 return 1;
executed 705411 times by 436 tests: return 1;
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)
  • ...
705411
302 }-
303 case CC_SEMI: {
executed 72741 times by 76 tests: case 19:
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • ...
72741
304 *tokenType = TK_SEMI;-
305 return 1;
executed 72741 times by 76 tests: return 1;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • ...
72741
306 }-
307 case CC_PLUS: {
executed 50795 times by 2 tests: case 20:
Executed by:
  • Self test (35)
  • Self test (438)
50795
308 *tokenType = TK_PLUS;-
309 return 1;
executed 50795 times by 2 tests: return 1;
Executed by:
  • Self test (35)
  • Self test (438)
50795
310 }-
311 case CC_STAR: {
executed 48114 times by 64 tests: case 21:
Executed by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • ...
48114
312 *tokenType = TK_STAR;-
313 return 1;
executed 48114 times by 64 tests: return 1;
Executed by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • ...
48114
314 }-
315 case CC_SLASH: {
executed 6162 times by 2 tests: case 16:
Executed by:
  • Self test (438)
  • Self test (64)
6162
316 if( z[1]!='*' || z[2]==0 ){
z[1]!='*'Description
TRUEevaluated 5769 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 393 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (64)
z[2]==0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 392 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (64)
1-5769
317 *tokenType = TK_SLASH;-
318 return 1;
executed 5770 times by 1 test: return 1;
Executed by:
  • Self test (438)
5770
319 }-
320 for(i=3, c=z[2]; (c!='*' || z[i]!='/') && (c=z[i])!=0; i++){}
executed 7030 times by 2 tests: end of block
Executed by:
  • Self test (438)
  • Self test (64)
c!='*'Description
TRUEevaluated 7011 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (64)
FALSEevaluated 411 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (64)
z[i]!='/'Description
TRUEevaluated 23 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 388 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (64)
(c=z[i])!=0Description
TRUEevaluated 7030 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (64)
FALSEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
4-7030
321 if( c ) i++;
executed 388 times by 2 tests: i++;
Executed by:
  • Self test (438)
  • Self test (64)
cDescription
TRUEevaluated 388 times by 2 tests
Evaluated by:
  • Self test (438)
  • Self test (64)
FALSEevaluated 4 times by 1 test
Evaluated by:
  • Self test (438)
4-388
322 *tokenType = TK_SPACE; /* IMP: R-22934-25134 */-
323 return i;
executed 392 times by 2 tests: return i;
Executed by:
  • Self test (438)
  • Self test (64)
392
324 }-
325 case CC_PERCENT: {
executed 4635 times by 335 tests: case 22:
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)
  • ...
4635
326 *tokenType = TK_REM;-
327 return 1;
executed 4635 times by 335 tests: return 1;
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)
  • ...
4635
328 }-
329 case CC_EQ: {
executed 273863 times by 382 tests: case 14:
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • 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 (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
273863
330 *tokenType = TK_EQ;-
331 return 1 + (z[1]=='=');
executed 273863 times by 382 tests: return 1 + (z[1]=='=');
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • 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 (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • ...
273863
332 }-
333 case CC_LT: {
executed 27981 times by 2 tests: case 12:
Executed by:
  • Self test (34)
  • Self test (438)
27981
334 if( (c=z[1])=='=' ){
(c=z[1])=='='Description
TRUEevaluated 7997 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 19984 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
7997-19984
335 *tokenType = TK_LE;-
336 return 2;
executed 7997 times by 1 test: return 2;
Executed by:
  • Self test (438)
7997
337 }else if( c=='>' ){
c=='>'Description
TRUEevaluated 6484 times by 2 tests
Evaluated by:
  • Self test (34)
  • Self test (438)
FALSEevaluated 13500 times by 1 test
Evaluated by:
  • Self test (438)
6484-13500
338 *tokenType = TK_NE;-
339 return 2;
executed 6484 times by 2 tests: return 2;
Executed by:
  • Self test (34)
  • Self test (438)
6484
340 }else if( c=='<' ){
c=='<'Description
TRUEevaluated 2835 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 10665 times by 1 test
Evaluated by:
  • Self test (438)
2835-10665
341 *tokenType = TK_LSHIFT;-
342 return 2;
executed 2835 times by 1 test: return 2;
Executed by:
  • Self test (438)
2835
343 }else{-
344 *tokenType = TK_LT;-
345 return 1;
executed 10665 times by 1 test: return 1;
Executed by:
  • Self test (438)
10665
346 }-
347 }-
348 case CC_GT: {
executed 23468 times by 4 tests: case 13:
Executed by:
  • Self test (34)
  • Self test (40)
  • Self test (438)
  • Self test (47)
23468
349 if( (c=z[1])=='=' ){
(c=z[1])=='='Description
TRUEevaluated 9935 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 13533 times by 4 tests
Evaluated by:
  • Self test (34)
  • Self test (40)
  • Self test (438)
  • Self test (47)
9935-13533
350 *tokenType = TK_GE;-
351 return 2;
executed 9935 times by 1 test: return 2;
Executed by:
  • Self test (438)
9935
352 }else if( c=='>' ){
c=='>'Description
TRUEevaluated 2824 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 10709 times by 4 tests
Evaluated by:
  • Self test (34)
  • Self test (40)
  • Self test (438)
  • Self test (47)
2824-10709
353 *tokenType = TK_RSHIFT;-
354 return 2;
executed 2824 times by 1 test: return 2;
Executed by:
  • Self test (438)
2824
355 }else{-
356 *tokenType = TK_GT;-
357 return 1;
executed 10709 times by 4 tests: return 1;
Executed by:
  • Self test (34)
  • Self test (40)
  • Self test (438)
  • Self test (47)
10709
358 }-
359 }-
360 case CC_BANG: {
executed 22981 times by 28 tests: case 15:
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)
  • ...
22981
361 if( z[1]!='=' ){
z[1]!='='Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 22979 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)
  • ...
2-22979
362 *tokenType = TK_ILLEGAL;-
363 return 1;
executed 2 times by 1 test: return 1;
Executed by:
  • Self test (438)
2
364 }else{-
365 *tokenType = TK_NE;-
366 return 2;
executed 22979 times by 28 tests: return 2;
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)
  • ...
22979
367 }-
368 }-
369 case CC_PIPE: {
executed 31665 times by 3 tests: case 10:
Executed by:
  • Self test (101)
  • Self test (34)
  • Self test (438)
31665
370 if( z[1]!='|' ){
z[1]!='|'Description
TRUEevaluated 6481 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 25184 times by 3 tests
Evaluated by:
  • Self test (101)
  • Self test (34)
  • Self test (438)
6481-25184
371 *tokenType = TK_BITOR;-
372 return 1;
executed 6481 times by 1 test: return 1;
Executed by:
  • Self test (438)
6481
373 }else{-
374 *tokenType = TK_CONCAT;-
375 return 2;
executed 25184 times by 3 tests: return 2;
Executed by:
  • Self test (101)
  • Self test (34)
  • Self test (438)
25184
376 }-
377 }-
378 case CC_COMMA: {
executed 1468469 times by 436 tests: case 23:
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)
  • ...
1468469
379 *tokenType = TK_COMMA;-
380 return 1;
executed 1468469 times by 436 tests: return 1;
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)
  • ...
1468469
381 }-
382 case CC_AND: {
executed 3794 times by 1 test: case 24:
Executed by:
  • Self test (438)
3794
383 *tokenType = TK_BITAND;-
384 return 1;
executed 3794 times by 1 test: return 1;
Executed by:
  • Self test (438)
3794
385 }-
386 case CC_TILDA: {
executed 4019 times by 1 test: case 25:
Executed by:
  • Self test (438)
4019
387 *tokenType = TK_BITNOT;-
388 return 1;
executed 4019 times by 1 test: return 1;
Executed by:
  • Self test (438)
4019
389 }-
390 case CC_QUOTE: {
executed 407354 times by 435 tests: case 8:
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)
  • ...
407354
391 int delim = z[0];-
392 testcase( delim=='`' );-
393 testcase( delim=='\'' );-
394 testcase( delim=='"' );-
395 for(i=1; (c=z[i])!=0; i++){
(c=z[i])!=0Description
TRUEevaluated 8379054 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 2 times by 1 test
Evaluated by:
  • Self test (438)
2-8379054
396 if( c==delim ){
c==delimDescription
TRUEevaluated 414857 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 7964197 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)
  • ...
414857-7964197
397 if( z[i+1]==delim ){
z[i+1]==delimDescription
TRUEevaluated 7505 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 407352 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)
  • ...
7505-407352
398 i++;-
399 }else{
executed 7505 times by 1 test: end of block
Executed by:
  • Self test (438)
7505
400 break;
executed 407352 times by 435 tests: break;
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)
  • ...
407352
401 }-
402 }-
403 }
executed 7971702 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)
  • ...
7971702
404 if( c=='\'' ){
c=='\''Description
TRUEevaluated 325289 times by 47 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (3)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (38)
  • Self test (39)
  • Self test (4)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • ...
FALSEevaluated 82065 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)
  • ...
82065-325289
405 *tokenType = TK_STRING;-
406 return i+1;
executed 325289 times by 47 tests: return i+1;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (3)
  • Self test (30)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (38)
  • Self test (39)
  • Self test (4)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • Self test (48)
  • Self test (5)
  • ...
325289
407 }else if( c!=0 ){
c!=0Description
TRUEevaluated 82063 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 2 times by 1 test
Evaluated by:
  • Self test (438)
2-82063
408 *tokenType = TK_ID;-
409 return i+1;
executed 82063 times by 435 tests: return i+1;
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)
  • ...
82063
410 }else{-
411 *tokenType = TK_ILLEGAL;-
412 return i;
executed 2 times by 1 test: return i;
Executed by:
  • Self test (438)
2
413 }-
414 }-
415 case CC_DOT: {
executed 178716 times by 435 tests: case 26:
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)
  • ...
178716
416#ifndef SQLITE_OMIT_FLOATING_POINT-
417 if( !sqlite3Isdigit(z[1]) )
!(sqlite3Ctype...)(z[1])]&0x04)Description
TRUEevaluated 178714 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 2 times by 1 test
Evaluated by:
  • Self test (438)
2-178714
418#endif-
419 {-
420 *tokenType = TK_DOT;-
421 return 1;
executed 178714 times by 435 tests: return 1;
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)
  • ...
178714
422 }-
423 /* If the next character is a digit, this is a floating point-
424 ** number that begins with ".". Fall thru into the next case */-
425 }-
426 case CC_DIGIT: {
code before this statement executed 2 times by 1 test: case 3:
Executed by:
  • Self test (438)
executed 827657 times by 399 tests: case 3:
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • 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)
  • Self test (122)
  • Self test (123)
  • ...
2-827657
427 testcase( z[0]=='0' ); testcase( z[0]=='1' ); testcase( z[0]=='2' );-
428 testcase( z[0]=='3' ); testcase( z[0]=='4' ); testcase( z[0]=='5' );-
429 testcase( z[0]=='6' ); testcase( z[0]=='7' ); testcase( z[0]=='8' );-
430 testcase( z[0]=='9' );-
431 *tokenType = TK_INTEGER;-
432#ifndef SQLITE_OMIT_HEX_INTEGER-
433 if( z[0]=='0' && (z[1]=='x' || z[1]=='X') && sqlite3Isxdigit(z[2]) ){
z[0]=='0'Description
TRUEevaluated 48982 times by 345 tests
Evaluated by:
  • Self test (101)
  • 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)
  • ...
FALSEevaluated 778677 times by 397 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • 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)
  • Self test (122)
  • Self test (123)
  • ...
z[1]=='x'Description
TRUEevaluated 98 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 48884 times by 345 tests
Evaluated by:
  • Self test (101)
  • 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)
  • ...
z[1]=='X'Description
TRUEevaluated 25 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 48859 times by 345 tests
Evaluated by:
  • Self test (101)
  • 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)
  • ...
(sqlite3CtypeM...)(z[2])]&0x08)Description
TRUEevaluated 123 times by 1 test
Evaluated by:
  • Self test (438)
FALSEnever evaluated
0-778677
434 for(i=3; sqlite3Isxdigit(z[i]); i++){}
executed 781 times by 1 test: end of block
Executed by:
  • Self test (438)
(sqlite3CtypeM...)(z[i])]&0x08)Description
TRUEevaluated 781 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 123 times by 1 test
Evaluated by:
  • Self test (438)
123-781
435 return i;
executed 123 times by 1 test: return i;
Executed by:
  • Self test (438)
123
436 }-
437#endif-
438 for(i=0; sqlite3Isdigit(z[i]); i++){}
executed 3184284 times by 399 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • 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)
  • Self test (122)
  • Self test (123)
  • ...
(sqlite3CtypeM...)(z[i])]&0x04)Description
TRUEevaluated 3184284 times by 399 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • 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)
  • Self test (122)
  • Self test (123)
  • ...
FALSEevaluated 827536 times by 399 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • 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)
  • Self test (122)
  • Self test (123)
  • ...
827536-3184284
439#ifndef SQLITE_OMIT_FLOATING_POINT-
440 if( z[i]=='.' ){
z[i]=='.'Description
TRUEevaluated 34947 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 792589 times by 399 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • 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)
  • Self test (122)
  • Self test (123)
  • ...
34947-792589
441 i++;-
442 while( sqlite3Isdigit(z[i]) ){ i++; }
executed 826592 times by 1 test: end of block
Executed by:
  • Self test (438)
(sqlite3CtypeM...)(z[i])]&0x04)Description
TRUEevaluated 826592 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 34947 times by 1 test
Evaluated by:
  • Self test (438)
34947-826592
443 *tokenType = TK_FLOAT;-
444 }
executed 34947 times by 1 test: end of block
Executed by:
  • Self test (438)
34947
445 if( (z[i]=='e' || z[i]=='E') &&
z[i]=='e'Description
TRUEevaluated 20200 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 807336 times by 399 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • 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)
  • Self test (122)
  • Self test (123)
  • ...
z[i]=='E'Description
TRUEevaluated 17 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 807319 times by 399 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • 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)
  • Self test (122)
  • Self test (123)
  • ...
17-807336
446 ( sqlite3Isdigit(z[i+1])
(sqlite3CtypeM...z[i+1])]&0x04)Description
TRUEevaluated 74 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 20143 times by 1 test
Evaluated by:
  • Self test (438)
74-20143
447 || ((z[i+1]=='+' || z[i+1]=='-') && sqlite3Isdigit(z[i+2]))
z[i+1]=='+'Description
TRUEevaluated 10249 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 9894 times by 1 test
Evaluated by:
  • Self test (438)
z[i+1]=='-'Description
TRUEevaluated 9892 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
(sqlite3CtypeM...z[i+2])]&0x04)Description
TRUEevaluated 20133 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 8 times by 1 test
Evaluated by:
  • Self test (438)
2-20133
448 )-
449 ){-
450 i += 2;-
451 while( sqlite3Isdigit(z[i]) ){ i++; }
executed 40567 times by 1 test: end of block
Executed by:
  • Self test (438)
(sqlite3CtypeM...)(z[i])]&0x04)Description
TRUEevaluated 40567 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 20207 times by 1 test
Evaluated by:
  • Self test (438)
20207-40567
452 *tokenType = TK_FLOAT;-
453 }
executed 20207 times by 1 test: end of block
Executed by:
  • Self test (438)
20207
454#endif-
455 while( IdChar(z[i]) ){
((sqlite3Ctype...[i]]&0x46)!=0)Description
TRUEevaluated 29 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 827536 times by 399 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • 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)
  • Self test (122)
  • Self test (123)
  • ...
29-827536
456 *tokenType = TK_ILLEGAL;-
457 i++;-
458 }
executed 29 times by 1 test: end of block
Executed by:
  • Self test (438)
29
459 return i;
executed 827536 times by 399 tests: return i;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • 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)
  • Self test (122)
  • Self test (123)
  • ...
827536
460 }-
461 case CC_QUOTE2: {
executed 177 times by 1 test: case 9:
Executed by:
  • Self test (438)
177
462 for(i=1, c=z[0]; c!=']' && (c=z[i])!=0; i++){}
executed 2086 times by 1 test: end of block
Executed by:
  • Self test (438)
c!=']'Description
TRUEevaluated 2089 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 174 times by 1 test
Evaluated by:
  • Self test (438)
(c=z[i])!=0Description
TRUEevaluated 2086 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
3-2089
463 *tokenType = c==']' ? TK_ID : TK_ILLEGAL;
c==']'Description
TRUEevaluated 174 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
3-174
464 return i;
executed 177 times by 1 test: return i;
Executed by:
  • Self test (438)
177
465 }-
466 case CC_VARNUM: {
executed 21360 times by 1 test: case 6:
Executed by:
  • Self test (438)
21360
467 *tokenType = TK_VARIABLE;-
468 for(i=1; sqlite3Isdigit(z[i]); i++){}
executed 2516 times by 1 test: end of block
Executed by:
  • Self test (438)
(sqlite3CtypeM...)(z[i])]&0x04)Description
TRUEevaluated 2516 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 21360 times by 1 test
Evaluated by:
  • Self test (438)
2516-21360
469 return i;
executed 21360 times by 1 test: return i;
Executed by:
  • Self test (438)
21360
470 }-
471 case CC_DOLLAR:
executed 30612 times by 1 test: case 4:
Executed by:
  • Self test (438)
30612
472 case CC_VARALPHA: {
executed 61724 times by 33 tests: case 5:
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 (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)
  • ...
61724
473 int n = 0;-
474 testcase( z[0]=='$' ); testcase( z[0]=='@' );-
475 testcase( z[0]==':' ); testcase( z[0]=='#' );-
476 *tokenType = TK_VARIABLE;-
477 for(i=1; (c=z[i])!=0; i++){
(c=z[i])!=0Description
TRUEevaluated 138780 times by 33 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 (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)
  • ...
FALSEevaluated 49286 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)
  • ...
49286-138780
478 if( IdChar(c) ){
((sqlite3Ctype...r)c]&0x46)!=0)Description
TRUEevaluated 95606 times by 33 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 (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)
  • ...
FALSEevaluated 43174 times by 33 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 (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)
  • ...
43174-95606
479 n++;-
480#ifndef SQLITE_OMIT_TCL_VARIABLE-
481 }else if( c=='(' && n>0 ){
executed 95606 times by 33 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 (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)
  • ...
c=='('Description
TRUEevaluated 57 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 43117 times by 33 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 (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)
  • ...
n>0Description
TRUEevaluated 56 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
1-95606
482 do{-
483 i++;-
484 }while( (c=z[i])!=0 && !sqlite3Isspace(c) && c!=')' );
executed 291 times by 1 test: end of block
Executed by:
  • Self test (438)
(c=z[i])!=0Description
TRUEevaluated 289 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
!(sqlite3Ctype...har)(c)]&0x01)Description
TRUEevaluated 288 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
c!=')'Description
TRUEevaluated 235 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 53 times by 1 test
Evaluated by:
  • Self test (438)
1-291
485 if( c==')' ){
c==')'Description
TRUEevaluated 53 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
3-53
486 i++;-
487 }else{
executed 53 times by 1 test: end of block
Executed by:
  • Self test (438)
53
488 *tokenType = TK_ILLEGAL;-
489 }
executed 3 times by 1 test: end of block
Executed by:
  • Self test (438)
3
490 break;
executed 56 times by 1 test: break;
Executed by:
  • Self test (438)
56
491 }else if( c==':' && z[i+1]==':' ){
c==':'Description
TRUEevaluated 126 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 42992 times by 33 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 (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)
  • ...
z[i+1]==':'Description
TRUEevaluated 124 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
2-42992
492 i++;-
493#endif-
494 }else{
executed 124 times by 1 test: end of block
Executed by:
  • Self test (438)
124
495 break;
executed 42994 times by 33 tests: break;
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 (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)
  • ...
42994
496 }-
497 }-
498 if( n==0 ) *tokenType = TK_ILLEGAL;
executed 3 times by 1 test: *tokenType = 173;
Executed by:
  • Self test (438)
n==0Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 92333 times by 33 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 (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)
  • ...
3-92333
499 return i;
executed 92336 times by 33 tests: return i;
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 (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)
  • ...
92336
500 }-
501 case CC_KYWD: {
executed 3948427 times by 436 tests: case 1:
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)
  • ...
3948427
502 for(i=1; aiClass[z[i]]<=CC_KYWD; i++){}
executed 12862936 times by 436 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)
  • ...
aiClass[z[i]]<=1Description
TRUEevaluated 12862936 times by 436 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 3948427 times by 436 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)
  • ...
3948427-12862936
503 if( IdChar(z[i]) ){
((sqlite3Ctype...[i]]&0x46)!=0)Description
TRUEevaluated 678099 times by 427 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 3270328 times by 436 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)
  • ...
678099-3270328
504 /* This token started out using characters that can appear in keywords,-
505 ** but z[i] is a character not allowed within keywords, so this must-
506 ** be an identifier instead */-
507 i++;-
508 break;
executed 678099 times by 427 tests: break;
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)
  • ...
678099
509 }-
510 *tokenType = TK_ID;-
511 return keywordCode((char*)z, i, tokenType);
executed 3270328 times by 436 tests: return keywordCode((char*)z, i, tokenType);
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)
  • ...
3270328
512 }-
513 case CC_X: {
executed 113948 times by 436 tests: case 0:
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)
  • ...
113948
514#ifndef SQLITE_OMIT_BLOB_LITERAL-
515 testcase( z[0]=='x' ); testcase( z[0]=='X' );-
516 if( z[1]=='\'' ){
z[1]=='\''Description
TRUEevaluated 3027 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 110921 times by 436 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)
  • ...
3027-110921
517 *tokenType = TK_BLOB;-
518 for(i=2; sqlite3Isxdigit(z[i]); i++){}
executed 13666 times by 1 test: end of block
Executed by:
  • Self test (438)
(sqlite3CtypeM...)(z[i])]&0x08)Description
TRUEevaluated 13666 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3027 times by 1 test
Evaluated by:
  • Self test (438)
3027-13666
519 if( z[i]!='\'' || i%2 ){
z[i]!='\''Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3016 times by 1 test
Evaluated by:
  • Self test (438)
i%2Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3014 times by 1 test
Evaluated by:
  • Self test (438)
2-3016
520 *tokenType = TK_ILLEGAL;-
521 while( z[i] && z[i]!='\'' ){ i++; }
executed 32 times by 1 test: end of block
Executed by:
  • Self test (438)
z[i]Description
TRUEevaluated 43 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
z[i]!='\''Description
TRUEevaluated 32 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 11 times by 1 test
Evaluated by:
  • Self test (438)
2-43
522 }
executed 13 times by 1 test: end of block
Executed by:
  • Self test (438)
13
523 if( z[i] ) i++;
executed 3025 times by 1 test: i++;
Executed by:
  • Self test (438)
z[i]Description
TRUEevaluated 3025 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
2-3025
524 return i;
executed 3027 times by 1 test: return i;
Executed by:
  • Self test (438)
3027
525 }-
526#endif-
527 /* If it is not a BLOB literal, then it must be an ID, since no-
528 ** SQL keywords start with the letter 'x'. Fall through */-
529 }-
530 case CC_ID: {
code before this statement executed 110921 times by 436 tests: case 2:
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)
  • ...
executed 33 times by 1 test: case 2:
Executed by:
  • Self test (438)
33-110921
531 i = 1;-
532 break;
executed 110954 times by 436 tests: break;
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)
  • ...
110954
533 }-
534 case CC_NUL: {
executed 641715 times by 436 tests: case 28:
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)
  • ...
641715
535 *tokenType = TK_ILLEGAL;-
536 return 0;
executed 641715 times by 436 tests: return 0;
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)
  • ...
641715
537 }-
538 default: {
executed 1 time by 1 test: default:
Executed by:
  • Self test (438)
1
539 *tokenType = TK_ILLEGAL;-
540 return 1;
executed 1 time by 1 test: return 1;
Executed by:
  • Self test (438)
1
541 }-
542 }-
543 while( IdChar(z[i]) ){ i++; }
executed 444800 times by 7 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (2)
  • Self test (3)
  • Self test (438)
  • Self test (57)
  • Self test (58)
((sqlite3Ctype...[i]]&0x46)!=0)Description
TRUEevaluated 444800 times by 7 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (2)
  • Self test (3)
  • Self test (438)
  • Self test (57)
  • Self test (58)
FALSEevaluated 789053 times by 436 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)
  • ...
444800-789053
544 *tokenType = TK_ID;-
545 return i;
executed 789053 times by 436 tests: return i;
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)
  • ...
789053
546}-
547-
548/*-
549** Run the parser on the given SQL string. The parser structure is-
550** passed in. An SQLITE_ status code is returned. If an error occurs-
551** then an and attempt is made to write an error message into -
552** memory obtained from sqlite3_malloc() and to make *pzErrMsg point to that-
553** error message.-
554*/-
555int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){-
556 int nErr = 0; /* Number of errors encountered */-
557 void *pEngine; /* The LEMON-generated LALR(1) parser */-
558 int n = 0; /* Length of the next token token */-
559 int tokenType; /* type of the next token */-
560 int lastTokenParsed = -1; /* type of the previous token */-
561 sqlite3 *db = pParse->db; /* The database connection */-
562 int mxSqlLen; /* Max length of an SQL string */-
563#ifdef sqlite3Parser_ENGINEALWAYSONSTACK-
564 yyParser sEngine; /* Space to hold the Lemon-generated Parser object */-
565#endif-
566-
567 assert( zSql!=0 );-
568 mxSqlLen = db->aLimit[SQLITE_LIMIT_SQL_LENGTH];-
569 if( db->nVdbeActive==0 ){
db->nVdbeActive==0Description
TRUEevaluated 431552 times by 436 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 107437 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)
  • ...
107437-431552
570 db->u1.isInterrupted = 0;-
571 }
executed 431552 times by 436 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)
  • ...
431552
572 pParse->rc = SQLITE_OK;-
573 pParse->zTail = zSql;-
574 assert( pzErrMsg!=0 );-
575 /* sqlite3ParserTrace(stdout, "parser: "); */-
576#ifdef sqlite3Parser_ENGINEALWAYSONSTACK-
577 pEngine = &sEngine;-
578 sqlite3ParserInit(pEngine, pParse);-
579#else-
580 pEngine = sqlite3ParserAlloc(sqlite3Malloc, pParse);-
581 if( pEngine==0 ){
pEngine==0Description
TRUEevaluated 90 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 538899 times by 436 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)
  • ...
90-538899
582 sqlite3OomFault(db);-
583 return SQLITE_NOMEM_BKPT;
executed 90 times by 1 test: return 7;
Executed by:
  • Self test (438)
90
584 }-
585#endif-
586 assert( pParse->pNewTable==0 );-
587 assert( pParse->pNewTrigger==0 );-
588 assert( pParse->nVar==0 );-
589 assert( pParse->pVList==0 );-
590 while( 1 ){-
591 n = sqlite3GetToken((u8*)zSql, &tokenType);-
592 mxSqlLen -= n;-
593 if( mxSqlLen<0 ){
mxSqlLen<0Description
TRUEnever evaluated
FALSEevaluated 12913259 times by 436 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)
  • ...
0-12913259
594 pParse->rc = SQLITE_TOOBIG;-
595 break;
never executed: break;
0
596 }-
597#ifndef SQLITE_OMIT_WINDOWFUNC-
598 if( tokenType>=TK_WINDOW ){
tokenType>=152Description
TRUEevaluated 3837656 times by 436 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 9075603 times by 436 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)
  • ...
3837656-9075603
599 assert( tokenType==TK_SPACE || tokenType==TK_OVER || tokenType==TK_FILTER-
600 || tokenType==TK_ILLEGAL || tokenType==TK_WINDOW -
601 );-
602#else-
603 if( tokenType>=TK_SPACE ){-
604 assert( tokenType==TK_SPACE || tokenType==TK_ILLEGAL );-
605#endif /* SQLITE_OMIT_WINDOWFUNC */-
606 if( db->u1.isInterrupted ){
db->u1.isInterruptedDescription
TRUEevaluated 16 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3837640 times by 436 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)
  • ...
16-3837640
607 pParse->rc = SQLITE_INTERRUPT;-
608 break;
executed 16 times by 1 test: break;
Executed by:
  • Self test (438)
16
609 }-
610 if( tokenType==TK_SPACE ){
tokenType==172Description
TRUEevaluated 3193617 times by 436 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 644023 times by 436 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)
  • ...
644023-3193617
611 zSql += n;-
612 continue;
executed 3193617 times by 436 tests: continue;
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)
  • ...
3193617
613 }-
614 if( zSql[0]==0 ){
zSql[0]==0Description
TRUEevaluated 641715 times by 436 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 2308 times by 1 test
Evaluated by:
  • Self test (438)
2308-641715
615 /* Upon reaching the end of input, call the parser two more times-
616 ** with tokens TK_SEMI and 0, in that order. */-
617 if( lastTokenParsed==TK_SEMI ){
lastTokenParsed==1Description
TRUEevaluated 82699 times by 48 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (11)
  • Self test (15)
  • Self test (19)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (31)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (35)
  • Self test (38)
  • Self test (39)
  • Self test (41)
  • Self test (42)
  • Self test (438)
  • ...
FALSEevaluated 559016 times by 436 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)
  • ...
82699-559016
618 tokenType = 0;-
619 }else if( lastTokenParsed==0 ){
executed 82699 times by 48 tests: end of block
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (11)
  • Self test (15)
  • Self test (19)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (31)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (35)
  • Self test (38)
  • Self test (39)
  • Self test (41)
  • Self test (42)
  • Self test (438)
  • ...
lastTokenParsed==0Description
TRUEevaluated 82699 times by 48 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (11)
  • Self test (15)
  • Self test (19)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (31)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (35)
  • Self test (38)
  • Self test (39)
  • Self test (41)
  • Self test (42)
  • Self test (438)
  • ...
FALSEevaluated 476317 times by 436 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)
  • ...
82699-476317
620 break;
executed 82699 times by 48 tests: break;
Executed by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (11)
  • Self test (15)
  • Self test (19)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (31)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (35)
  • Self test (38)
  • Self test (39)
  • Self test (41)
  • Self test (42)
  • Self test (438)
  • ...
82699
621 }else{-
622 tokenType = TK_SEMI;-
623 }
executed 476317 times by 436 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)
  • ...
476317
624 n = 0;-
625#ifndef SQLITE_OMIT_WINDOWFUNC-
626 }else if( tokenType==TK_WINDOW ){
executed 559016 times by 436 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)
  • ...
tokenType==152Description
TRUEevaluated 149 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2159 times by 1 test
Evaluated by:
  • Self test (438)
149-559016
627 assert( n==6 );-
628 tokenType = analyzeWindowKeyword((const u8*)&zSql[6]);-
629 }else if( tokenType==TK_OVER ){
executed 149 times by 1 test: end of block
Executed by:
  • Self test (438)
tokenType==153Description
TRUEevaluated 2039 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 120 times by 1 test
Evaluated by:
  • Self test (438)
120-2039
630 assert( n==4 );-
631 tokenType = analyzeOverKeyword((const u8*)&zSql[4], lastTokenParsed);-
632 }else if( tokenType==TK_FILTER ){
executed 2039 times by 1 test: end of block
Executed by:
  • Self test (438)
tokenType==154Description
TRUEevaluated 76 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 44 times by 1 test
Evaluated by:
  • Self test (438)
44-2039
633 assert( n==6 );-
634 tokenType = analyzeFilterKeyword((const u8*)&zSql[6], lastTokenParsed);-
635#endif /* SQLITE_OMIT_WINDOWFUNC */-
636 }else{
executed 76 times by 1 test: end of block
Executed by:
  • Self test (438)
76
637 sqlite3ErrorMsg(pParse, "unrecognized token: \"%.*s\"", n, zSql);-
638 break;
executed 44 times by 1 test: break;
Executed by:
  • Self test (438)
44
639 }-
640 }-
641 pParse->sLastToken.z = zSql;-
642 pParse->sLastToken.n = n;-
643 sqlite3Parser(pEngine, tokenType, pParse->sLastToken);-
644 lastTokenParsed = tokenType;-
645 zSql += n;-
646 if( pParse->rc!=SQLITE_OK || db->mallocFailed ) break;
executed 456140 times by 436 tests: break;
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)
  • ...
pParse->rc!=0Description
TRUEevaluated 455573 times by 436 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 9181310 times by 436 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)
  • ...
db->mallocFailedDescription
TRUEevaluated 567 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 9180743 times by 436 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)
  • ...
567-9181310
647 }
executed 9180743 times by 436 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)
  • ...
9180743
648 assert( nErr==0 );-
649#ifdef YYTRACKMAXSTACKDEPTH-
650 sqlite3_mutex_enter(sqlite3MallocMutex());-
651 sqlite3StatusHighwater(SQLITE_STATUS_PARSER_STACK,-
652 sqlite3ParserStackPeak(pEngine)-
653 );-
654 sqlite3_mutex_leave(sqlite3MallocMutex());-
655#endif /* YYDEBUG */-
656#ifdef sqlite3Parser_ENGINEALWAYSONSTACK-
657 sqlite3ParserFinalize(pEngine);-
658#else-
659 sqlite3ParserFree(pEngine, sqlite3_free);-
660#endif-
661 if( db->mallocFailed ){
db->mallocFailedDescription
TRUEevaluated 2793 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 536106 times by 436 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)
  • ...
2793-536106
662 pParse->rc = SQLITE_NOMEM_BKPT;-
663 }
executed 2793 times by 1 test: end of block
Executed by:
  • Self test (438)
2793
664 if( pParse->rc!=SQLITE_OK && pParse->rc!=SQLITE_DONE && pParse->zErrMsg==0 ){
pParse->rc!=0Description
TRUEevaluated 456200 times by 436 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 82699 times by 48 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (11)
  • Self test (15)
  • Self test (19)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (29)
  • Self test (30)
  • Self test (31)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (35)
  • Self test (38)
  • Self test (39)
  • Self test (41)
  • Self test (42)
  • Self test (438)
  • ...
pParse->rc!=101Description
TRUEevaluated 4740 times by 13 tests
Evaluated by:
  • Self test (26)
  • Self test (27)
  • Self test (29)
  • Self test (39)
  • Self test (438)
  • Self test (47)
  • Self test (61)
  • Self test (78)
  • Self test (79)
  • Self test (80)
  • Self test (81)
  • Self test (82)
  • Self test (83)
FALSEevaluated 451460 times by 436 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)
  • ...
pParse->zErrMsg==0Description
TRUEevaluated 2792 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1948 times by 13 tests
Evaluated by:
  • Self test (26)
  • Self test (27)
  • Self test (29)
  • Self test (39)
  • Self test (438)
  • Self test (47)
  • Self test (61)
  • Self test (78)
  • Self test (79)
  • Self test (80)
  • Self test (81)
  • Self test (82)
  • Self test (83)
1948-456200
665 pParse->zErrMsg = sqlite3MPrintf(db, "%s", sqlite3ErrStr(pParse->rc));-
666 }
executed 2792 times by 1 test: end of block
Executed by:
  • Self test (438)
2792
667 assert( pzErrMsg!=0 );-
668 if( pParse->zErrMsg ){
pParse->zErrMsgDescription
TRUEevaluated 1976 times by 13 tests
Evaluated by:
  • Self test (26)
  • Self test (27)
  • Self test (29)
  • Self test (39)
  • Self test (438)
  • Self test (47)
  • Self test (61)
  • Self test (78)
  • Self test (79)
  • Self test (80)
  • Self test (81)
  • Self test (82)
  • Self test (83)
FALSEevaluated 536923 times by 436 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)
  • ...
1976-536923
669 *pzErrMsg = pParse->zErrMsg;-
670 sqlite3_log(pParse->rc, "%s in \"%s\"", -
671 *pzErrMsg, pParse->zTail);-
672 pParse->zErrMsg = 0;-
673 nErr++;-
674 }
executed 1976 times by 13 tests: end of block
Executed by:
  • Self test (26)
  • Self test (27)
  • Self test (29)
  • Self test (39)
  • Self test (438)
  • Self test (47)
  • Self test (61)
  • Self test (78)
  • Self test (79)
  • Self test (80)
  • Self test (81)
  • Self test (82)
  • Self test (83)
1976
675 pParse->zTail = zSql;-
676 if( pParse->pVdbe && pParse->nErr>0 && pParse->nested==0 ){
pParse->pVdbeDescription
TRUEevaluated 495786 times by 436 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 43113 times by 47 tests
Evaluated by:
  • Self test
  • Self test (100)
  • Self test (101)
  • Self test (104)
  • Self test (105)
  • Self test (11)
  • Self test (15)
  • Self test (19)
  • Self test (23)
  • Self test (26)
  • Self test (27)
  • Self test (29)
  • Self test (30)
  • Self test (31)
  • Self test (32)
  • Self test (33)
  • Self test (35)
  • Self test (38)
  • Self test (39)
  • Self test (41)
  • Self test (42)
  • Self test (438)
  • Self test (44)
  • Self test (46)
  • Self test (47)
  • ...
pParse->nErr>0Description
TRUEevaluated 1756 times by 6 tests
Evaluated by:
  • Self test (438)
  • Self test (47)
  • Self test (61)
  • Self test (78)
  • Self test (80)
  • Self test (82)
FALSEevaluated 494030 times by 436 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)
  • ...
pParse->nested==0Description
TRUEevaluated 1755 times by 6 tests
Evaluated by:
  • Self test (438)
  • Self test (47)
  • Self test (61)
  • Self test (78)
  • Self test (80)
  • Self test (82)
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test (438)
1-495786
677 sqlite3VdbeDelete(pParse->pVdbe);-
678 pParse->pVdbe = 0;-
679 }
executed 1755 times by 6 tests: end of block
Executed by:
  • Self test (438)
  • Self test (47)
  • Self test (61)
  • Self test (78)
  • Self test (80)
  • Self test (82)
1755
680#ifndef SQLITE_OMIT_SHARED_CACHE-
681 if( pParse->nested==0 ){
pParse->nested==0Description
TRUEevaluated 497589 times by 436 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 41310 times by 33 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 (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)
  • ...
41310-497589
682 sqlite3DbFree(db, pParse->aTableLock);-
683 pParse->aTableLock = 0;-
684 pParse->nTableLock = 0;-
685 }
executed 497589 times by 436 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)
  • ...
497589
686#endif-
687#ifndef SQLITE_OMIT_VIRTUALTABLE-
688 sqlite3_free(pParse->apVtabLock);-
689#endif-
690-
691 if( !IN_SPECIAL_PARSE ){
!(pParse->eParseMode!=0)Description
TRUEevaluated 528111 times by 436 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 10788 times by 1 test
Evaluated by:
  • Self test (438)
10788-528111
692 /* If the pParse->declareVtab flag is set, do not delete any table -
693 ** structure built up in pParse->pNewTable. The calling code (see vtab.c)-
694 ** will take responsibility for freeing the Table structure.-
695 */-
696 sqlite3DeleteTable(db, pParse->pNewTable);-
697 }
executed 528111 times by 436 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)
  • ...
528111
698 if( !IN_RENAME_OBJECT ){
!(pParse->eParseMode>=2)Description
TRUEevaluated 537728 times by 436 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 1171 times by 1 test
Evaluated by:
  • Self test (438)
1171-537728
699 sqlite3DeleteTrigger(db, pParse->pNewTrigger);-
700 }
executed 537728 times by 436 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)
  • ...
537728
701-
702 if( pParse->pWithToFree ) sqlite3WithDelete(db, pParse->pWithToFree);
executed 167 times by 1 test: sqlite3WithDelete(db, pParse->pWithToFree);
Executed by:
  • Self test (438)
pParse->pWithToFreeDescription
TRUEevaluated 167 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 538732 times by 436 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)
  • ...
167-538732
703 sqlite3DbFree(db, pParse->pVList);-
704 while( pParse->pAinc ){
pParse->pAincDescription
TRUEevaluated 86 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 538899 times by 436 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)
  • ...
86-538899
705 AutoincInfo *p = pParse->pAinc;-
706 pParse->pAinc = p->pNext;-
707 sqlite3DbFreeNN(db, p);-
708 }
executed 86 times by 1 test: end of block
Executed by:
  • Self test (438)
86
709 while( pParse->pZombieTab ){
pParse->pZombieTabDescription
TRUEevaluated 612 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 538899 times by 436 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)
  • ...
612-538899
710 Table *p = pParse->pZombieTab;-
711 pParse->pZombieTab = p->pNextZombie;-
712 sqlite3DeleteTable(db, p);-
713 }
executed 612 times by 1 test: end of block
Executed by:
  • Self test (438)
612
714 assert( nErr==0 || pParse->rc!=SQLITE_OK );-
715 return nErr;
executed 538899 times by 436 tests: return nErr;
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)
  • ...
538899
716}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2