Fossil

Check-in [3c03634ee9]
Login

Check-in [3c03634ee9]

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

Overview
Comment:Increase the minimum SQLite version to 3.49.0. Really we only need to go to 3.47.0 (due to the previous check-in on this branch) but 3.49.0 is a better choice so let's just require it.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | min-from-to
Files: files | file ages | folders
SHA3-256: 3c03634ee98800628a0f9883c29bef712e48eee3b8f8e81b427619f201475c97
User & Date: drh 2025-03-09 18:03:19.012
Context
2025-03-09
19:28
Add the "min" query parameter to /timeline. Other minor bug fixes found while working on the new feature. The priority queue implementation was rewritten. Minimum SQLite increased to 3.49.0. ... (check-in: 4e23c2a91a user: drh tags: trunk)
18:03
Increase the minimum SQLite version to 3.49.0. Really we only need to go to 3.47.0 (due to the previous check-in on this branch) but 3.49.0 is a better choice so let's just require it. ... (Closed-Leaf check-in: 3c03634ee9 user: drh tags: min-from-to)
17:55
Fix a bug in recursive CTE used to help implement from=,bt= which which might result in an incorrect answer. The original query was put in place prior to the "subquery-order-by-optimization" patch to SQLite ([src:/info/20240816185146|2024-08-16]) version 3.47.0. Without that optimization, the query runs slowly. Also: a comment typo fix. ... (check-in: 29f946923e user: drh tags: min-from-to)
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.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
}







|







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.49.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
740
741

  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);
  memset(&g, 0, sizeof(g));
  g.now = time(0);







|
|

|







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

  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()<3049000
   || strncmp(sqlite3_sourceid(),"2025-02-06",10)<0
  ){
    fossil_panic("Unsuitable SQLite version %s, must be at least 3.49.0",
                 sqlite3_libversion());
  }

  sqlite3_config(SQLITE_CONFIG_MULTITHREAD);
  sqlite3_config(SQLITE_CONFIG_LOG, fossil_sqlite_log, 0);
  memset(&g, 0, sizeof(g));
  g.now = time(0);