Files
sqlite3/vfs
2023-10-16 12:26:25 +01:00
..
2023-09-20 15:07:07 +01:00
2023-08-10 13:23:54 +01:00
2023-10-12 10:52:48 +01:00
2023-09-21 02:43:45 +01:00
2023-08-09 16:16:45 +01:00
2023-06-02 11:14:34 +01:00
2023-10-02 10:06:09 +01:00
2023-10-02 10:06:09 +01:00
2023-10-02 10:06:09 +01:00
2023-09-18 12:44:18 +01:00
2023-10-16 02:11:20 +01:00
2023-09-18 15:11:05 +01:00
2023-06-02 03:38:26 +01:00
2023-10-16 02:11:20 +01:00
2023-10-16 02:11:20 +01:00
2023-09-18 12:44:18 +01:00
2023-09-18 15:11:05 +01:00
2023-09-18 12:44:18 +01:00
2023-09-18 12:44:18 +01:00
2023-09-18 15:11:05 +01:00
2023-10-02 10:06:09 +01:00
2023-10-02 10:06:09 +01:00
2023-10-16 02:11:20 +01:00
2023-06-02 03:38:26 +01:00
2023-06-02 03:38:26 +01:00
2023-10-16 12:26:25 +01:00
2023-10-02 10:06:09 +01:00

Go SQLite VFS API

This package implements the SQLite OS Interface (aka VFS).

It replaces the default SQLite VFS with a pure Go implementation.

It also exposes interfaces that should allow you to implement your own custom VFSes.

Portability

This package is continuously tested on Linux, macOS and Windows, but it should also work on BSD Unixes and illumos (code paths for those plaforms are tested on macOS and Linux, respectively).

In all platforms for which this package builds out of the box, it should be safe to use it to access databases concurrently, from multiple goroutines, processes, and with other implementations of SQLite.

If the package does not build for your platform, you may try to use the sqlite3_flock or sqlite3_nolock build tags.

The sqlite3_flock tag uses BSD locks. It should be safe to access databases concurrently from multiple goroutines and processes, but not with other implementations of SQLite (unless these are also configured to use flock).

The sqlite3_nolock tag uses no locking at all. Database corruption is the likely result from concurrent write access.