Remove references to temporary registers from the compiler column-cache when such registers are released. Fix for #3201. (CVS 5341)
FossilOrigin-Name: f099d6773a837dbe4ba85a8fda818e2d9466e743
diff --git a/src/expr.c b/src/expr.c
index e548d02..137a0d3 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -12,7 +12,7 @@
** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite.
**
-** $Id: expr.c,v 1.381 2008/06/27 00:52:45 drh Exp $
+** $Id: expr.c,v 1.382 2008/07/04 09:15:11 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -3568,6 +3568,7 @@
}
void sqlite3ReleaseTempReg(Parse *pParse, int iReg){
if( iReg && pParse->nTempReg<ArraySize(pParse->aTempReg) ){
+ sqlite3ExprWritableRegister(pParse, iReg, iReg);
pParse->aTempReg[pParse->nTempReg++] = iReg;
}
}