mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
Ensure that the affinity of columns is honored in the RETURNING clause.
See [forum:/forumpost/e0c7574ab2|forum post e0c7574ab2] for the bug report. FossilOrigin-Name: 4711fb69547f4f17653ab116030c32fdcc2c836410349d1d025866ffc15704da
This commit is contained in:
@@ -953,7 +953,12 @@ static void codeReturningTrigger(
|
||||
pReturning->iRetReg = reg;
|
||||
for(i=0; i<nCol; i++){
|
||||
Expr *pCol = pNew->a[i].pExpr;
|
||||
assert( pCol!=0 || pParse->db->mallocFailed );
|
||||
if( pCol==0 ) continue;
|
||||
sqlite3ExprCodeFactorable(pParse, pCol, reg+i);
|
||||
if( sqlite3ExprAffinity(pCol)==SQLITE_AFF_REAL ){
|
||||
sqlite3VdbeAddOp1(v, OP_RealAffinity, reg+i);
|
||||
}
|
||||
}
|
||||
sqlite3VdbeAddOp3(v, OP_MakeRecord, reg, i, reg+i);
|
||||
sqlite3VdbeAddOp2(v, OP_NewRowid, pReturning->iRetCur, reg+i+1);
|
||||
|
Reference in New Issue
Block a user