Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix a couple of unreachable branches. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
8f391dffcfe068d48f854784648610d8 |
User & Date: | drh 2015-04-16 20:27:09.079 |
Context
2015-04-16
| ||
21:57 | Use a heap rather than a bitmap for cell coverage and overlap testing on btree pages in PRAGMA integrity_check. (check-in: e94b2ef224 user: drh tags: trunk) | |
20:27 | Fix a couple of unreachable branches. (check-in: 8f391dffcf user: drh tags: trunk) | |
20:10 | Fix a boundry-value condition in the phrase poslist extractor of FTS3/4. (check-in: 55d10baf0b user: drh tags: trunk) | |
Changes
Changes to src/parse.y.
︙ | ︙ | |||
505 506 507 508 509 510 511 | %destructor values {sqlite3SelectDelete(pParse->db, $$);} values(A) ::= VALUES LP nexprlist(X) RP. { A = sqlite3SelectNew(pParse,X,0,0,0,0,0,SF_Values,0,0); } values(A) ::= values(X) COMMA LP exprlist(Y) RP. { Select *pRight, *pLeft = X; pRight = sqlite3SelectNew(pParse,Y,0,0,0,0,0,SF_Values|SF_MultiValue,0,0); | | | 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 | %destructor values {sqlite3SelectDelete(pParse->db, $$);} values(A) ::= VALUES LP nexprlist(X) RP. { A = sqlite3SelectNew(pParse,X,0,0,0,0,0,SF_Values,0,0); } values(A) ::= values(X) COMMA LP exprlist(Y) RP. { Select *pRight, *pLeft = X; pRight = sqlite3SelectNew(pParse,Y,0,0,0,0,0,SF_Values|SF_MultiValue,0,0); if( ALWAYS(pLeft) ) pLeft->selFlags &= ~SF_MultiValue; if( pRight ){ pRight->op = TK_ALL; pLeft = X; pRight->pPrior = pLeft; A = pRight; }else{ A = pLeft; |
︙ | ︙ |
Changes to src/tokenize.c.
︙ | ︙ | |||
512 513 514 515 516 517 518 | sqlite3DbFree(db, p); } while( pParse->pZombieTab ){ Table *p = pParse->pZombieTab; pParse->pZombieTab = p->pNextZombie; sqlite3DeleteTable(db, p); } | < | < | 512 513 514 515 516 517 518 519 520 521 | sqlite3DbFree(db, p); } while( pParse->pZombieTab ){ Table *p = pParse->pZombieTab; pParse->pZombieTab = p->pNextZombie; sqlite3DeleteTable(db, p); } assert( nErr==0 || pParse->rc!=SQLITE_OK ); return nErr; } |