diff options
author | Victor Chang <vfcc@google.com> | 2019-01-18 17:16:37 -0800 |
---|---|---|
committer | Victor Chang <vfcc@google.com> | 2019-03-20 13:56:40 -0700 |
commit | 5148bb2b921ee84709d3924aecbad69d77300aff (patch) | |
tree | afe91f4bdabbce45ab54ab2071156252dd39383c /dist/Android.patch | |
parent | 66b437d9071f9f8e21eef9d454e24bc6bd6c6093 (diff) |
[fuchsia] Add Fuchsia support to SQLite.
This enables basic database locking, but there are known weaknesses to this
approach. ie. If the process is killed before the *.lock file can be
deleted, then the database is perpetually locked.
Bug: 120103808
Test: Database locking works.
Merged-In: Iac54c5f76e167fef15b490522840d33808d4bc6c
Change-Id: Iac54c5f76e167fef15b490522840d33808d4bc6c
Diffstat (limited to 'dist/Android.patch')
-rw-r--r-- | dist/Android.patch | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/dist/Android.patch b/dist/Android.patch index 307a832..80873e2 100644 --- a/dist/Android.patch +++ b/dist/Android.patch @@ -1,5 +1,5 @@ ---- orig/shell.c 2018-04-17 11:53:05.520972146 +0100 -+++ shell.c 2019-03-14 19:26:19.523122555 +0000 +--- orig/shell.c 2018-06-15 18:37:50.651936274 -0700 ++++ shell.c 2019-03-18 16:45:23.691937057 -0700 @@ -87,6 +87,12 @@ #endif #include <ctype.h> @@ -37,8 +37,8 @@ if( p->openMode==SHELL_OPEN_ZIPFILE ){ char *zSql = sqlite3_mprintf( "CREATE VIRTUAL TABLE zip USING zipfile(%Q);", p->zDbFilename); ---- orig/sqlite3.c 2019-03-11 19:52:44.237549639 +0000 -+++ sqlite3.c 2019-03-11 19:52:44.293549396 +0000 +--- orig/sqlite3.c 2019-03-18 16:45:23.687937080 -0700 ++++ sqlite3.c 2019-03-18 16:45:24.723931232 -0700 @@ -30672,6 +30672,10 @@ # include <sys/mount.h> #endif @@ -104,7 +104,18 @@ goto shm_open_err; } -@@ -118054,7 +118070,7 @@ +@@ -38434,6 +38450,10 @@ + UNIXVFS("unix", autolockIoFinder ), + #elif OS_VXWORKS + UNIXVFS("unix", vxworksIoFinder ), ++#elif __Fuchsia__ ++ /* None of the system calls for other exclusion methods are currently ++ ** implemented on Fuchsia, so use simple dot-file locking for now. */ ++ UNIXVFS("unix", dotlockIoFinder ), + #else + UNIXVFS("unix", posixIoFinder ), + #endif +@@ -118054,7 +118074,7 @@ } if( pDb->pSchema->file_format>SQLITE_MAX_FILE_FORMAT ){ sqlite3SetString(pzErrMsg, db, "unsupported file format"); @@ -113,7 +124,7 @@ goto initone_error_out; } -@@ -152769,13 +152785,25 @@ +@@ -152769,13 +152789,25 @@ ** module with sqlite. */ if( SQLITE_OK==rc |