mirror of
https://github.com/sqlite/sqlite.git
synced 2025-04-21 19:26:38 +03:00
Change the name of IOCAP_SAFE_DELETE to IOCAP_UNDELETABLE_WHEN_OPEN. Have the xDeviceCharacteristics() method of the win32 VFS return this flag.
FossilOrigin-Name: 5a5ff4e3e4c707464f227907d0aefb8ef42180dd
This commit is contained in:
parent
146ed78b78
commit
8ce49d6ac0
20
manifest
20
manifest
@ -1,5 +1,5 @@
|
|||||||
C Add\stests\sto\spager1.test\sand\spagerfault.test.
|
C Change\sthe\sname\sof\sIOCAP_SAFE_DELETE\sto\sIOCAP_UNDELETABLE_WHEN_OPEN.\sHave\sthe\sxDeviceCharacteristics()\smethod\sof\sthe\swin32\sVFS\sreturn\sthis\sflag.
|
||||||
D 2010-06-19T17:26:37
|
D 2010-06-19T18:12:03
|
||||||
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
|
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
|
||||||
F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3
|
F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3
|
||||||
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
|
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
|
||||||
@ -155,8 +155,8 @@ F src/os.h d7775504a51e6e0d40315aa427b3e229ff9ff9ca
|
|||||||
F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
|
F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
|
||||||
F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19
|
F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19
|
||||||
F src/os_unix.c 2555f00c4c777539c33a2ef0e65f71cff08a6fa0
|
F src/os_unix.c 2555f00c4c777539c33a2ef0e65f71cff08a6fa0
|
||||||
F src/os_win.c dfde7d33c446e89dd9a277c036f2c4cc564b3138
|
F src/os_win.c 73608839342de32280cb378d3c2fc85a5dd80bd2
|
||||||
F src/pager.c 5968e0d73febd2e1c9e4e785660bdf49ff2e2cab
|
F src/pager.c 6ebb43239ad4ae2c0b0720bbd88a6a84a301bc8a
|
||||||
F src/pager.h ca1f23c0cf137ac26f8908df2427c8b308361efd
|
F src/pager.h ca1f23c0cf137ac26f8908df2427c8b308361efd
|
||||||
F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
|
F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
|
||||||
F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07
|
F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07
|
||||||
@ -170,7 +170,7 @@ F src/resolve.c ac5f1a713cd1ae77f08b83cc69581e11bf5ae6f9
|
|||||||
F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
|
F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
|
||||||
F src/select.c c03d8a0565febcde8c6a12c5d77d065fddae889b
|
F src/select.c c03d8a0565febcde8c6a12c5d77d065fddae889b
|
||||||
F src/shell.c fd4ccdb37c3b68de0623eb938a649e0990710714
|
F src/shell.c fd4ccdb37c3b68de0623eb938a649e0990710714
|
||||||
F src/sqlite.h.in 706e41c4526ed2674fa042ab3b7ba473b20cb141
|
F src/sqlite.h.in 301476d8556cbb1c5d4bc906370b2dafe4d98a44
|
||||||
F src/sqlite3ext.h 69dfb8116af51b84a029cddb3b35062354270c89
|
F src/sqlite3ext.h 69dfb8116af51b84a029cddb3b35062354270c89
|
||||||
F src/sqliteInt.h 242987ebd2366ea36650a09cdab04a9163c62109
|
F src/sqliteInt.h 242987ebd2366ea36650a09cdab04a9163c62109
|
||||||
F src/sqliteLimit.h 196e2f83c3b444c4548fc1874f52f84fdbda40f3
|
F src/sqliteLimit.h 196e2f83c3b444c4548fc1874f52f84fdbda40f3
|
||||||
@ -209,7 +209,7 @@ F src/test_schema.c 8c06ef9ddb240c7a0fcd31bc221a6a2aade58bf0
|
|||||||
F src/test_server.c bbba05c144b5fc4b52ff650a4328027b3fa5fcc6
|
F src/test_server.c bbba05c144b5fc4b52ff650a4328027b3fa5fcc6
|
||||||
F src/test_tclvar.c f4dc67d5f780707210d6bb0eb6016a431c04c7fa
|
F src/test_tclvar.c f4dc67d5f780707210d6bb0eb6016a431c04c7fa
|
||||||
F src/test_thread.c aa9919c885a1fe53eafc73492f0898ee6c0a0726
|
F src/test_thread.c aa9919c885a1fe53eafc73492f0898ee6c0a0726
|
||||||
F src/test_vfs.c abdf6881beac76cbc54d2586cd092b2b4ed3a217
|
F src/test_vfs.c 9ba0bb227f5fa08d7e3533ff21063c5acf13dabb
|
||||||
F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
|
F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
|
||||||
F src/tokenize.c 25ceb0f0a746ea1d0f9553787f3f0a56853cfaeb
|
F src/tokenize.c 25ceb0f0a746ea1d0f9553787f3f0a56853cfaeb
|
||||||
F src/trigger.c 8927588cb9e6d47f933b53bfe74200fbb504100d
|
F src/trigger.c 8927588cb9e6d47f933b53bfe74200fbb504100d
|
||||||
@ -466,7 +466,7 @@ F test/join4.test 1a352e4e267114444c29266ce79e941af5885916
|
|||||||
F test/join5.test 86675fc2919269aa923c84dd00ee4249b97990fe
|
F test/join5.test 86675fc2919269aa923c84dd00ee4249b97990fe
|
||||||
F test/join6.test bf82cf3f979e9eade83ad0d056a66c5ed71d1901
|
F test/join6.test bf82cf3f979e9eade83ad0d056a66c5ed71d1901
|
||||||
F test/journal1.test 36f2d1bb9bf03f790f43fbdb439e44c0657fab19
|
F test/journal1.test 36f2d1bb9bf03f790f43fbdb439e44c0657fab19
|
||||||
F test/journal2.test 3e98dc6b7486aa7e1ed67ff542e891a978654093
|
F test/journal2.test a08ea6545d987385e7cbb1d4e7dc2eaacd83b00b
|
||||||
F test/jrnlmode.test 76f94d61528c5ff32102a12f8cf34f4cc36f7849
|
F test/jrnlmode.test 76f94d61528c5ff32102a12f8cf34f4cc36f7849
|
||||||
F test/jrnlmode2.test fe79ea1f0375c926b8de0362ddf94f34a64135fd
|
F test/jrnlmode2.test fe79ea1f0375c926b8de0362ddf94f34a64135fd
|
||||||
F test/jrnlmode3.test cfcdb12b90e640a23b92785a002d96c0624c8710
|
F test/jrnlmode3.test cfcdb12b90e640a23b92785a002d96c0624c8710
|
||||||
@ -824,7 +824,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
|
|||||||
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
||||||
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
|
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
|
||||||
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
||||||
P 58c0b5bfed8c67cc3f2f4a6784d08c14e652c265
|
P f5df83fd875073eee8e2269e87e2a8c9c7abc981
|
||||||
R 86313cbaab41f6821959bc241c636465
|
R 71fe53986b1289fd437e53aa98b15675
|
||||||
U dan
|
U dan
|
||||||
Z a6c0e379ae1464c418b51e1bd6121ef1
|
Z aadd8ae68501aa286ffeda96be308372
|
||||||
|
@ -1 +1 @@
|
|||||||
f5df83fd875073eee8e2269e87e2a8c9c7abc981
|
5a5ff4e3e4c707464f227907d0aefb8ef42180dd
|
@ -1151,7 +1151,7 @@ static int winSectorSize(sqlite3_file *id){
|
|||||||
*/
|
*/
|
||||||
static int winDeviceCharacteristics(sqlite3_file *id){
|
static int winDeviceCharacteristics(sqlite3_file *id){
|
||||||
UNUSED_PARAMETER(id);
|
UNUSED_PARAMETER(id);
|
||||||
return 0;
|
return SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
|
@ -3924,9 +3924,9 @@ static int hasHotJournal(Pager *pPager, int *pExists){
|
|||||||
assert( pPager->useJournal );
|
assert( pPager->useJournal );
|
||||||
assert( isOpen(pPager->fd) );
|
assert( isOpen(pPager->fd) );
|
||||||
assert( pPager->state <= PAGER_SHARED );
|
assert( pPager->state <= PAGER_SHARED );
|
||||||
assert( jrnlOpen==0
|
assert( jrnlOpen==0 || ( sqlite3OsDeviceCharacteristics(pPager->jfd) &
|
||||||
|| sqlite3OsDeviceCharacteristics(pPager->jfd)&SQLITE_IOCAP_SAFE_DELETE
|
SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN
|
||||||
);
|
));
|
||||||
|
|
||||||
*pExists = 0;
|
*pExists = 0;
|
||||||
if( !jrnlOpen ){
|
if( !jrnlOpen ){
|
||||||
@ -4509,7 +4509,7 @@ static int pager_open_journal(Pager *pPager){
|
|||||||
rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, flags, 0);
|
rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, flags, 0);
|
||||||
if( rc==SQLITE_OK ){
|
if( rc==SQLITE_OK ){
|
||||||
int iDc = sqlite3OsDeviceCharacteristics(pPager->jfd);
|
int iDc = sqlite3OsDeviceCharacteristics(pPager->jfd);
|
||||||
pPager->safeJrnlHandle = (iDc&SQLITE_IOCAP_SAFE_DELETE)!=0;
|
pPager->safeJrnlHandle = (iDc&SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN)!=0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -508,7 +508,7 @@ int sqlite3_exec(
|
|||||||
#define SQLITE_IOCAP_ATOMIC64K 0x00000100
|
#define SQLITE_IOCAP_ATOMIC64K 0x00000100
|
||||||
#define SQLITE_IOCAP_SAFE_APPEND 0x00000200
|
#define SQLITE_IOCAP_SAFE_APPEND 0x00000200
|
||||||
#define SQLITE_IOCAP_SEQUENTIAL 0x00000400
|
#define SQLITE_IOCAP_SEQUENTIAL 0x00000400
|
||||||
#define SQLITE_IOCAP_SAFE_DELETE 0x00000800
|
#define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 0x00000800
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: File Locking Levels
|
** CAPI3REF: File Locking Levels
|
||||||
|
@ -1078,7 +1078,7 @@ static int testvfs_obj_cmd(
|
|||||||
{ "atomic64k", SQLITE_IOCAP_ATOMIC64K },
|
{ "atomic64k", SQLITE_IOCAP_ATOMIC64K },
|
||||||
{ "sequential", SQLITE_IOCAP_SEQUENTIAL },
|
{ "sequential", SQLITE_IOCAP_SEQUENTIAL },
|
||||||
{ "safe_append", SQLITE_IOCAP_SAFE_APPEND },
|
{ "safe_append", SQLITE_IOCAP_SAFE_APPEND },
|
||||||
{ "safe_delete", SQLITE_IOCAP_SAFE_DELETE },
|
{ "undeletable_when_open", SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN },
|
||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
};
|
};
|
||||||
Tcl_Obj *pRet;
|
Tcl_Obj *pRet;
|
||||||
|
@ -28,7 +28,7 @@ proc a_string {n} {
|
|||||||
# characteristics flags to "SAFE_DELETE".
|
# characteristics flags to "SAFE_DELETE".
|
||||||
#
|
#
|
||||||
testvfs tvfs -default 1
|
testvfs tvfs -default 1
|
||||||
tvfs devchar safe_delete
|
tvfs devchar undeletable_when_open
|
||||||
|
|
||||||
# Set up a hook so that each time a journal file is opened, closed or
|
# Set up a hook so that each time a journal file is opened, closed or
|
||||||
# deleted, the method name ("xOpen", "xClose" or "xDelete") and the final
|
# deleted, the method name ("xOpen", "xClose" or "xDelete") and the final
|
||||||
|
Loading…
x
Reference in New Issue
Block a user