1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00

Fix the CSE mechanism so that it takes into account column affinity

changes that might be imposed by comparison operators. (CVS 4949)

FossilOrigin-Name: 91cc646e2b0c1d62a1989405cc9384a2c22d98d0
This commit is contained in:
drh
2008-04-01 05:07:14 +00:00
parent 2f7794c111
commit da250ea599
9 changed files with 106 additions and 73 deletions

View File

@@ -12,7 +12,7 @@
** This file contains C code routines that are called by the parser
** to handle UPDATE statements.
**
** $Id: update.c,v 1.174 2008/03/31 23:48:05 drh Exp $
** $Id: update.c,v 1.175 2008/04/01 05:07:15 drh Exp $
*/
#include "sqliteInt.h"
@@ -446,7 +446,7 @@ void sqlite3Update(
sqlite3VdbeAddOp3(v, OP_MakeRecord, regCols, pTab->nCol, regRow);
if( !isView ){
sqlite3TableAffinityStr(v, pTab);
sqlite3ExprExpireColumnCacheLines(pParse, regCols, regCols+pTab->nCol-1);
sqlite3ExprCacheAffinityChange(pParse, regCols, pTab->nCol);
}
sqlite3ReleaseTempRange(pParse, regCols, pTab->nCol);
if( pParse->nErr ) goto update_cleanup;