From: drh <> Date: Mon, 14 Mar 2022 16:54:05 +0000 (+0000) Subject: Foreign key constraint failures should return SQLITE_CONSTRAINT_FOREIGNKEY X-Git-Tag: version-3.39.0~306 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=90402d4d541e80a8e12cc75e41029b2cbcc555d0;p=thirdparty%2Fsqlite.git Foreign key constraint failures should return SQLITE_CONSTRAINT_FOREIGNKEY even if there is a RETURNING clause. See [forum:/forumpost/e6be6e82c86aa59b|forum thread e6be6e82c86aa59b]. FossilOrigin-Name: 3f9887d4a58cbfdbabf2a37e975c81ba660f373414058920b379f3a81e6e1c2c --- diff --git a/manifest b/manifest index 32242ebdcf..705d7b502f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sa\scomment\slinking\sa\spart\sof\sthe\sUPDATE\sconstraint\schecking\scode\sto\none\sof\sthe\scorresponding\sTH3\stest\scases. -D 2022-03-11T15:42:05.493 +C Foreign\skey\sconstraint\sfailures\sshould\sreturn\sSQLITE_CONSTRAINT_FOREIGNKEY\neven\sif\sthere\sis\sa\sRETURNING\sclause.\s\sSee\n[forum:/forumpost/e6be6e82c86aa59b|forum\sthread\se6be6e82c86aa59b]. +D 2022-03-14T16:54:05.621 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -628,7 +628,7 @@ F src/vdbe.c b1830c6daf744473a732257652b6431ac18032f508a3e30ff3a1466fe5978559 F src/vdbe.h a1d0e3b934e835e73edd146f2e7c4eadb711b5c9875c18159a57483fd78e550e F src/vdbeInt.h 8dd91427155a38ec06e9ecbde07e33f21bc02e101625191e7613f883e379a363 F src/vdbeapi.c 1c80efbe51118bbecc7279023e75d18edcfa4b3dc441287e1718ee70ad594f58 -F src/vdbeaux.c 2870683ec4a50276a32ebbe32300732dbfc47c3207662bd767c8d612620a9d78 +F src/vdbeaux.c 33c61dc3dbe920f262371ad2ba3e10277d27d8e35ee86075e2aef74113eae251 F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd F src/vdbemem.c 57fceb4ed6aac960e9517c963dc0668189e8b7c8e6216d257030a2f5e9a583df F src/vdbesort.c 43756031ca7430f7aec3ef904824a7883c4ede783e51f280d99b9b65c0796e35 @@ -1944,8 +1944,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 5d739aff96c47146dba72fd76fed62d4e43ded09b32246fdde13d5467f713135 -R fe298d8fac60be400e4a8c74276154d9 +P 0606e8e93edb5de4d154f377dbf91f15295d25ca9013c0f1612ae6d63a0139ea +R 2439bf04cf15e67a5b6dba1b18f0930e U drh -Z 318438bd874dd4bc6c146383b35f409b +Z abecf5a0440cfbfb9a09cffcb215231b # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 5a00a628e2..098c158d06 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0606e8e93edb5de4d154f377dbf91f15295d25ca9013c0f1612ae6d63a0139ea \ No newline at end of file +3f9887d4a58cbfdbabf2a37e975c81ba660f373414058920b379f3a81e6e1c2c \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index aea932125c..be6406cffc 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -2994,7 +2994,7 @@ int sqlite3VdbeCheckFk(Vdbe *p, int deferred){ p->rc = SQLITE_CONSTRAINT_FOREIGNKEY; p->errorAction = OE_Abort; sqlite3VdbeError(p, "FOREIGN KEY constraint failed"); - return SQLITE_ERROR; + return SQLITE_CONSTRAINT_FOREIGNKEY; } return SQLITE_OK; }