From: drh <> Date: Sat, 4 Feb 2023 14:23:26 +0000 (+0000) Subject: Better error message when trying to do an INSERT on an sqlite_dbpage virtual X-Git-Tag: version-3.41.0~60 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ad1079e35cf866b9b1f483d0d09a528659845282;p=thirdparty%2Fsqlite.git Better error message when trying to do an INSERT on an sqlite_dbpage virtual table. FossilOrigin-Name: a98e4908dabc8f45f7859a26bd1d0c04de34ec68c1367c2cdd9b0242e08b938f --- diff --git a/manifest b/manifest index 9e663d8b03..07add447dc 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sproblem\swhere\soptimizing\san\sfts5\stable\stoo\soften\smight\scause\sit\sto\sbecome\sunreadable. -D 2023-02-03T19:28:50.245 +C Better\serror\smessage\swhen\strying\sto\sdo\san\sINSERT\son\san\ssqlite_dbpage\svirtual\ntable. +D 2023-02-04T14:23:26.691 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -568,7 +568,7 @@ F src/callback.c 4cd7225b26a97f7de5fee5ae10464bed5a78f2adefe19534cc2095b3a8ca484 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e F src/ctime.c 20507cc0b0a6c19cd882fcd0eaeda32ae6a4229fb4b024cfdf3183043d9b703d F src/date.c 94ce83b4cd848a387680a5f920c9018c16655db778c4d36525af0a0f34679ac5 -F src/dbpage.c 254e3a228892ab6139beda795ebc9c60b876aae59eb9cd9290d11dc261c8d824 +F src/dbpage.c ddc9df5c0d51dff21d610ba0e59dbf918148d966c034bcdfb9651d1832282828 F src/dbstat.c ec92074baa61d883de58c945162d9e666c13cd7cf3a23bc38b4d1c4d0b2c2bef F src/delete.c 86573edae75e3d3e9a8b590d87db8e47222103029df4f3e11fa56044459b514e F src/expr.c 204af6a83c191f5ac19ec4af6ecc546f188cc2dd1c76fc5280982f710ec4b9c4 @@ -2047,8 +2047,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 c045d76b908a8c90d22511df7884e78d452b250db9ba70d4cb0935048a3c3ac4 -R 9aa919e1795bdbbfadc2e1b4fd78e937 -U dan -Z 5ef66db1c609ad0014c2e264f8ab0e6a +P 35bed981416269018a0d52171d9997c43d3b097f5db1910d10d882eabe2e137f +R 7386f09ea9b1844db9d9a8f334747060 +U drh +Z 9008008dfbb3677f903fa2808a7570c9 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 89c2c8a526..e2e70b2d84 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -35bed981416269018a0d52171d9997c43d3b097f5db1910d10d882eabe2e137f \ No newline at end of file +a98e4908dabc8f45f7859a26bd1d0c04de34ec68c1367c2cdd9b0242e08b938f \ No newline at end of file diff --git a/src/dbpage.c b/src/dbpage.c index 9378dd4fc4..d02f29fb32 100644 --- a/src/dbpage.c +++ b/src/dbpage.c @@ -337,7 +337,9 @@ static int dbpageUpdate( goto update_fail; } pgno = sqlite3_value_int(argv[0]); - if( (Pgno)sqlite3_value_int(argv[1])!=pgno ){ + if( sqlite3_value_type(argv[0])==SQLITE_NULL + || (Pgno)sqlite3_value_int(argv[1])!=pgno + ){ zErr = "cannot insert"; goto update_fail; }