diff options
author | drh <> | 2022-03-31 11:12:56 +0000 |
---|---|---|
committer | drh <> | 2022-03-31 11:12:56 +0000 |
commit | 89cf958c00b79d9f4590e024618afd47b241ea43 (patch) | |
tree | 8ff9b4f52f4448f91ae05e278c7b5bf7bbb5c5da /src | |
parent | 7e62146b13efe237c2b2d08c9841ecfb9eef7b77 (diff) | |
download | sqlite-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.c | 1 |
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; |