sqlite3_vfs class

An instance of the sqlite3_vfs object defines the interface between the SQLite core and the underlying operating system.

The "vfs" in the name of the object stands for "virtual file system". See the VFS documentation for further information. The VFS interface is sometimes extended by adding new methods onto the end. Each time such an extension occurs, the iVersion field is incremented. The iVersion value started out as 1 in SQLite version 3.5.0 on 2007-09-04, then increased to 2 with SQLite version 3.7.0 on 2010-07-21, and then increased to 3 with SQLite version 3.7.6 on 2011-04-12. Additional fields may be appended to the sqlite3_vfs object and the iVersion value may increase again in future versions of SQLite. Note that due to an oversight, the structure of the sqlite3_vfs object changed in the transition from SQLite version 3.5.9 to version 3.6.0 on 2008-07-16 and yet the iVersion field was not increased. The szOsFile field is the size of the subclassed sqlite3_file structure used by this VFS. mxPathname is the maximum length of a pathname in this VFS. Registered sqlite3_vfs objects are kept on a linked list formed by the pNext pointer. The sqlite3_vfs_register() and sqlite3_vfs_unregister() interfaces manage this list in a thread-safe way. The sqlite3_vfs_find() interface searches the list. Neither the application code nor the VFS implementation should use the pNext pointer. The pNext field is the only field in the sqlite3_vfs structure that SQLite will ever modify. SQLite will only access or modify this field while holding a particular static mutex. The application should never modify anything within the sqlite3_vfs object once the object has been registered. The zName field holds the name of the VFS module. The name must be unique across all VFS modules. SQLite guarantees that the zFilename parameter to xOpen is either a NULL pointer or string obtained from xFullPathname() with an optional suffix added. If a suffix is added to the zFilename parameter, it will consist of a single "-" character followed by no more than 11 alphanumeric and/or "-" characters. SQLite further guarantees that the string will be valid and unchanged until xClose() is called. Because of the previous sentence, the sqlite3_file can safely store a pointer to the filename if it needs to remember the filename for some reason. If the zFilename parameter to xOpen is a NULL pointer then xOpen must invent its own temporary name for the file. Whenever the xFilename parameter is NULL it will also be the case that the flags parameter will include SQLITE_OPEN_DELETEONCLOSE. The flags argument to xOpen() includes all bits set in the flags argument to sqlite3_open_v2(). Or if sqlite3_open() or sqlite3_open16() is used, then flags includes at least SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE. If xOpen() opens a file read-only then it sets *pOutFlags to include SQLITE_OPEN_READONLY. Other bits in *pOutFlags may be set. SQLite will also add one of the following flags to the xOpen() call, depending on the object being opened:

Inheritance

Constructors

sqlite3_vfs()

Properties

hashCode int
The hash code for this object.
no setterinherited
iVersion int
getter/setter pair
mxPathname int
getter/setter pair
pAppData PtrVoid
getter/setter pair
pNext PtrVfs
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
szOsFile int
getter/setter pair
xAccess PtrDefxAccess
getter/setter pair
xCurrentTime PtrDefxCurrentTime
getter/setter pair
xCurrentTimeInt64 PtrDefxCurrentTimeInt64
getter/setter pair
xDelete PtrDefxDelete
getter/setter pair
xDlClose PtrDefxDlClose
getter/setter pair
xDlError PtrDefxDlError
getter/setter pair
xDlOpen PtrDefxDlOpen
getter/setter pair
xDlSym PtrDefxDlSym6
getter/setter pair
xFullPathname PtrDefxFullPathname
getter/setter pair
xGetLastError PtrDefxRandomness
getter/setter pair
xGetSystemCall PtrDefxGetSystemCall
getter/setter pair
xNextSystemCall PtrDefxNextSystemCall
getter/setter pair
xOpen PtrDefxOpen5
getter/setter pair
xRandomness PtrDefxRandomness
getter/setter pair
xSetSystemCall PtrDefxSetSystemCall
getter/setter pair
xSleep PtrDefxSleep
getter/setter pair
zName PtrString
getter/setter pair

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited