Check-in [668fefe796]
Not logged in

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

Overview
Comment:Make sure Fossil is run with a version of SQLite that include the order-by-subquery optimization, to avoid a performance problem.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 668fefe796fd5e2441c80d98dad5b637bc7a94f705794797c28512f4409421cc
User & Date: drh 2024-08-16 19:28:37.832
Context
2024-08-21
09:20
/shun page: fix a typo reported in the forum and make the unshunned message more legible (not dark-on-dark) in the eagle and darkmode skins. check-in: dee17d9c1b user: stephan tags: trunk
2024-08-17
16:03
First draft to implement word-wrap for web UI diffs. The list of TODO items can be found on the branch wiki page. check-in: faf4b4718d user: florian tags: diff-word-wrap
2024-08-16
19:28
Make sure Fossil is run with a version of SQLite that include the order-by-subquery optimization, to avoid a performance problem. check-in: 668fefe796 user: drh tags: trunk
19:24
Fix the query in the compute_youngest_ancestor_in_branch() routine so that it has an ORDER BY to make it safe. The new order-by-subquery optimization in SQLite turns that ORDER BY into a no-op, so there is no performance impact. check-in: 60debc7ed7 user: drh tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to auto.def.
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
    compile-commands=0 =>
      "Check for compile_commands.json support."
}

# Update the minimum required SQLite version number here, and also
# in src/main.c near the sqlite3_libversion_number() call.  Take care
# that both places agree!
define MINIMUM_SQLITE_VERSION "3.43.0"

# This is useful for people wanting Fossil to use an external SQLite library
# to compare the one they have against the minimum required
if {[opt-bool print-minimum-sqlite-version]} {
    puts [get-define MINIMUM_SQLITE_VERSION]
    exit 0
}







|







34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
    compile-commands=0 =>
      "Check for compile_commands.json support."
}

# Update the minimum required SQLite version number here, and also
# in src/main.c near the sqlite3_libversion_number() call.  Take care
# that both places agree!
define MINIMUM_SQLITE_VERSION "3.46.0"

# This is useful for people wanting Fossil to use an external SQLite library
# to compare the one they have against the minimum required
if {[opt-bool print-minimum-sqlite-version]} {
    puts [get-define MINIMUM_SQLITE_VERSION]
    exit 0
}
Changes to src/main.c.
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739

  fossil_printf_selfcheck();
  fossil_limit_memory(1);

  /* When updating the minimum SQLite version, change the number here,
  ** and also MINIMUM_SQLITE_VERSION value set in ../auto.def.  Take
  ** care that both places agree! */
  if( sqlite3_libversion_number()<3043000
   || strncmp(sqlite3_sourceid(),"2023-06-12",10)<0
  ){
    fossil_panic("Unsuitable SQLite version %s, must be at least 3.43.0",
                 sqlite3_libversion());
  }

  sqlite3_config(SQLITE_CONFIG_MULTITHREAD);
  sqlite3_config(SQLITE_CONFIG_LOG, fossil_sqlite_log, 0);







|
|







724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739

  fossil_printf_selfcheck();
  fossil_limit_memory(1);

  /* When updating the minimum SQLite version, change the number here,
  ** and also MINIMUM_SQLITE_VERSION value set in ../auto.def.  Take
  ** care that both places agree! */
  if( sqlite3_libversion_number()<3046000
   || strncmp(sqlite3_sourceid(),"2024-08-16",10)<0
  ){
    fossil_panic("Unsuitable SQLite version %s, must be at least 3.43.0",
                 sqlite3_libversion());
  }

  sqlite3_config(SQLITE_CONFIG_MULTITHREAD);
  sqlite3_config(SQLITE_CONFIG_LOG, fossil_sqlite_log, 0);