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
- Implemented types
- Available extensions
Constructors
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