diff options
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c index d5dda96ca..c50a2c077 100644 --- a/src/expr.c +++ b/src/expr.c @@ -2559,13 +2559,19 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){ } case TK_TRIGGER: { - int iVal = pExpr->iTable * (pExpr->pTab->nCol+1) + 1 + pExpr->iColumn; + Table *pTab = pExpr->pTab; + int iVal = pExpr->iTable * (pTab->nCol+1) + 1 + pExpr->iColumn; sqlite3VdbeAddOp2(v, OP_Param, iVal, target); VdbeComment((v, "%s.%s -> $%d", (pExpr->iTable ? "new" : "old"), (pExpr->iColumn<0 ? "rowid" : pExpr->pTab->aCol[pExpr->iColumn].zName), target )); + if( pExpr->iColumn>=0 + && pTab->aCol[pExpr->iColumn].affinity==SQLITE_AFF_REAL + ){ + sqlite3VdbeAddOp1(v, OP_RealAffinity, target); + } break; } |