# https://sqlite.org/src/vpatch?from=67809715977a5bad&to=3f57584710d61174 --- tool/mkpragmatab.tcl +++ tool/mkpragmatab.tcl @@ -526,14 +526,17 @@ puts $fd [format {#define PragFlg_%-10s 0x%02x /* %s */} \ $f $fv $flagMeaning($f)] 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] # Generate the array of column names used by pragmas that act like # queries.