1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00

Initial implementation of the sqlite3_file_control() interface.

Compiles and passes all historical tests but the new method is itself
untested. (CVS 4353)

FossilOrigin-Name: d3ab3e3911f10b17d0859a34f4f007c790a0cd82
This commit is contained in:
drh
2007-08-31 16:11:35 +00:00
parent 3570ad93d8
commit cc6bb3eaeb
13 changed files with 124 additions and 45 deletions

View File

@@ -2016,11 +2016,10 @@ static int nolockUnixClose(sqlite3_file *id) {
/*
** TODO: xBreakLock() for this vfs.
** No xFileControl opcodes are implemented by this VFS.
*/
static int unixBreakLock(sqlite3_file *id){
assert(!"TODO: unixBreakLock()");
return 0;
static int unixFileControl(sqlite3_file *id, int op, void *pArg){
return SQLITE_ERROR;
}
/*
@@ -2067,8 +2066,8 @@ static const sqlite3_io_methods sqlite3UnixIoMethod = {
unixLock,
unixUnlock,
unixCheckReservedLock,
unixBreakLock,
unixLockState,
unixFileControl,
unixSectorSize,
unixDeviceCharacteristics
};
@@ -2089,8 +2088,8 @@ static const sqlite3_io_methods sqlite3AFPLockingUnixIoMethod = {
afpUnixLock,
afpUnixUnlock,
afpUnixCheckReservedLock,
unixBreakLock,
unixLockState,
unixFileControl,
unixSectorSize,
unixDeviceCharacteristics
};
@@ -2110,8 +2109,8 @@ static const sqlite3_io_methods sqlite3FlockLockingUnixIoMethod = {
flockUnixLock,
flockUnixUnlock,
flockUnixCheckReservedLock,
unixBreakLock,
unixLockState,
unixFileControl,
unixSectorSize,
unixDeviceCharacteristics
};
@@ -2131,8 +2130,8 @@ static const sqlite3_io_methods sqlite3DotlockLockingUnixIoMethod = {
dotlockUnixLock,
dotlockUnixUnlock,
dotlockUnixCheckReservedLock,
unixBreakLock,
unixLockState,
unixFileControl,
unixSectorSize,
unixDeviceCharacteristics
};
@@ -2152,8 +2151,8 @@ static const sqlite3_io_methods sqlite3NolockLockingUnixIoMethod = {
nolockUnixLock,
nolockUnixUnlock,
nolockUnixCheckReservedLock,
unixBreakLock,
unixLockState,
unixFileControl,
unixSectorSize,
unixDeviceCharacteristics
};