From a47bb8d0fde8b4de8fc3615be7cdbdf8611b28f9 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Thu, 17 Nov 2016 13:44:15 +0100 Subject: [PATCH 01/25] doc include sqlite version/build info --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index e9c0a49..33a501f 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,18 @@ This project is meant to help build a higher-level sqlite interface library, wit TBD API and some internal details (probably in a blog post) +## SQLite build information + +**SQLite version:** `3.12.2` + +**SQLite build flags:** +- `-DSQLITE_TEMP_STORE=2` +- `-DSQLITE_THREADSAFE=2` +- `-DSQLITE_ENABLE_FTS3` +- `-DSQLITE_ENABLE_FTS3_PARENTHESIS` +- `-DSQLITE_ENABLE_FTS4` +- `-DSQLITE_ENABLE_RTREE` + ## Major TODOs and limitations - Automatic AAR build From 520bcfe8f2bb4ab8d85cb403aaad1cbfd2d3d976 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Thu, 17 Nov 2016 13:55:14 +0100 Subject: [PATCH 02/25] Use old default page/cache size values Avoid "potential disruptive change" from 3.12.0 described at: - http://sqlite.org/releaselog/3_12_0.html - http://sqlite.org/pgszchng2016.html --- README.md | 4 ++++ jni/Android.mk | 13 +++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 33a501f..94d265f 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,10 @@ TBD API and some internal details (probably in a blog post) - `-DSQLITE_ENABLE_FTS3_PARENTHESIS` - `-DSQLITE_ENABLE_FTS4` - `-DSQLITE_ENABLE_RTREE` +- `-DSQLITE_DEFAULT_PAGE_SIZE=1024` +- `-DSQLITE_DEFAULT_CACHE_SIZE=2000` + +**NOTE:** Old default page/cache size values are used to avoid a "potentially disruptive change" described at: http://sqlite.org/pgszchng2016.html ## Major TODOs and limitations diff --git a/jni/Android.mk b/jni/Android.mk index 7f4da24..58adf9c 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -1,12 +1,21 @@ -# see http://mobile.tutsplus.com/tutorials/android/ndk-tutorial/ +# THANKS for initial guidance: +# https://code.tutsplus.com/tutorials/advanced-android-getting-started-with-the-ndk--mobile-2152 +# original location: +# http://mobile.tutsplus.com/tutorials/android/ndk-tutorial/ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_LDLIBS := -llog LOCAL_MODULE := sqlc-native-driver + LOCAL_C_INCLUDES := $(LOCAL_PATH)/../sqlite-amalgamation LOCAL_CFLAGS += -DSQLITE_TEMP_STORE=2 -DSQLITE_THREADSAFE=2 LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE +# Avoid "potential disruptive change" from 3.12.0 described at: +# - http://sqlite.org/releaselog/3_12_0.html +# - http://sqlite.org/pgszchng2016.html +LOCAL_CFLAGS += -DSQLITE_DEFAULT_PAGE_SIZE=1024 +LOCAL_CFLAGS += -DSQLITE_DEFAULT_CACHE_SIZE=2000 + LOCAL_SRC_FILES := ../native/sqlc_all.c include $(BUILD_SHARED_LIBRARY) - From 44bbd33fc67ad27b1ca7f74013b71fdd5a1bdf5b Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Thu, 17 Nov 2016 11:39:31 +0100 Subject: [PATCH 03/25] Use sqlite-amalgamation 3.15.1 --- README.md | 2 +- sqlite-amalgamation | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 94d265f..3b31791 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ TBD API and some internal details (probably in a blog post) ## SQLite build information -**SQLite version:** `3.12.2` +**SQLite version:** `3.15.1` **SQLite build flags:** - `-DSQLITE_TEMP_STORE=2` diff --git a/sqlite-amalgamation b/sqlite-amalgamation index e511418..898207b 160000 --- a/sqlite-amalgamation +++ b/sqlite-amalgamation @@ -1 +1 @@ -Subproject commit e511418767b4306681aab07f4acfa5c8d287af82 +Subproject commit 898207beb367ca1902a133f1b531022dd1776172 From 54bb41590f87a089fa0b9a12c894c769969e12de Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 14 Dec 2016 14:47:45 +0100 Subject: [PATCH 04/25] Fix __android_log_print module name --- native/sqlc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/native/sqlc.c b/native/sqlc.c index d2b297b..7985cbc 100644 --- a/native/sqlc.c +++ b/native/sqlc.c @@ -10,7 +10,7 @@ #ifdef SQLC_KEEP_ANDROID_LOG // ref: http://www.ibm.com/developerworks/opensource/tutorials/os-androidndk/index.html -#define MYLOG(...) __android_log_print(ANDROID_LOG_VERBOSE, "sqlg", __VA_ARGS__) +#define MYLOG(...) __android_log_print(ANDROID_LOG_VERBOSE, "sqlc", __VA_ARGS__) #else #define MYLOG(...) ; #endif From 7e21bfe24fb6540e90e3649f0ac2e9520f16d062 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 14 Dec 2016 14:48:21 +0100 Subject: [PATCH 05/25] Use sqlite-amalgamation 3.15.2 --- sqlite-amalgamation | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqlite-amalgamation b/sqlite-amalgamation index 898207b..fe5db27 160000 --- a/sqlite-amalgamation +++ b/sqlite-amalgamation @@ -1 +1 @@ -Subproject commit 898207beb367ca1902a133f1b531022dd1776172 +Subproject commit fe5db27d9bfea69de03e974f297b30c08fd87b48 From 47c1414aef6c9f87cc07b1c4a92a9b6e1e6baebc Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Fri, 16 Dec 2016 12:07:34 +0100 Subject: [PATCH 06/25] Add -DSQLITE_OMIT_BUILTIN_TEST & -DSQLITE_OMIT_LOAD_EXTENSION flags --- README.md | 2 ++ jni/Android.mk | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3b31791..d365560 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,8 @@ TBD API and some internal details (probably in a blog post) - `-DSQLITE_ENABLE_FTS3_PARENTHESIS` - `-DSQLITE_ENABLE_FTS4` - `-DSQLITE_ENABLE_RTREE` +- `-DSQLITE_OMIT_BUILTIN_TEST` +- `-DSQLITE_OMIT_LOAD_EXTENSION` - `-DSQLITE_DEFAULT_PAGE_SIZE=1024` - `-DSQLITE_DEFAULT_CACHE_SIZE=2000` diff --git a/jni/Android.mk b/jni/Android.mk index 58adf9c..fcebc17 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -5,12 +5,17 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) + LOCAL_LDLIBS := -llog -LOCAL_MODULE := sqlc-native-driver +LOCAL_MODULE := sqlc-native-driver LOCAL_C_INCLUDES := $(LOCAL_PATH)/../sqlite-amalgamation + LOCAL_CFLAGS += -DSQLITE_TEMP_STORE=2 -DSQLITE_THREADSAFE=2 LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE +LOCAL_CFLAGS += -DSQLITE_OMIT_BUILTIN_TEST +LOCAL_CFLAGS += -DSQLITE_OMIT_LOAD_EXTENSION + # Avoid "potential disruptive change" from 3.12.0 described at: # - http://sqlite.org/releaselog/3_12_0.html # - http://sqlite.org/pgszchng2016.html @@ -18,4 +23,5 @@ LOCAL_CFLAGS += -DSQLITE_DEFAULT_PAGE_SIZE=1024 LOCAL_CFLAGS += -DSQLITE_DEFAULT_CACHE_SIZE=2000 LOCAL_SRC_FILES := ../native/sqlc_all.c + include $(BUILD_SHARED_LIBRARY) From 0d7bd4109e457d95381f5559f1243c60d96d4d63 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Thu, 22 Dec 2016 09:47:22 +0100 Subject: [PATCH 07/25] README.md fixes --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d365560..d312486 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ License: UNLICENSE (public domain). ## About Android-sqlite-native-driver provides: -- single `SQLiteNative` class with native Java interface to _an important_ subset of sqlite C functions +- single `SQLiteNative` class with native Java interface to an important subset of sqlite C functions - automatic build of `sqlite-native-driver-libs.zip`, with native sqlite library build for major Android targets (`armeabi`, `armeabi-v7a`, `x86`, `x86_64`) that is accessible from the native Java interface This is accomplished by using [GlueGen](http://jogamp.org/gluegen/www/) around a simple wrapper C module. @@ -26,7 +26,7 @@ TBD API and some internal details (probably in a blog post) ## SQLite build information -**SQLite version:** `3.15.1` +**SQLite version:** `3.15.2` **SQLite build flags:** - `-DSQLITE_TEMP_STORE=2` From 29f38e683b0c0e7d217229ce4ae3db38f05a8fc0 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Thu, 22 Dec 2016 15:15:31 +0100 Subject: [PATCH 08/25] Build: -DSQLITE_THREADSAFE=1 (as default); split other LOCAL_CFLAGS --- README.md | 2 +- jni/Android.mk | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d312486..f491eb3 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ TBD API and some internal details (probably in a blog post) **SQLite build flags:** - `-DSQLITE_TEMP_STORE=2` -- `-DSQLITE_THREADSAFE=2` +- `-DSQLITE_THREADSAFE=1` - `-DSQLITE_ENABLE_FTS3` - `-DSQLITE_ENABLE_FTS3_PARENTHESIS` - `-DSQLITE_ENABLE_FTS4` diff --git a/jni/Android.mk b/jni/Android.mk index fcebc17..b535a21 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -11,8 +11,11 @@ LOCAL_MODULE := sqlc-native-driver LOCAL_C_INCLUDES := $(LOCAL_PATH)/../sqlite-amalgamation -LOCAL_CFLAGS += -DSQLITE_TEMP_STORE=2 -DSQLITE_THREADSAFE=2 -LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE +LOCAL_CFLAGS += -DSQLITE_TEMP_STORE=2 +LOCAL_CFLAGS += -DSQLITE_THREADSAFE=1 +LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS +LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS4 +LOCAL_CFLAGS += -DSQLITE_ENABLE_RTREE LOCAL_CFLAGS += -DSQLITE_OMIT_BUILTIN_TEST LOCAL_CFLAGS += -DSQLITE_OMIT_LOAD_EXTENSION From 38378b94b8fd16224ba542eb289c246d91e76ec5 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Thu, 22 Dec 2016 16:23:15 +0100 Subject: [PATCH 09/25] Android-sqlite-ext-native-driver with sqlite3-regexp-cached added --- .gitmodules | 3 +++ README.md | 12 ++++++------ jni/Android.mk | 1 + native/sqlc.c | 10 +++++++++- native/sqlc_all.c | 1 + sqlite3-regexp-cached | 1 + 6 files changed, 21 insertions(+), 7 deletions(-) create mode 160000 sqlite3-regexp-cached diff --git a/.gitmodules b/.gitmodules index b68ce30..eeaa0c5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "sqlite-amalgamation"] path = sqlite-amalgamation url = https://github.com/liteglue/sqlite-amalgamation.git +[submodule "sqlite3-regexp-cached"] + path = sqlite3-regexp-cached + url = https://github.com/brodybits/sqlite3-regexp-cached.git diff --git a/README.md b/README.md index f491eb3..1dee06e 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# Android sqlite native driver +# Android sqlite native driver with extra features -Provides a native build of sqlite with a low-level interface for Android libraries. +Provides a native build of sqlite with a low-level interface for Android libraries with extra features: sqlite3-regexp-cached -Based on [SQLiteGlue-core](https://github.com/sqlg/SQLiteGlue-core), which may be adapted for other Java platforms. +Based on: [liteglue / Android-sqlite-native-driver](https://github.com/liteglue/Android-sqlite-native-driver) by Christopher J. Brody aka Chris Brody mailto: brodybits@litehelpers.net @@ -10,15 +10,15 @@ License: UNLICENSE (public domain). ## About -Android-sqlite-native-driver provides: -- single `SQLiteNative` class with native Java interface to an important subset of sqlite C functions +Android-sqlite-ext-native-driver provides: +- single `SQLiteNative` class with native Java interface to an important subset of sqlite C functions, with `REGEXP` integrated from [brodybits / sqlite3-regexp-cached](https://github.com/brodybits/sqlite3-regexp-cached) (based on by Alexey Tourbin) - automatic build of `sqlite-native-driver-libs.zip`, with native sqlite library build for major Android targets (`armeabi`, `armeabi-v7a`, `x86`, `x86_64`) that is accessible from the native Java interface This is accomplished by using [GlueGen](http://jogamp.org/gluegen/www/) around a simple wrapper C module. This project is meant to help build a higher-level sqlite interface library, with the JNI layer completely isolated. -**NOTE:** This project references the `gluegentools` and `sqlite-amalgamation` subprojects, which are resolved by: $ `make init` (as described below). +**NOTE:** This project references multiple subprojects, which may be resolved by: $ `make init` (as described below). **WARNING:** The sqlite database and statement handles that are returned by the `SQLiteNative` library functions are raw C pointer values (with `0x100000000` added). If someone uses a sqlite database or statement handle that is not valid, or no longer valid with the `SQLiteNative` library the behavior is undefined (such as a crash). It is *NOT* recommended to use this API directly unless you really understand how this library works internally. diff --git a/jni/Android.mk b/jni/Android.mk index b535a21..72f6ea3 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -10,6 +10,7 @@ LOCAL_LDLIBS := -llog LOCAL_MODULE := sqlc-native-driver LOCAL_C_INCLUDES := $(LOCAL_PATH)/../sqlite-amalgamation +LOCAL_C_INCLUDES += $(LOCAL_PATH)/../sqlite3-regexp-cached LOCAL_CFLAGS += -DSQLITE_TEMP_STORE=2 LOCAL_CFLAGS += -DSQLITE_THREADSAFE=1 diff --git a/native/sqlc.c b/native/sqlc.c index 7985cbc..48ab08e 100644 --- a/native/sqlc.c +++ b/native/sqlc.c @@ -6,6 +6,8 @@ #include "sqlite3.h" +#include "sqlite3_regexp.h" + #define BASE_HANDLE_OFFSET 0x100000000LL #ifdef SQLC_KEEP_ANDROID_LOG @@ -34,6 +36,7 @@ sqlc_handle_t sqlc_db_open(const char *filename, int flags) { sqlite3 *d1; int r1; + const char * err; MYLOG("db_open %s %d", filename, flags); @@ -41,7 +44,12 @@ sqlc_handle_t sqlc_db_open(const char *filename, int flags) MYLOG("db_open %s result %d ptr %p", filename, r1, d1); - return (r1 == 0) ? HANDLE_FROM_VP(d1) : -r1; + if (r1 != 0) return -r1; + + // TBD IGNORE result: + sqlite3_regexp_init(d1, &err); + + return HANDLE_FROM_VP(d1); } sqlc_handle_t sqlc_db_prepare_st(sqlc_handle_t db, const char *sql) diff --git a/native/sqlc_all.c b/native/sqlc_all.c index 7d6a5f2..a1b8806 100644 --- a/native/sqlc_all.c +++ b/native/sqlc_all.c @@ -7,3 +7,4 @@ #include "sqlc.c" +#include "sqlite3_regexp.c" diff --git a/sqlite3-regexp-cached b/sqlite3-regexp-cached new file mode 160000 index 0000000..ec8e209 --- /dev/null +++ b/sqlite3-regexp-cached @@ -0,0 +1 @@ +Subproject commit ec8e209d932d1a2cbc62ac369802cda138cdfab3 From 37c22f15b1a32849600c9a72ac57d143d36ee94f Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Tue, 27 Dec 2016 15:59:42 +0100 Subject: [PATCH 10/25] BASE64 addition --- .gitmodules | 6 ++++++ README.md | 7 ++++--- jni/Android.mk | 2 ++ libb64-encode | 1 + native/sqlc.c | 4 ++++ native/sqlc_all.c | 4 ++++ sqlite3-base64 | 1 + 7 files changed, 22 insertions(+), 3 deletions(-) create mode 160000 libb64-encode create mode 160000 sqlite3-base64 diff --git a/.gitmodules b/.gitmodules index eeaa0c5..d824d5d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,9 @@ [submodule "sqlite3-regexp-cached"] path = sqlite3-regexp-cached url = https://github.com/brodybits/sqlite3-regexp-cached.git +[submodule "libb64-encode"] + path = libb64-encode + url = https://github.com/brodybits/libb64-encode.git +[submodule "sqlite3-base64"] + path = sqlite3-base64 + url = https://github.com/brodybits/sqlite3-base64.git diff --git a/README.md b/README.md index 1dee06e..80a1f14 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Android sqlite native driver with extra features -Provides a native build of sqlite with a low-level interface for Android libraries with extra features: sqlite3-regexp-cached +Provides a native build of sqlite with a low-level interface for Android libraries with extra features: REGEXP, BASE64 Based on: [liteglue / Android-sqlite-native-driver](https://github.com/liteglue/Android-sqlite-native-driver) @@ -11,7 +11,9 @@ License: UNLICENSE (public domain). ## About Android-sqlite-ext-native-driver provides: -- single `SQLiteNative` class with native Java interface to an important subset of sqlite C functions, with `REGEXP` integrated from [brodybits / sqlite3-regexp-cached](https://github.com/brodybits/sqlite3-regexp-cached) (based on by Alexey Tourbin) +- single `SQLiteNative` class with native Java interface to an important subset of sqlite C functions, with the following user defined functions: + - `REGEXP` integrated from [brodybits / sqlite3-regexp-cached](https://github.com/brodybits/sqlite3-regexp-cached) (based on by Alexey Tourbin) + - `BASE64` integrated from [brodybits / sqlite3-base64](https://github.com/brodybits/sqlite3-base64), using [brodybits / libb64-encode](https://github.com/brodybits/libb64-encode) (based on by Chris Venter) - automatic build of `sqlite-native-driver-libs.zip`, with native sqlite library build for major Android targets (`armeabi`, `armeabi-v7a`, `x86`, `x86_64`) that is accessible from the native Java interface This is accomplished by using [GlueGen](http://jogamp.org/gluegen/www/) around a simple wrapper C module. @@ -46,7 +48,6 @@ TBD API and some internal details (probably in a blog post) - Automatic AAR build - Document this project (again, perhaps in a blog post) -- Support BLOB type - Some more SQLite API functions will be needed to rebuild the native sqlcipher library to replace the native libraries in the [@sqlcipher / android-database-sqlcipher](https://github.com/sqlcipher/android-database-sqlcipher) ([SQLCipher for Android](https://www.zetetic.net/sqlcipher/sqlcipher-for-android/)) project. # Building diff --git a/jni/Android.mk b/jni/Android.mk index 72f6ea3..9c5a57f 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -11,6 +11,8 @@ LOCAL_MODULE := sqlc-native-driver LOCAL_C_INCLUDES := $(LOCAL_PATH)/../sqlite-amalgamation LOCAL_C_INCLUDES += $(LOCAL_PATH)/../sqlite3-regexp-cached +LOCAL_C_INCLUDES += $(LOCAL_PATH)/../libb64-encode +LOCAL_C_INCLUDES += $(LOCAL_PATH)/../sqlite3-base64 LOCAL_CFLAGS += -DSQLITE_TEMP_STORE=2 LOCAL_CFLAGS += -DSQLITE_THREADSAFE=1 diff --git a/libb64-encode b/libb64-encode new file mode 160000 index 0000000..92aaefa --- /dev/null +++ b/libb64-encode @@ -0,0 +1 @@ +Subproject commit 92aaefabdba9d8f190a36f70f1fe5ac0e565aed3 diff --git a/native/sqlc.c b/native/sqlc.c index 48ab08e..4dd6ba3 100644 --- a/native/sqlc.c +++ b/native/sqlc.c @@ -8,6 +8,8 @@ #include "sqlite3_regexp.h" +#include "sqlite3_base64.h" + #define BASE_HANDLE_OFFSET 0x100000000LL #ifdef SQLC_KEEP_ANDROID_LOG @@ -49,6 +51,8 @@ sqlc_handle_t sqlc_db_open(const char *filename, int flags) // TBD IGNORE result: sqlite3_regexp_init(d1, &err); + sqlite3_base64_init(d1); + return HANDLE_FROM_VP(d1); } diff --git a/native/sqlc_all.c b/native/sqlc_all.c index a1b8806..902ca11 100644 --- a/native/sqlc_all.c +++ b/native/sqlc_all.c @@ -1,6 +1,10 @@ #include "sqlite3.c" +#include "cencode.c" + +#include "sqlite3_base64.c" + #include "sqlc.h" /* types needed for SQLiteNative_JNI.c */ #include "SQLiteNative_JNI.c" diff --git a/sqlite3-base64 b/sqlite3-base64 new file mode 160000 index 0000000..0be715b --- /dev/null +++ b/sqlite3-base64 @@ -0,0 +1 @@ +Subproject commit 0be715b199091adfeedde7a3fdffbcfdfb27983b From 049d934c61ac33586f61cb959b8a7e2ac05dc2c7 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Tue, 27 Dec 2016 16:33:07 +0100 Subject: [PATCH 11/25] README.md doc fix --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 80a1f14..e41c592 100644 --- a/README.md +++ b/README.md @@ -6,15 +6,15 @@ Based on: [liteglue / Android-sqlite-native-driver](https://github.com/liteglue/ by Christopher J. Brody aka Chris Brody mailto: brodybits@litehelpers.net -License: UNLICENSE (public domain). +**LICENSE:** [Unlicense (unlicense.org)](http://unlicense.org/) (public domain) ## About Android-sqlite-ext-native-driver provides: -- single `SQLiteNative` class with native Java interface to an important subset of sqlite C functions, with the following user defined functions: - - `REGEXP` integrated from [brodybits / sqlite3-regexp-cached](https://github.com/brodybits/sqlite3-regexp-cached) (based on by Alexey Tourbin) - - `BASE64` integrated from [brodybits / sqlite3-base64](https://github.com/brodybits/sqlite3-base64), using [brodybits / libb64-encode](https://github.com/brodybits/libb64-encode) (based on by Chris Venter) -- automatic build of `sqlite-native-driver-libs.zip`, with native sqlite library build for major Android targets (`armeabi`, `armeabi-v7a`, `x86`, `x86_64`) that is accessible from the native Java interface +- single `SQLiteNative` class with Java native interface (JNI) to an important subset sqlite C functions +- automatic build of sqlite3 (, public domain) for NDK, accessible from JNI, with the following user defined functions: + - `REGEXP` integrated from [brodybits / sqlite3-regexp-cached](https://github.com/brodybits/sqlite3-regexp-cached) (based on by Alexey Tourbin, public domain) + - `BASE64` integrated from [brodybits / sqlite3-base64](https://github.com/brodybits/sqlite3-base64), using [brodybits / libb64-encode](https://github.com/brodybits/libb64-encode) (based on by Chris Venter, public domain) This is accomplished by using [GlueGen](http://jogamp.org/gluegen/www/) around a simple wrapper C module. From 703a49657a261cb6a06bca096e82e47b18e203a1 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Thu, 16 Mar 2017 19:46:17 +0100 Subject: [PATCH 12/25] Build LOCAL_CFLAGS fixes - Drop -DSQLITE_OMIT_BUILTIN_TEST (renamed & not recommended) - Certain LOCAL_CFLAGS added from https://www.sqlite.org/compile.html#recommended_compile_time_options - Minor reordering --- README.md | 10 +++++++--- jni/Android.mk | 14 +++++++++----- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index f491eb3..f1bdff8 100644 --- a/README.md +++ b/README.md @@ -29,14 +29,18 @@ TBD API and some internal details (probably in a blog post) **SQLite version:** `3.15.2` **SQLite build flags:** -- `-DSQLITE_TEMP_STORE=2` - `-DSQLITE_THREADSAFE=1` +- `-DSQLITE_DEFAULT_MEMSTATUS=0` +- `-DSQLITE_OMIT_DECLTYPE` +- `-DSQLITE_OMIT_DEPRECATED` +- `-DSQLITE_OMIT_PROGRESS_CALLBACK` +- `-DSQLITE_OMIT_SHARED_CACHE` +- `-DSQLITE_TEMP_STORE=2` +- `-DSQLITE_OMIT_LOAD_EXTENSION` - `-DSQLITE_ENABLE_FTS3` - `-DSQLITE_ENABLE_FTS3_PARENTHESIS` - `-DSQLITE_ENABLE_FTS4` - `-DSQLITE_ENABLE_RTREE` -- `-DSQLITE_OMIT_BUILTIN_TEST` -- `-DSQLITE_OMIT_LOAD_EXTENSION` - `-DSQLITE_DEFAULT_PAGE_SIZE=1024` - `-DSQLITE_DEFAULT_CACHE_SIZE=2000` diff --git a/jni/Android.mk b/jni/Android.mk index b535a21..79d3571 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -11,14 +11,18 @@ LOCAL_MODULE := sqlc-native-driver LOCAL_C_INCLUDES := $(LOCAL_PATH)/../sqlite-amalgamation -LOCAL_CFLAGS += -DSQLITE_TEMP_STORE=2 LOCAL_CFLAGS += -DSQLITE_THREADSAFE=1 -LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS +LOCAL_CFLAGS += -DSQLITE_DEFAULT_MEMSTATUS=0 +LOCAL_CFLAGS += -DSQLITE_OMIT_DECLTYPE +LOCAL_CFLAGS += -DSQLITE_OMIT_DEPRECATED +LOCAL_CFLAGS += -DSQLITE_OMIT_PROGRESS_CALLBACK +LOCAL_CFLAGS += -DSQLITE_OMIT_SHARED_CACHE +LOCAL_CFLAGS += -DSQLITE_TEMP_STORE=2 +LOCAL_CFLAGS += -DSQLITE_OMIT_LOAD_EXTENSION +LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS3 +LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS3_PARENTHESIS LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS4 LOCAL_CFLAGS += -DSQLITE_ENABLE_RTREE -LOCAL_CFLAGS += -DSQLITE_OMIT_BUILTIN_TEST -LOCAL_CFLAGS += -DSQLITE_OMIT_LOAD_EXTENSION - # Avoid "potential disruptive change" from 3.12.0 described at: # - http://sqlite.org/releaselog/3_12_0.html # - http://sqlite.org/pgszchng2016.html From 3b76da24aedbab61e687b32922d55378977325cf Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 3 Jan 2018 18:17:12 -0500 Subject: [PATCH 13/25] add cast to sqlc_st_column_text_native to resolve warning --- native/sqlc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/native/sqlc.c b/native/sqlc.c index 7985cbc..aa5099a 100644 --- a/native/sqlc.c +++ b/native/sqlc.c @@ -208,7 +208,7 @@ const char *sqlc_st_column_text_native(sqlc_handle_t st, int col) MYLOG("%s %p %d", __func__, myst, col); - return sqlite3_column_text(myst, col); + return (const char *)sqlite3_column_text(myst, col); } int sqlc_st_column_type(sqlc_handle_t st, int col) From aabdecb3b153b563a5093d9d22f7444f0b4cb280 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 3 Jan 2018 16:32:42 -0500 Subject: [PATCH 14/25] Auto build of sqlite-native-driver.jar restored --- Makefile | 2 ++ README.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 21b7804..180054a 100644 --- a/Makefile +++ b/Makefile @@ -13,6 +13,8 @@ ndkbuild: rm -rf lib libs ndk-build zip sqlite-native-driver-libs.zip libs/*/* + mv libs lib + jar cf sqlite-native-driver.jar lib clean: rm -rf obj lib libs sqlite-native-driver.jar *.zip diff --git a/README.md b/README.md index f1bdff8..d4db291 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ License: UNLICENSE (public domain). Android-sqlite-native-driver provides: - single `SQLiteNative` class with native Java interface to an important subset of sqlite C functions -- automatic build of `sqlite-native-driver-libs.zip`, with native sqlite library build for major Android targets (`armeabi`, `armeabi-v7a`, `x86`, `x86_64`) that is accessible from the native Java interface +- automatic build of `sqlite-native-driver-libs.zip` and `sqlite-native-driver.jar`, with native sqlite library build for major Android targets (`armeabi`, `armeabi-v7a`, `x86`, `x86_64`) that is accessible from the native Java interface This is accomplished by using [GlueGen](http://jogamp.org/gluegen/www/) around a simple wrapper C module. From d23540873463324f84035ce7eec018af4beaa65e Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 10 Jan 2018 12:00:36 -0500 Subject: [PATCH 15/25] General doc updates --- README.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index d4db291..c9f4b49 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,18 @@ # Android sqlite native driver -Provides a native build of sqlite with a low-level interface for Android libraries. +Provides Android NDK build of sqlite3 (, public domain) with a low-level JNI interface accessible from a single (singleton) single `SQLiteNative` class. Based on [SQLiteGlue-core](https://github.com/sqlg/SQLiteGlue-core), which may be adapted for other Java platforms. -by Christopher J. Brody aka Chris Brody mailto: brodybits@litehelpers.net +by Christopher J. Brody aka Chris Brody mailto: License: UNLICENSE (public domain). ## About -Android-sqlite-native-driver provides: -- single `SQLiteNative` class with native Java interface to an important subset of sqlite C functions -- automatic build of `sqlite-native-driver-libs.zip` and `sqlite-native-driver.jar`, with native sqlite library build for major Android targets (`armeabi`, `armeabi-v7a`, `x86`, `x86_64`) that is accessible from the native Java interface +Android-sqlite-native-driver provides the following items: +- single `SQLiteNative` class with native Java interface to an important subset of sqlite3 C functions +- automatic build of `sqlite-native-driver.jar` and `sqlite-native-driver-libs.zip` with sqlite3 component for major Android NDK targets (`armeabi` / `armeabi-v7a` / `x86` / `x86_64` / `arm64-v8a`), with sqlite3 component This is accomplished by using [GlueGen](http://jogamp.org/gluegen/www/) around a simple wrapper C module. @@ -20,15 +20,18 @@ This project is meant to help build a higher-level sqlite interface library, wit **NOTE:** This project references the `gluegentools` and `sqlite-amalgamation` subprojects, which are resolved by: $ `make init` (as described below). -**WARNING:** The sqlite database and statement handles that are returned by the `SQLiteNative` library functions are raw C pointer values (with `0x100000000` added). If someone uses a sqlite database or statement handle that is not valid, or no longer valid with the `SQLiteNative` library the behavior is undefined (such as a crash). It is *NOT* recommended to use this API directly unless you really understand how this library works internally. +**WARNING:** The sqlite database and statement handles that are returned by the `SQLiteNative` library functions are raw C pointer values (with `0x100000000` added). If someone uses a database or statement handle that is not valid, or no longer valid with the `SQLiteNative` library the behavior is undefined (may crash, for example). It is NOT recommended to use the API directly without understanding of how this library works internally. -TBD API and some internal details (probably in a blog post) +FUTURE TODO: better documentation of API and some internal details ## SQLite build information -**SQLite version:** `3.15.2` +### SQLite version + + 3.15.2 + +### SQLite build flags -**SQLite build flags:** - `-DSQLITE_THREADSAFE=1` - `-DSQLITE_DEFAULT_MEMSTATUS=0` - `-DSQLITE_OMIT_DECLTYPE` From e631497a5d577c1e7cd5302bc19f7839841a545e Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 10 Jan 2018 12:07:10 -0500 Subject: [PATCH 16/25] Update SQLITE_TEMP_STORE=2 & remove unwanted flag --- README.md | 3 +-- jni/Android.mk | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e41c592..053a05f 100644 --- a/README.md +++ b/README.md @@ -32,12 +32,11 @@ TBD API and some internal details (probably in a blog post) **SQLite build flags:** - `-DSQLITE_TEMP_STORE=2` -- `-DSQLITE_THREADSAFE=1` +- `-DSQLITE_THREADSAFE=2` - `-DSQLITE_ENABLE_FTS3` - `-DSQLITE_ENABLE_FTS3_PARENTHESIS` - `-DSQLITE_ENABLE_FTS4` - `-DSQLITE_ENABLE_RTREE` -- `-DSQLITE_OMIT_BUILTIN_TEST` - `-DSQLITE_OMIT_LOAD_EXTENSION` - `-DSQLITE_DEFAULT_PAGE_SIZE=1024` - `-DSQLITE_DEFAULT_CACHE_SIZE=2000` diff --git a/jni/Android.mk b/jni/Android.mk index 9c5a57f..416e4cc 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -15,11 +15,10 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH)/../libb64-encode LOCAL_C_INCLUDES += $(LOCAL_PATH)/../sqlite3-base64 LOCAL_CFLAGS += -DSQLITE_TEMP_STORE=2 -LOCAL_CFLAGS += -DSQLITE_THREADSAFE=1 +LOCAL_CFLAGS += -DSQLITE_THREADSAFE=2 LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS4 LOCAL_CFLAGS += -DSQLITE_ENABLE_RTREE -LOCAL_CFLAGS += -DSQLITE_OMIT_BUILTIN_TEST LOCAL_CFLAGS += -DSQLITE_OMIT_LOAD_EXTENSION # Avoid "potential disruptive change" from 3.12.0 described at: From 945702008da36d83e207f4e4bb751a896346e14e Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 10 Jan 2018 12:01:50 -0500 Subject: [PATCH 17/25] doc fixes before merge --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 053a05f..fc9f9e7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Android sqlite native driver with extra features -Provides a native build of sqlite with a low-level interface for Android libraries with extra features: REGEXP, BASE64 +Provides Android NDK build of sqlite3 (, public domain) with a low-level JNI interface accessible from a single (singleton) single `SQLiteNative` class, along with the following extra features: REGEXP, BASE64 Based on: [liteglue / Android-sqlite-native-driver](https://github.com/liteglue/Android-sqlite-native-driver) @@ -12,7 +12,7 @@ by Christopher J. Brody aka Chris Brody mailto: brodybits@litehelpers.net Android-sqlite-ext-native-driver provides: - single `SQLiteNative` class with Java native interface (JNI) to an important subset sqlite C functions -- automatic build of sqlite3 (, public domain) for NDK, accessible from JNI, with the following user defined functions: +- automatic build of `sqlite-native-driver-libs.zip` for major Android NDK targets (`armeabi` / `armeabi-v7a` / `x86` / `x86_64` / `arm64-v8a`), with sqlite3 component along with the following user defined functions: - `REGEXP` integrated from [brodybits / sqlite3-regexp-cached](https://github.com/brodybits/sqlite3-regexp-cached) (based on by Alexey Tourbin, public domain) - `BASE64` integrated from [brodybits / sqlite3-base64](https://github.com/brodybits/sqlite3-base64), using [brodybits / libb64-encode](https://github.com/brodybits/libb64-encode) (based on by Chris Venter, public domain) From 688ac6151994e86c82206f643eed26e4cb87a70a Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 10 Jan 2018 13:17:54 -0500 Subject: [PATCH 18/25] FTS5/JSON1 support --- README.md | 2 ++ jni/Android.mk | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README.md b/README.md index 6d9c862..8099721 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,9 @@ FUTURE TODO: better documentation of API and some internal details - `-DSQLITE_ENABLE_FTS3` - `-DSQLITE_ENABLE_FTS3_PARENTHESIS` - `-DSQLITE_ENABLE_FTS4` +- `-DSQLITE_ENABLE_FTS5` - `-DSQLITE_ENABLE_RTREE` +- `-DSQLITE_ENABLE_JSON1` - `-DSQLITE_DEFAULT_PAGE_SIZE=1024` - `-DSQLITE_DEFAULT_CACHE_SIZE=2000` diff --git a/jni/Android.mk b/jni/Android.mk index 7d1e9be..2e705e7 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -24,7 +24,9 @@ LOCAL_CFLAGS += -DSQLITE_TEMP_STORE=2 LOCAL_CFLAGS += -DSQLITE_OMIT_LOAD_EXTENSION LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS4 +LOCAL_CFLAGS += -DSQLITE_ENABLE_FTS5 LOCAL_CFLAGS += -DSQLITE_ENABLE_RTREE +LOCAL_CFLAGS += -DSQLITE_ENABLE_JSON1 # Avoid "potential disruptive change" from 3.12.0 described at: # - http://sqlite.org/releaselog/3_12_0.html From b8e8c4fae0100f8a70e9e91cb51b645195d25aed Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Tue, 20 Mar 2018 17:57:51 -0400 Subject: [PATCH 19/25] sqlite-amalgamation with sqlite 3.20.1 --- README.md | 2 +- sqlite-amalgamation | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c9f4b49..cd13410 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ FUTURE TODO: better documentation of API and some internal details ### SQLite version - 3.15.2 + 3.20.1 ### SQLite build flags diff --git a/sqlite-amalgamation b/sqlite-amalgamation index fe5db27..295f7c8 160000 --- a/sqlite-amalgamation +++ b/sqlite-amalgamation @@ -1 +1 @@ -Subproject commit fe5db27d9bfea69de03e974f297b30c08fd87b48 +Subproject commit 295f7c89b3cdd1575ca8298317535a39a4877264 From d027105e63ad7cac647cb37fc207037794e1a6f0 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 21 Mar 2018 08:59:13 -0400 Subject: [PATCH 20/25] Mark cordova-sqlite-storage native driver branch --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cd13410..75f5567 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Android sqlite native driver +# Android sqlite native driver - cordova-sqlite-storage native driver branch Provides Android NDK build of sqlite3 (, public domain) with a low-level JNI interface accessible from a single (singleton) single `SQLiteNative` class. From a0e58860b2e597a44fdba0d5d214e5b297873bc5 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 21 Mar 2018 09:01:05 -0400 Subject: [PATCH 21/25] -DSQLITE_DEFAULT_SYNCHRONOUS=3 (extra durable) build flag ref: litehelpers/Cordova-sqlite-storage#736 --- README.md | 1 + jni/Android.mk | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 75f5567..2ebbc34 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ FUTURE TODO: better documentation of API and some internal details ### SQLite build flags - `-DSQLITE_THREADSAFE=1` +- `-DSQLITE_DEFAULT_SYNCHRONOUS=3` - `-DSQLITE_DEFAULT_MEMSTATUS=0` - `-DSQLITE_OMIT_DECLTYPE` - `-DSQLITE_OMIT_DEPRECATED` diff --git a/jni/Android.mk b/jni/Android.mk index 79d3571..b164b4b 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -12,6 +12,7 @@ LOCAL_MODULE := sqlc-native-driver LOCAL_C_INCLUDES := $(LOCAL_PATH)/../sqlite-amalgamation LOCAL_CFLAGS += -DSQLITE_THREADSAFE=1 +LOCAL_CFLAGS += -DSQLITE_DEFAULT_SYNCHRONOUS=3 LOCAL_CFLAGS += -DSQLITE_DEFAULT_MEMSTATUS=0 LOCAL_CFLAGS += -DSQLITE_OMIT_DECLTYPE LOCAL_CFLAGS += -DSQLITE_OMIT_DEPRECATED From 6a253026a135840c025399fa1c7b62d7e9650d54 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 21 Mar 2018 18:14:58 -0400 Subject: [PATCH 22/25] SQLITE_THREADSAFE=1 PARTIALLY Revert "Update SQLITE_TEMP_STORE=2 [sic] & [...]" This PARTIALLY reverts commit e631497a5d577c1e7cd5302bc19f7839841a545e. Wanted to be consistent with compile-time setting needed for iOS/macOS. Note that the referenced commit message was not consistent with the setting that was actually changed (SQLITE_THREADSAFE). UNWANTED -DSQLITE_OMIT_BUILTIN_TEST flag is still gone. --- README.md | 2 +- jni/Android.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8099721..cea705b 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ FUTURE TODO: better documentation of API and some internal details ### SQLite build flags -- `-DSQLITE_THREADSAFE=2` +- `-DSQLITE_THREADSAFE=1` - `-DSQLITE_DEFAULT_MEMSTATUS=0` - `-DSQLITE_OMIT_DECLTYPE` - `-DSQLITE_OMIT_DEPRECATED` diff --git a/jni/Android.mk b/jni/Android.mk index 2e705e7..0f60d4c 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -14,7 +14,7 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH)/../sqlite3-regexp-cached LOCAL_C_INCLUDES += $(LOCAL_PATH)/../libb64-encode LOCAL_C_INCLUDES += $(LOCAL_PATH)/../sqlite3-base64 -LOCAL_CFLAGS += -DSQLITE_THREADSAFE=2 +LOCAL_CFLAGS += -DSQLITE_THREADSAFE=1 LOCAL_CFLAGS += -DSQLITE_DEFAULT_MEMSTATUS=0 LOCAL_CFLAGS += -DSQLITE_OMIT_DECLTYPE LOCAL_CFLAGS += -DSQLITE_OMIT_DEPRECATED From 1a4c51dac93557eb47425c74db9e35cc7c0b7547 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Wed, 21 Mar 2018 17:34:29 -0400 Subject: [PATCH 23/25] sqlite-amalgamation with sqlite 3.22.0 --- README.md | 2 +- sqlite-amalgamation | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2ebbc34..55cebdb 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ FUTURE TODO: better documentation of API and some internal details ### SQLite version - 3.20.1 + 3.22.0 ### SQLite build flags diff --git a/sqlite-amalgamation b/sqlite-amalgamation index 295f7c8..37e31c1 160000 --- a/sqlite-amalgamation +++ b/sqlite-amalgamation @@ -1 +1 @@ -Subproject commit 295f7c89b3cdd1575ca8298317535a39a4877264 +Subproject commit 37e31c10d33796af2ca6dc14fdf93adcd77d95d3 From 321e8635938321d6a93f58bfa076a2a806cde629 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Mon, 26 Mar 2018 18:50:05 -0400 Subject: [PATCH 24/25] update sqlite3-regexp-cached subproject (with old sqlite3-pcre artifacts removed, no source change) --- sqlite3-regexp-cached | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqlite3-regexp-cached b/sqlite3-regexp-cached index ec8e209..64d37c5 160000 --- a/sqlite3-regexp-cached +++ b/sqlite3-regexp-cached @@ -1 +1 @@ -Subproject commit ec8e209d932d1a2cbc62ac369802cda138cdfab3 +Subproject commit 64d37c51397c51da1e1c67442f75c54f9414b2b8 From df449f97ec6ab2db3dc3dd7e37d8844e46079fac Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Mon, 26 Mar 2018 19:15:14 -0400 Subject: [PATCH 25/25] Dependencies explicit in doc --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 0bb3265..99d44ee 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,13 @@ FUTURE TODO: better documentation of API and some internal details **NOTE:** Old default page/cache size values are used to avoid a "potentially disruptive change" described at: http://sqlite.org/pgszchng2016.html +## Dependencies + +- SQLite () - public domain +- [brodybits / sqlite3-regexp-cached](https://github.com/brodybits/sqlite3-regexp-cached) - based on by Alexey Tourbin, public domain +- [brodybits / sqlite3-base64](https://github.com/brodybits/sqlite3-base64) - Unlicense (public domain) ref: +- [brodybits / libb64-encode](https://github.com/brodybits/libb64-encode) - based on by Chris Venter, public domain + ## Major TODOs and limitations - Automatic AAR build