sqlite3: add option for batch-atomic write support

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>
This commit is contained in:
Jan Hoffmann 2021-02-04 20:41:50 +01:00 committed by Etienne Champetier
parent d7a76b634a
commit 4bc7ba7fe8
2 changed files with 10 additions and 2 deletions

View File

@ -1,6 +1,12 @@
menu "Configuration" menu "Configuration"
depends on PACKAGE_libsqlite3 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 config SQLITE3_DYNAMIC_EXTENSIONS
bool "Dynamic extensions" bool "Dynamic extensions"
default y default y

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=sqlite PKG_NAME:=sqlite
PKG_VERSION:=3330000 PKG_VERSION:=3330000
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-autoconf-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-autoconf-$(PKG_VERSION).tar.gz
PKG_HASH:=106a2c48c7f75a298a7557bcc0d5f4f454e5b43811cc738b7ca294d6956bbb15 PKG_HASH:=106a2c48c7f75a298a7557bcc0d5f4f454e5b43811cc738b7ca294d6956bbb15
@ -31,6 +31,7 @@ PKG_FIXUP:=autoreconf
PKG_INSTALL:=1 PKG_INSTALL:=1
PKG_CONFIG_DEPENDS := \ PKG_CONFIG_DEPENDS := \
CONFIG_SQLITE3_BATCH_ATOMIC_WRITE \
CONFIG_SQLITE3_DYNAMIC_EXTENSIONS \ CONFIG_SQLITE3_DYNAMIC_EXTENSIONS \
CONFIG_SQLITE3_FTS3 \ CONFIG_SQLITE3_FTS3 \
CONFIG_SQLITE3_FTS4 \ CONFIG_SQLITE3_FTS4 \
@ -99,7 +100,8 @@ endef
TARGET_CFLAGS += \ TARGET_CFLAGS += \
-DHAVE_ISNAN \ -DHAVE_ISNAN \
-DHAVE_MALLOC_USABLE_SIZE \ -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 += \ CONFIGURE_ARGS += \
--disable-debug \ --disable-debug \