1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-11 01:42:22 +03:00

The REPLACE conflict resolution falls back to FAIL when on a

CHECK constraint violation.  Ticket #2525. (CVS 4178)

FossilOrigin-Name: b213614abff90c65cc7228c87f4973150e8a9679
This commit is contained in:
drh
2007-07-23 19:39:46 +00:00
parent 95bdbbbd9e
commit 2e06c67c08
4 changed files with 32 additions and 11 deletions

View File

@@ -12,7 +12,7 @@
** This file contains C code routines that are called by the parser
** to handle INSERT statements in SQLite.
**
** $Id: insert.c,v 1.187 2007/06/26 10:38:55 danielk1977 Exp $
** $Id: insert.c,v 1.188 2007/07/23 19:39:47 drh Exp $
*/
#include "sqliteInt.h"
@@ -1027,7 +1027,7 @@ void sqlite3GenerateConstraintChecks(
assert( pParse->ckOffset==nCol );
pParse->ckOffset = 0;
onError = overrideError!=OE_Default ? overrideError : OE_Abort;
if( onError==OE_Ignore || onError==OE_Replace ){
if( onError==OE_Ignore ){
sqlite3VdbeAddOp(v, OP_Pop, nCol+1+hasTwoRowids, 0);
sqlite3VdbeAddOp(v, OP_Goto, 0, ignoreDest);
}else{