Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Another fix to the same assert as in (6555). It can also fail after a malloc error. (CVS 6556) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
e096f90a57f0e0d1dbeaafc72762035c |
User & Date: | danielk1977 2009-04-28 12:08:15.000 |
Context
2009-04-28
| ||
13:01 | Do not store the zero string terminator as part of the name when holding symbols in the symbol table. (CVS 6557) (check-in: 23d67af392 user: drh tags: trunk) | |
12:08 | Another fix to the same assert as in (6555). It can also fail after a malloc error. (CVS 6556) (check-in: e096f90a57 user: danielk1977 tags: trunk) | |
11:10 | Fix an assert that could fail after a parse error in expr.c. (CVS 6555) (check-in: a37d1174eb user: danielk1977 tags: trunk) | |
Changes
Changes to src/expr.c.
︙ | ︙ | |||
8 9 10 11 12 13 14 | ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This file contains routines used for analyzing expressions and ** for generating VDBE code that evaluates expressions in SQLite. ** | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This file contains routines used for analyzing expressions and ** for generating VDBE code that evaluates expressions in SQLite. ** ** $Id: expr.c,v 1.430 2009/04/28 12:08:15 danielk1977 Exp $ */ #include "sqliteInt.h" /* ** Return the 'affinity' of the expression pExpr if any. ** ** If pExpr is a column, a reference to a column via an 'AS' alias, |
︙ | ︙ | |||
2571 2572 2573 2574 2575 2576 2577 | if( pExpr->pRight ){ sqlite3ExprCachePush(pParse); sqlite3ExprCode(pParse, pExpr->pRight, target); sqlite3ExprCachePop(pParse, 1); }else{ sqlite3VdbeAddOp2(v, OP_Null, 0, target); } | > | | 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 | if( pExpr->pRight ){ sqlite3ExprCachePush(pParse); sqlite3ExprCode(pParse, pExpr->pRight, target); sqlite3ExprCachePop(pParse, 1); }else{ sqlite3VdbeAddOp2(v, OP_Null, 0, target); } assert( db->mallocFailed || pParse->nErr>0 || pParse->iCacheLevel==iCacheLevel ); sqlite3VdbeResolveLabel(v, endLabel); break; } #ifndef SQLITE_OMIT_TRIGGER case TK_RAISE: { if( !pParse->trigStack ){ sqlite3ErrorMsg(pParse, |
︙ | ︙ |