aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2022-03-31 11:12:56 +0000
committerdrh <>2022-03-31 11:12:56 +0000
commit89cf958c00b79d9f4590e024618afd47b241ea43 (patch)
tree8ff9b4f52f4448f91ae05e278c7b5bf7bbb5c5da /src
parent7e62146b13efe237c2b2d08c9841ecfb9eef7b77 (diff)
downloadsqlite-89cf958c00b79d9f4590e024618afd47b241ea43.tar.gz
sqlite-89cf958c00b79d9f4590e024618afd47b241ea43.zip
Refinement to [3f9887d4a58cbfdb]: The SQLITE_CONSTRAINT error should only
be returned if the prepared statement came from sqlite3_prepare_v2(). The legacy sqlite3_prepare() is documented to return only SQLITE_ERROR. FossilOrigin-Name: f2d9262e4427ab37ba26c004fc7a4790c86c1856d695a6b4ec3e72732ea54c09
Diffstat (limited to 'src')
-rw-r--r--src/vdbeaux.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/vdbeaux.c b/src/vdbeaux.c
index 56b433ef6..21b257818 100644
--- a/src/vdbeaux.c
+++ b/src/vdbeaux.c
@@ -2999,6 +2999,7 @@ int sqlite3VdbeCheckFk(Vdbe *p, int deferred){
p->rc = SQLITE_CONSTRAINT_FOREIGNKEY;
p->errorAction = OE_Abort;
sqlite3VdbeError(p, "FOREIGN KEY constraint failed");
+ if( (p->prepFlags & SQLITE_PREPARE_SAVESQL)==0 ) return SQLITE_ERROR;
return SQLITE_CONSTRAINT_FOREIGNKEY;
}
return SQLITE_OK;