sqlite3: add option for batch-atomic write support
authorJan Hoffmann <jan@3e8.eu>
Thu, 4 Feb 2021 19:41:50 +0000 (20:41 +0100)
committerEtienne Champetier <champetier.etienne@gmail.com>
Fri, 26 Feb 2021 22:31:24 +0000 (17:31 -0500)
This allows to build SQLite with support for the batch-atomic write
optimization. It makes use of atomic write support provided by the
underlying file system. Currently, this is only supported on F2FS. It
it does not work with overlayfs.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
libs/sqlite3/Config-lib.in
libs/sqlite3/Makefile

index 6e7ea18dcf5d58ed0c9ba3319c356310204850b7..bcf024aa6868865779e32a484d91c7e4971f8a40 100644 (file)
@@ -1,6 +1,12 @@
 menu "Configuration"
        depends on PACKAGE_libsqlite3
 
+config SQLITE3_BATCH_ATOMIC_WRITE
+       bool "Batch-atomic write support"
+       default n
+       help
+         Enable batch-atomic write optimization (supported only on F2FS).
+
 config SQLITE3_DYNAMIC_EXTENSIONS
        bool "Dynamic extensions"
        default y
index c55ec658de5a6bd77ac35e2f8c9d88d07278b3c3..274101a5f2104501263c169291dc9f74c018a026 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sqlite
 PKG_VERSION:=3330000
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-autoconf-$(PKG_VERSION).tar.gz
 PKG_HASH:=106a2c48c7f75a298a7557bcc0d5f4f454e5b43811cc738b7ca294d6956bbb15
@@ -31,6 +31,7 @@ PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 
 PKG_CONFIG_DEPENDS := \
+       CONFIG_SQLITE3_BATCH_ATOMIC_WRITE \
        CONFIG_SQLITE3_DYNAMIC_EXTENSIONS \
        CONFIG_SQLITE3_FTS3 \
        CONFIG_SQLITE3_FTS4 \
@@ -99,7 +100,8 @@ endef
 TARGET_CFLAGS += \
        -DHAVE_ISNAN \
        -DHAVE_MALLOC_USABLE_SIZE \
-       -DSQLITE_ENABLE_UNLOCK_NOTIFY
+       -DSQLITE_ENABLE_UNLOCK_NOTIFY \
+       $(if $(CONFIG_SQLITE3_BATCH_ATOMIC_WRITE),-DSQLITE_ENABLE_BATCH_ATOMIC_WRITE)
 
 CONFIGURE_ARGS += \
        --disable-debug \