mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-08 03:22:21 +03:00
Bugfixes: Fix a segfault introduced as part of the new vtab code, deallocate memory in the Destroy() method of the echo module. (CVS 3221)
FossilOrigin-Name: f9ea9704755eee3fd29af7a47be1d41620be8835
This commit is contained in:
11
src/expr.c
11
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.260 2006/06/13 01:04:52 drh Exp $
|
||||
** $Id: expr.c,v 1.261 2006/06/13 04:11:44 danielk1977 Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
#include <ctype.h>
|
||||
@@ -1489,8 +1489,8 @@ void sqlite3ExprCode(Parse *pParse, Expr *pExpr){
|
||||
}else if( pExpr->iColumn>=0 ){
|
||||
Table *pTab = pExpr->pTab;
|
||||
int iCol = pExpr->iColumn;
|
||||
sqlite3VdbeAddOp(v, pTab->isVirtual ? OP_VColumn : OP_Column,
|
||||
pExpr->iTable, iCol);
|
||||
int op = (pTab && pTab->isVirtual) ? OP_VColumn : OP_Column;
|
||||
sqlite3VdbeAddOp(v, op, pExpr->iTable, iCol);
|
||||
sqlite3ColumnDefault(v, pTab, iCol);
|
||||
#ifndef SQLITE_OMIT_FLOATING_POINT
|
||||
if( pTab && pTab->aCol[iCol].affinity==SQLITE_AFF_REAL ){
|
||||
@@ -1498,8 +1498,9 @@ void sqlite3ExprCode(Parse *pParse, Expr *pExpr){
|
||||
}
|
||||
#endif
|
||||
}else{
|
||||
sqlite3VdbeAddOp(v, pExpr->pTab->isVirtual ? OP_VRowid : OP_Rowid,
|
||||
pExpr->iTable, 0);
|
||||
Table *pTab = pExpr->pTab;
|
||||
int op = (pTab && pTab->isVirtual) ? OP_VRowid : OP_Rowid;
|
||||
sqlite3VdbeAddOp(v, op, pExpr->iTable, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user