diff options
author | drh <drh@noemail.net> | 2006-06-13 01:04:52 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2006-06-13 01:04:52 +0000 |
commit | a967e88645cbb47db0c24fc5490821b287db45c8 (patch) | |
tree | a8ca9cc4e5ab4d6db40da6f42ce3d4ccea88a24e /src/expr.c | |
parent | 9eff61675098356bbd31a73451266e10af0914ec (diff) | |
download | sqlite-a967e88645cbb47db0c24fc5490821b287db45c8.tar.gz sqlite-a967e88645cbb47db0c24fc5490821b287db45c8.zip |
Progress toward getting the virtual-table code generator to work. (CVS 3220)
FossilOrigin-Name: 3532f1340f939b0231c1d82a7b2d186cb096fb29
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/expr.c b/src/expr.c index 5a721ab85..94eb8ec35 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.259 2006/06/11 23:41:55 drh Exp $ +** $Id: expr.c,v 1.260 2006/06/13 01:04:52 drh Exp $ */ #include "sqliteInt.h" #include <ctype.h> @@ -1489,7 +1489,8 @@ void sqlite3ExprCode(Parse *pParse, Expr *pExpr){ }else if( pExpr->iColumn>=0 ){ Table *pTab = pExpr->pTab; int iCol = pExpr->iColumn; - sqlite3VdbeAddOp(v, OP_Column, pExpr->iTable, iCol); + sqlite3VdbeAddOp(v, pTab->isVirtual ? OP_VColumn : OP_Column, + pExpr->iTable, iCol); sqlite3ColumnDefault(v, pTab, iCol); #ifndef SQLITE_OMIT_FLOATING_POINT if( pTab && pTab->aCol[iCol].affinity==SQLITE_AFF_REAL ){ @@ -1497,7 +1498,8 @@ void sqlite3ExprCode(Parse *pParse, Expr *pExpr){ } #endif }else{ - sqlite3VdbeAddOp(v, OP_Rowid, pExpr->iTable, 0); + sqlite3VdbeAddOp(v, pExpr->pTab->isVirtual ? OP_VRowid : OP_Rowid, + pExpr->iTable, 0); } break; } |