#10 RFE: Enable FTS4 extensions (rhbz#1887106)
Merged 2 years ago by odubaj. Opened 2 years ago by ivzhh.
rpms/ ivzhh/sqlite master  into  master

file modified
+7 -2
@@ -12,7 +12,7 @@ 

  Summary: Library that implements an embeddable SQL database engine

  Name: sqlite

  Version: %{rpmver}

- Release: 1%{?dist}

+ Release: 2%{?dist}

  License: Public Domain

  URL: http://www.sqlite.org/

  
@@ -146,12 +146,14 @@ 

  

  %build

  export CFLAGS="$RPM_OPT_FLAGS $RPM_LD_FLAGS -DSQLITE_ENABLE_COLUMN_METADATA=1 \

-                -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=3 \

+                -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=1 \

                 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_SECURE_DELETE=1 \

                 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 \

                 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_JSON1=1 \

+                -DSQLITE_ENABLE_FTS4=1 \

                 -Wall -fno-strict-aliasing"

  %configure %{!?with_tcl:--disable-tcl} \

+            --enable-fts4 \

             --enable-fts5 \

             --enable-threadsafe \

             --enable-threads-override-locks \
@@ -257,6 +259,9 @@ 

  %endif

  

  %changelog

+ * Fri Oct 09 2020 Sheng Mao <shngmao@gmail.com> - 3.33.0-2

+ - Enable FTS4 extensions (rhbz#1887106)

+ 

  * Fri Aug 14 2020 Ondrej Dubaj <odubaj@redhat.com> - 3.33.0-1

  - Updated to version 3.33.0 (https://sqlite.org/releaselog/3_33_0.html)

  

SQLite currently supports FTS3~5 as full-text search engine. Since Aug 2017, FTS5 is enabled to support tracker (bugzilla #481417).

Fossil, the source code management tool for SQLite, requires FTS4 for full-text indexing. Fedora currently ships fossil 2.8 (Feb 2019), which is compiled with system's SQLite. Since Aug 2019, fossil adds a compatibility test to ./configure to ensure FTS4 support.

I confirm with Dr. Hipp, the author of SQLite and fossil, fossil requires FTS4 if user want to use "a server with search enabled" (it is a key feature). https://fossil-scm.org/forum/forumpost/72002a9978?t=h

Due to lack of FTS4 in SQLite in Fedora, fossil package 1) cannot update to version higher than 2.8; 2) is feature-incomplete.

Version-Release number of selected component (if applicable): all versions up to 3.33.0

How reproducible:

Use sqlcompattest.c file (https://fossil-scm.org/home/file?name=src/sqlcompattest.c&ci=tip) and compile with gcc sqlcompattest.c -lsqlite3. The result shows:

system SQLite library omits required build option -DSQLITE_ENABLE_FTS4

Thank you!

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1887106
COPR: https://copr.fedorainfracloud.org/coprs/ivzhh/sqlite-fts4/

Pull-Request has been merged by odubaj

2 years ago