]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add the documentation text for the new VFS interfaces used by batch-atomic
authordrh <drh@noemail.net>
Thu, 20 Jul 2017 21:18:49 +0000 (21:18 +0000)
committerdrh <drh@noemail.net>
Thu, 20 Jul 2017 21:18:49 +0000 (21:18 +0000)
writes.

FossilOrigin-Name: 5e944eea5a32cb4d27a2d5ae283b9ce6fe08c1bc584256e8e8c78583c415eb2a

1  2 
manifest
manifest.uuid
src/sqlite.h.in

diff --cc manifest
index d3ceb012e23cdea212b03eaa01f9a68376b73c2a,08cb95d38575226435c81cf110fb9185898004f9..894b3ba0e94b25b8d460f37c228c62825ade9771
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Transform\stwo\s#ifdef\sstatements\sinto\s#if\sstatements.
- D 2017-07-20T21:01:53.887
 -C Add\sVFS\sinterfaces\sneeded\sto\smake\suse\sof\sbatch\satomic\swrite\scapabilities\nin\sthe\sunderlying\sfilesystem.
 -D 2017-07-19T11:20:32.402
++C Add\sthe\sdocumentation\stext\sfor\sthe\snew\sVFS\sinterfaces\sused\sby\sbatch-atomic\nwrites.
++D 2017-07-20T21:18:49.851
  F Makefile.in d9873c9925917cca9990ee24be17eb9613a668012c85a343aef7e5536ae266e8
  F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
  F Makefile.msc 02b469e9dcd5b7ee63fc1fb05babc174260ee4cfa4e0ef2e48c3c6801567a016
@@@ -453,12 -453,12 +453,12 @@@ F src/random.c 80f5d666f23feb3e6665a6ce
  F src/resolve.c 4324a94573b1e29286f8121e4881db59eaedc014afeb274c8d3e07ed282e0e20
  F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
  F src/select.c c6bf96a7f9d7d68f929de84738c599a30d0a725ab0b54420e70545743cd5ee7b
 -F src/shell.c dd4494287b22ac5ab0654fdd5acb1f2172d2fe621f673a39229ddc31bd8d598f
 +F src/shell.c bd6a37cbe8bf64ef6a6a74fdc50f067d3148149b4ce2b4d03154663e66ded55f
  F src/shell.c.in b5725acacba95ccefa57b6d068f710e29ba8239c3aa704628a1902a1f729c175
- F src/sqlite.h.in 51541eacdbbd26afcb5933ea4fadf9952fa9b3e4d7277c2b7983bf2b4a09a0bf
 -F src/sqlite.h.in d11303f0c79ce08edb57893ee5eb168e83cdc6d0cad973da5957b954d0ff950e
++F src/sqlite.h.in 6178cd914ca32535015ff57df78438f87a0f16609e9e47b1bc5f373ffe892686
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h 967154985ed2ae62f90d9029bb5b5071793d847f1696a2ebe9e8cc0b042ae60b
 -F src/sqliteInt.h 0ba730cdc8afa723a5642380712f8bb33abd6a69218571c18b94acf3562de22a
 +F src/sqliteInt.h 437217b5d22e9c8f3c53f90324915a535f649262b1281eaabed4e31653576b51
  F src/sqliteLimit.h 1513bfb7b20378aa0041e7022d04acb73525de35b80b252f1b83fedb4de6a76b
  F src/status.c a9e66593dfb28a9e746cba7153f84d49c1ddc4b1
  F src/table.c b46ad567748f24a326d9de40e5b9659f96ffff34
@@@ -1637,7 -1636,10 +1637,7 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P 7eb9bf2c5b42c39901fd571553c1f70aa5a9dac71fdc8e318b3063b928ad58f7
- R 07625fb6756b6e7b352836395541d6b0
 -P 255d6b99de2bb210c09ebee9f9481ba3d1130fda47e6e01b4cc8411d00679d09
 -R fcea2dbde9fcd8d5a84c03eddfc73a94
 -T *branch * batch-atomic-write
 -T *sym-batch-atomic-write *
 -T -sym-trunk *
++P f2c6b5845028ef25dcd17e23e11b93c9f7296c26c7a21718fdae8f4b48c4e1da 929bc46b8be0111a7b6e3d6fe129f0cad869c6a551bd47569c122742597b9f1c
++R fd0dcdf56ec4d6602162b3b1d1594e27
  U drh
- Z cd9d564ae288b39921ae68db54ad611b
 -Z 449d02eadec688967e645655067d23f3
++Z 9b7e24481f0b473c93f9af036e52968c
diff --cc manifest.uuid
index 9016b580298a8ad57e620351e0e86af604f901c7,ea184f4bf76cfe77226b6866aa56d477380ef930..2096e2df55026c0698016bd083e9f19ffe588cce
@@@ -1,1 -1,1 +1,1 @@@
- f2c6b5845028ef25dcd17e23e11b93c9f7296c26c7a21718fdae8f4b48c4e1da
 -929bc46b8be0111a7b6e3d6fe129f0cad869c6a551bd47569c122742597b9f1c
++5e944eea5a32cb4d27a2d5ae283b9ce6fe08c1bc584256e8e8c78583c415eb2a
diff --cc src/sqlite.h.in
index 6d0aa3e2bb69d3bf5324334f453f76f444c0e06e,7c3f0f73d1f60dac250884385074aaf47cb49b41..a24863080994387b8199a8affabe799d374876c1
@@@ -1014,6 -1018,19 +1019,24 @@@ struct sqlite3_io_methods 
  ** The [SQLITE_FCNTL_RBU] opcode is implemented by the special VFS used by
  ** the RBU extension only.  All other VFS should return SQLITE_NOTFOUND for
  ** this opcode.  
+ **
+ ** <li>[[SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]]
+ ** If the [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] opcode returns SQLITE_OK, that
+ ** means all subsequent write operations will be deferred and done
+ ** atomically at the next [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE].  Systems
+ ** that do not support batch atomic writes will return SQLITE_NOTFOUND.
+ **
+ ** <li>[[SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]]
+ ** If the [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE] opcode causes all write
+ ** operations since the previous successful call to 
+ ** [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] to be performed atomically.
+ ** This file control returns [SQLITE_OK] if and only if the writes were
+ ** all performed successfully and have been committed to persistent storage.
++**
++** <li>[[SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE]]
++** If the [SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE] opcode causes all write
++** operations since the previous successful call to 
++** [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] to be rollback.
  ** </ul>
  */
  #define SQLITE_FCNTL_LOCKSTATE               1
  #define SQLITE_FCNTL_JOURNAL_POINTER        28
  #define SQLITE_FCNTL_WIN32_GET_HANDLE       29
  #define SQLITE_FCNTL_PDB                    30
  #define SQLITE_FCNTL_BEGIN_ATOMIC_WRITE     31
  #define SQLITE_FCNTL_COMMIT_ATOMIC_WRITE    32
 +#define SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE  33
  
  /* deprecated names */
  #define SQLITE_GET_LOCKPROXYFILE      SQLITE_FCNTL_GET_LOCKPROXYFILE