Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 ** 2001 September 15 | 2 ** 2001 September 15 |
| 3 ** | 3 ** |
| 4 ** The author disclaims copyright to this source code. In place of | 4 ** The author disclaims copyright to this source code. In place of |
| 5 ** a legal notice, here is a blessing: | 5 ** a legal notice, here is a blessing: |
| 6 ** | 6 ** |
| 7 ** May you do good and not evil. | 7 ** May you do good and not evil. |
| 8 ** May you find forgiveness for yourself and forgive others. | 8 ** May you find forgiveness for yourself and forgive others. |
| 9 ** May you share freely, never taking more than you give. | 9 ** May you share freely, never taking more than you give. |
| 10 ** | 10 ** |
| (...skipping 561 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 572 if( i>pParse->nVar ){ | 572 if( i>pParse->nVar ){ |
| 573 pParse->nVar = (int)i; | 573 pParse->nVar = (int)i; |
| 574 } | 574 } |
| 575 }else{ | 575 }else{ |
| 576 /* Wildcards like ":aaa", "$aaa" or "@aaa". Reuse the same variable | 576 /* Wildcards like ":aaa", "$aaa" or "@aaa". Reuse the same variable |
| 577 ** number as the prior appearance of the same name, or if the name | 577 ** number as the prior appearance of the same name, or if the name |
| 578 ** has never appeared before, reuse the same variable number | 578 ** has never appeared before, reuse the same variable number |
| 579 */ | 579 */ |
| 580 int i; | 580 int i; |
| 581 u32 n; | 581 u32 n; |
| 582 n = sqlite3Strlen30(z); | 582 n = sqlite3Strlen30(z); |
|
wtc
2013/05/08 22:39:27
The variable |n| can be removed. It is assigned a
Scott Hess - ex-Googler
2013/05/08 22:56:51
This was one of the spots where I had to manually
| |
| 583 for(i=0; i<pParse->nVarExpr; i++){ | 583 for(i=0; i<pParse->nVarExpr; i++){ |
| 584 Expr *pE = pParse->apVarExpr[i]; | 584 Expr *pE = pParse->apVarExpr[i]; |
| 585 assert( pE!=0 ); | 585 assert( pE!=0 ); |
| 586 if( memcmp(pE->u.zToken, z, n)==0 && pE->u.zToken[n]==0 ){ | 586 if( strcmp(pE->u.zToken, z)==0 ){ |
| 587 pExpr->iColumn = pE->iColumn; | 587 pExpr->iColumn = pE->iColumn; |
| 588 break; | 588 break; |
| 589 } | 589 } |
| 590 } | 590 } |
| 591 if( i>=pParse->nVarExpr ){ | 591 if( i>=pParse->nVarExpr ){ |
| 592 pExpr->iColumn = (ynVar)(++pParse->nVar); | 592 pExpr->iColumn = (ynVar)(++pParse->nVar); |
| 593 if( pParse->nVarExpr>=pParse->nVarExprAlloc-1 ){ | 593 if( pParse->nVarExpr>=pParse->nVarExprAlloc-1 ){ |
| 594 pParse->nVarExprAlloc += pParse->nVarExprAlloc + 10; | 594 pParse->nVarExprAlloc += pParse->nVarExprAlloc + 10; |
| 595 pParse->apVarExpr = | 595 pParse->apVarExpr = |
| 596 sqlite3DbReallocOrFree( | 596 sqlite3DbReallocOrFree( |
| (...skipping 3151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3748 } | 3748 } |
| 3749 return i; | 3749 return i; |
| 3750 } | 3750 } |
| 3751 void sqlite3ReleaseTempRange(Parse *pParse, int iReg, int nReg){ | 3751 void sqlite3ReleaseTempRange(Parse *pParse, int iReg, int nReg){ |
| 3752 sqlite3ExprCacheRemove(pParse, iReg, nReg); | 3752 sqlite3ExprCacheRemove(pParse, iReg, nReg); |
| 3753 if( nReg>pParse->nRangeReg ){ | 3753 if( nReg>pParse->nRangeReg ){ |
| 3754 pParse->nRangeReg = nReg; | 3754 pParse->nRangeReg = nReg; |
| 3755 pParse->iRangeReg = iReg; | 3755 pParse->iRangeReg = iReg; |
| 3756 } | 3756 } |
| 3757 } | 3757 } |
| OLD | NEW |