SQLite

Check-in [3f575847]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Strive to make sorts stable in the mkpragmatab.tcl build script, so that we get consistent amalgamations regardless of platform. Forum thread c9914addebf3da51.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 3f57584710d611748eb0af797c58c72e4ac099db09f5286cafdbd9a8ce354c90
User & Date: drh 2025-02-27 16:07:49
Context
2025-02-28
01:06
Strive to make sorts stable in the mkpragmatab.tcl build script, so that we get consistent amalgamations regardless of platform. Forum thread c9914addebf3da51. (check-in: 8b5996f4 user: stephan tags: branch-3.49)
2025-02-27
19:40
Reimplement testrunner_data.tcl::trd_get_bin_name() to assume a .exe extension on all platforms not matching "unix", to avoid having to do file-exists checks. (check-in: ce551910 user: stephan tags: trunk)
16:07
Strive to make sorts stable in the mkpragmatab.tcl build script, so that we get consistent amalgamations regardless of platform. Forum thread c9914addebf3da51. (check-in: 3f575847 user: drh tags: trunk)
15:55
Merge back a sequence of three changes that were branched due to a build break. (check-in: 67809715 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to tool/mkpragmatab.tcl.
524
525
526
527
528
529
530
531

532
533
534


535
536
537
538
539
540
541
set fv 1
foreach f [lsort [array names allflags]] {
  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

#
proc colscmp {a b} {
  return [expr {[llength $b] - [llength $a]}]


}
set cols_list [lsort -command colscmp $cols_list]

# Generate the array of column names used by pragmas that act like
# queries.
#
puts $fd "\n/* Names of columns for pragmas that return multi-column result"







|
>


|
>
>







524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
set fv 1
foreach f [lsort [array names allflags]] {
  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.
# In the event of a tie, sort column lists lexicographically.
#
proc colscmp {a b} {
  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.
#
puts $fd "\n/* Names of columns for pragmas that return multi-column result"