From: stephan Date: Fri, 28 Feb 2025 01:06:14 +0000 (+0000) Subject: Strive to make sorts stable in the mkpragmatab.tcl build script, so that X-Git-Tag: version-3.49.2~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9b7c5c247b155b876b9cbc076ebe50539bed2059;p=thirdparty%2Fsqlite.git Strive to make sorts stable in the mkpragmatab.tcl build script, so that we get consistent amalgamations regardless of platform. [forum:/forumpost/c9914addebf3da51|Forum thread c9914addebf3da51]. FossilOrigin-Name: 8b5996f45ff45d7f0cfc17ec1469f246f8cdc5d85387c33f23d64d429d142d65 --- diff --git a/manifest b/manifest index 9c678300dd..59176353c5 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Configure\sscript\scosmetics:\semit\sthe\shost/build\ssystem\sinfo\sbefore\sthe\sdirectory\sinfo. -D 2025-02-25T16:48:34.064 +C Strive\sto\smake\ssorts\sstable\sin\sthe\smkpragmatab.tcl\sbuild\sscript,\sso\sthat\nwe\sget\sconsistent\samalgamations\sregardless\sof\splatform.\n[forum:/forumpost/c9914addebf3da51|Forum\sthread\sc9914addebf3da51]. +D 2025-02-28T01:06:14.564 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d @@ -2152,7 +2152,7 @@ F tool/mkmsvcmin.tcl d76c45efda1cce2d4005bcea7b8a22bb752e3256009f331120fb4fecb14 F tool/mkopcodec.tcl 33d20791e191df43209b77d37f0ff0904620b28465cca6990cf8d60da61a07ef F tool/mkopcodeh.tcl 2b4e6967a670ef21bf53a164964c35c6163277d002a4c6f56fa231d68c88d023 F tool/mkopts.tcl 680f785fdb09729fd9ac50632413da4eadbdf9071535e3f26d03795828ab07fa -F tool/mkpragmatab.tcl 32e359ccb21011958a821955254bd7a5fa7915d01a8c16fed91ffc8b40cb4adf +F tool/mkpragmatab.tcl f9339d207de40cb57e8dc7a53817dac8e63a4d4f38a7b815e62cd67f68be70d8 F tool/mkshellc.tcl 9ce74de0fa904a2c56a96f8d8b5261246bacb0eaa8d7e184f9e18ff94145ebbc F tool/mksourceid.c 36aa8020014aed0836fd13c51d6dc9219b0df1761d6b5f58ff5b616211b079b9 F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97 @@ -2209,9 +2209,9 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 144aacfdf76d89d30f0f6f4dfccd686d3a219f778f98487264b6ef69331ae722 -Q +6f0b6d95db17e69ac7e46a39f52770291ac4cfe43eea09add224946a6e11f04e -R a177374df3571a18a886195e5479e3e0 +P 9d5b97dd92f68370bcef02eb8621d893cecc1aa2c4c6fb8f04f7c5bdd84bc533 +Q +3f57584710d611748eb0af797c58c72e4ac099db09f5286cafdbd9a8ce354c90 +R fec3769b310138f667e6adadcd5b9600 U stephan -Z 7acc5317cd65185efe88aa8bd68f469b +Z 6332856622713ac862f9815f5b7ab22b # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 5da9a7fba9..e8a463865c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -9d5b97dd92f68370bcef02eb8621d893cecc1aa2c4c6fb8f04f7c5bdd84bc533 +8b5996f45ff45d7f0cfc17ec1469f246f8cdc5d85387c33f23d64d429d142d65 diff --git a/tool/mkpragmatab.tcl b/tool/mkpragmatab.tcl index 2b5b6fdcdb..8a0b5c6fa6 100644 --- a/tool/mkpragmatab.tcl +++ b/tool/mkpragmatab.tcl @@ -528,10 +528,13 @@ foreach f [lsort [array names allflags]] { set fv [expr {$fv*2}] } -# Sort the column lists so that longer column lists occur first +# Sort the column lists so that longer column lists occur first. +# In the event of a tie, sort column lists lexicographically. # proc colscmp {a b} { - return [expr {[llength $b] - [llength $a]}] + set rc [expr {[llength $b] - [llength $a]}] + if {$rc} {return $rc} + return [string compare $a $b] } set cols_list [lsort -command colscmp $cols_list]