]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Strive to make sorts stable in the mkpragmatab.tcl build script, so that
authorstephan <stephan@noemail.net>
Fri, 28 Feb 2025 01:06:14 +0000 (01:06 +0000)
committerstephan <stephan@noemail.net>
Fri, 28 Feb 2025 01:06:14 +0000 (01:06 +0000)
we get consistent amalgamations regardless of platform.
[forum:/forumpost/c9914addebf3da51|Forum thread c9914addebf3da51].

FossilOrigin-Name: 8b5996f45ff45d7f0cfc17ec1469f246f8cdc5d85387c33f23d64d429d142d65

manifest
manifest.uuid
tool/mkpragmatab.tcl

index 9c678300dd93bfbe902fe59bce514708817ed2a4..59176353c59d14e0cb73baacfc86987521652b0c 100644 (file)
--- 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.
index 5da9a7fba9fe25d04b4b22a5c408884d384477e1..e8a463865c4fe6313fcbf48c1c33d8c0a29ef9d4 100644 (file)
@@ -1 +1 @@
-9d5b97dd92f68370bcef02eb8621d893cecc1aa2c4c6fb8f04f7c5bdd84bc533
+8b5996f45ff45d7f0cfc17ec1469f246f8cdc5d85387c33f23d64d429d142d65
index 2b5b6fdcdba75aaca9e5d5a78dcfc7e3ef0dcac4..8a0b5c6fa6053e48dc799c92d7173b566af1e3e9 100644 (file)
@@ -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]