From 0e522c068a8ff85aaadc4e61ab57a4090908a2da Mon Sep 17 00:00:00 2001 From: drh <> Date: Tue, 18 Oct 2022 13:27:31 +0000 Subject: [PATCH] Correct sort order for serial-type 10 entries in the database file. This is a continuation of [4fb77e96fa89a23a]. FossilOrigin-Name: 904b54625d985e742888e06ba792cab316b9ec9d6669d9cf509bac48030373ca --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/vdbeaux.c | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index afb62b8e86..c13ee1adf0 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\ssqlite3VdbeRecordCompareWithSkip()\sso\sthat\sit\ssorts\sthe\sinternal-use\nserial-type\sof\s10\stogether\swith\sNULLs.\ndbsqlfuzz\s5ff35e9d49a5fcca5051e23960ff2f483a538bab -D 2022-10-18T10:27:06.495 +C Correct\ssort\sorder\sfor\sserial-type\s10\sentries\sin\sthe\sdatabase\sfile.\s\sThis\nis\sa\scontinuation\sof\s[4fb77e96fa89a23a]. +D 2022-10-18T13:27:31.501 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -697,7 +697,7 @@ F src/vdbe.c 0c7cb1b934ad8611e14e7efaf2c3a95df7dd3f7964d63ea07fef42a23df86131 F src/vdbe.h 58675f47dcf3105bab182c3ad3726efd60ffd003e954386904ac9107d0d2b743 F src/vdbeInt.h 17b7461ffcf9ee760d1341731715a419f6b8c763089a7ece25c2e8098d702b3f F src/vdbeapi.c 1e8713d0b653acb43cd1bdf579c40e005c4844ea90f414f065946a83db3c27fb -F src/vdbeaux.c fe4e8d270582d5eb7c4d44222b74584d8e47c5e6ba90849416115ce5eb47d5a4 +F src/vdbeaux.c 6d0a75c1fbc7efea6924f6895ebceca664001464bc7ac56949d3c60aa5e498a0 F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd F src/vdbemem.c 6cfed43758d57b6e3b99d9cdedfeccd86e45a07e427b22d8487cbdbebb6c522a F src/vdbesort.c 43756031ca7430f7aec3ef904824a7883c4ede783e51f280d99b9b65c0796e35 @@ -2035,8 +2035,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 c9080b6505b839cc0bb5bd25ce7df0daa91a0a303d037ffe6e77888c8584b932 -R c6933aa36b3965399e80dc36fb15b922 +P 4fb77e96fa89a23a9365320c4190834edd6c09cfaf1ca30b34ce19b747ebbec0 +R 5c6e987358d9e0bba6df4dc33586711a U drh -Z f66ba4d30fb256e3ce3a8281933b3c32 +Z 8c0c9fb2c03809d55de676732eaf3a4b # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 82a1ebdb17..250cad019b 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -4fb77e96fa89a23a9365320c4190834edd6c09cfaf1ca30b34ce19b747ebbec0 \ No newline at end of file +904b54625d985e742888e06ba792cab316b9ec9d6669d9cf509bac48030373ca \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 67de532d80..131740ac6c 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -4585,7 +4585,7 @@ int sqlite3VdbeRecordCompareWithSkip( serial_type = aKey1[idx1]; testcase( serial_type==12 ); if( serial_type>=10 ){ - rc = +1; + rc = serial_type==10 ? -1 : +1; }else if( serial_type==0 ){ rc = -1; }else if( serial_type==7 ){ @@ -4610,7 +4610,7 @@ int sqlite3VdbeRecordCompareWithSkip( ** numbers). Types 10 and 11 are currently "reserved for future ** use", so it doesn't really matter what the results of comparing ** them to numberic values are. */ - rc = +1; + rc = serial_type==10 ? -1 : +1; }else if( serial_type==0 ){ rc = -1; }else{