]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
The "apndvfs" VFS shim now appears to be working for both reads and writes.
authordrh <drh@noemail.net>
Thu, 14 Dec 2017 16:57:11 +0000 (16:57 +0000)
committerdrh <drh@noemail.net>
Thu, 14 Dec 2017 16:57:11 +0000 (16:57 +0000)
FossilOrigin-Name: 7f7b72d83633922e2b5dbf0d3455d0fea72cc6b8925ffcb78dfbad7b3c4b26e9

ext/misc/appendvfs.c
manifest
manifest.uuid

index d0096f12244aea27166dad456b0c1dc08e4b2bba..bd1f37509ec850f3d15526002e49d8b9d5da3210 100644 (file)
@@ -212,7 +212,7 @@ static int apndWriteMark(ApndFile *p, sqlite3_file *pFile){
   for(i=0; i<8; i++){
     a[APND_MARK_PREFIX_SZ+i] = (p->iPgOne >> (56 - i*8)) & 0xff;
   }
-  return pFile->pMethods->xWrite(pFile, a, APND_MARK_PREFIX_SZ, p->iMark);
+  return pFile->pMethods->xWrite(pFile, a, APND_MARK_SIZE, p->iMark);
 }
 
 /*
@@ -331,8 +331,7 @@ static int apndSectorSize(sqlite3_file *pFile){
 */
 static int apndDeviceCharacteristics(sqlite3_file *pFile){
   pFile = ORIGFILE(pFile);
-  return SQLITE_IOCAP_IMMUTABLE |
-           pFile->pMethods->xDeviceCharacteristics(pFile);
+  return pFile->pMethods->xDeviceCharacteristics(pFile);
 }
 
 /* Create a shared memory file mapping */
@@ -550,7 +549,7 @@ int sqlite3_appendvfs_init(
   pOrig = sqlite3_vfs_find(0);
   apnd_vfs.iVersion = pOrig->iVersion;
   apnd_vfs.pAppData = pOrig;
-  apnd_vfs.szOsFile = sizeof(ApndFile);
+  apnd_vfs.szOsFile = pOrig->szOsFile + sizeof(ApndFile);
   rc = sqlite3_vfs_register(&apnd_vfs, 0);
 #ifdef APPENDVFS_TEST
   if( rc==SQLITE_OK ){
index 4ddbb0d1d5ba03af0a04e04fe57ac0c2c10781e7..c5da940c020bac60acfc165687b979b9f4fcd19a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\sability\sto\swrite\sto\san\sappended\sdatabase.\s\sThis\scheck-in\scompiles\nbut\sis\sotherwise\suntested.
-D 2017-12-14T16:28:27.146
+C The\s"apndvfs"\sVFS\sshim\snow\sappears\sto\sbe\sworking\sfor\sboth\sreads\sand\swrites.
+D 2017-12-14T16:57:11.644
 F Makefile.in 6a879cbf01e37f9eac131414955f71774b566502d9a57ded1b8585b507503cb8
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc a2492b29176edc3c754aa7a2f7daa20cd3fa20a56e3ee64e376092836177c42a
@@ -260,7 +260,7 @@ F ext/lsm1/tool/mklsm1c.tcl f31561bbee5349f0a554d1ad7236ac1991fc09176626f529f607
 F ext/misc/README.md 8e008c8d2b02e09096b31dfba033253ac27c6c06a18aa5826e299fa7601d90b2
 F ext/misc/amatch.c 6db4607cb17c54b853a2d7c7c36046d004853f65b9b733e6f019d543d5dfae87
 F ext/misc/anycollseq.c 5ffdfde9829eeac52219136ad6aa7cd9a4edb3b15f4f2532de52f4a22525eddb
-F ext/misc/appendvfs.c c8b18caae0d22762080a9c48a4e46933f48625bac7fde2af9ef8ec2a23755ac9
+F ext/misc/appendvfs.c ee71fbc918ab4c526a5935a3153c1cc4e0b601c081da8f9a549e0e9d01bdbca5
 F ext/misc/btreeinfo.c d7fd9a2fe2fa33ba28488e2fce703ebecc759219ea9e0bb3b254784866c0a676
 F ext/misc/carray.c ed96c218ea940b85c9a274c4d9c59fe9491c299147a38a8bba537687bd6c6005
 F ext/misc/closure.c 0d2a038df8fbae7f19de42e7c7d71f2e4dc88704
@@ -1681,7 +1681,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 75d8517703f7efa33437079108e2c4ef0de1a118bbe1f4a86afdc34da09d3008
-R 15eddfa7673da0a2579cc83183e243e0
+P e343c63cbd754f37c33c939cd0b6f1ecc6202e60c6e66cd65c23cc8d571a994e
+R 427fca803286f3061d4cdb1346b5bd46
 U drh
-Z 4e88658420f57b7b81dd23d0961f71ee
+Z 919006b84ebd33ef7833311db2cf1160
index 026378badf5e09eb2d82a8e6e51cf8ca35d761fd..566e5b932a47cea2f7fe890ae876cf2525c346bf 100644 (file)
@@ -1 +1 @@
-e343c63cbd754f37c33c939cd0b6f1ecc6202e60c6e66cd65c23cc8d571a994e
\ No newline at end of file
+7f7b72d83633922e2b5dbf0d3455d0fea72cc6b8925ffcb78dfbad7b3c4b26e9
\ No newline at end of file