summaryrefslogtreecommitdiff
path: root/vendor/github.com/ncruces/go-sqlite3/util/vfsutil/wrap.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/ncruces/go-sqlite3/util/vfsutil/wrap.go')
-rw-r--r--vendor/github.com/ncruces/go-sqlite3/util/vfsutil/wrap.go185
1 files changed, 0 insertions, 185 deletions
diff --git a/vendor/github.com/ncruces/go-sqlite3/util/vfsutil/wrap.go b/vendor/github.com/ncruces/go-sqlite3/util/vfsutil/wrap.go
deleted file mode 100644
index ad96547fa..000000000
--- a/vendor/github.com/ncruces/go-sqlite3/util/vfsutil/wrap.go
+++ /dev/null
@@ -1,185 +0,0 @@
-// Package vfsutil implements virtual filesystem utilities.
-package vfsutil
-
-import (
- "github.com/ncruces/go-sqlite3"
- "github.com/ncruces/go-sqlite3/vfs"
-)
-
-// UnwrapFile unwraps a [vfs.File],
-// possibly implementing [vfs.FileUnwrap],
-// to a concrete type.
-func UnwrapFile[T vfs.File](f vfs.File) (_ T, _ bool) {
- for {
- switch t := f.(type) {
- default:
- return
- case T:
- return t, true
- case vfs.FileUnwrap:
- f = t.Unwrap()
- }
- }
-}
-
-// WrapOpen helps wrap [vfs.VFS].
-func WrapOpen(f vfs.VFS, name string, flags vfs.OpenFlag) (file vfs.File, _ vfs.OpenFlag, err error) {
- if f, ok := f.(vfs.VFSFilename); name == "" && ok {
- return f.OpenFilename(nil, flags)
- }
- return f.Open(name, flags)
-}
-
-// WrapOpenFilename helps wrap [vfs.VFSFilename].
-func WrapOpenFilename(f vfs.VFS, name *vfs.Filename, flags vfs.OpenFlag) (file vfs.File, _ vfs.OpenFlag, err error) {
- if f, ok := f.(vfs.VFSFilename); ok {
- return f.OpenFilename(name, flags)
- }
- return f.Open(name.String(), flags)
-}
-
-// WrapLockState helps wrap [vfs.FileLockState].
-func WrapLockState(f vfs.File) vfs.LockLevel {
- if f, ok := f.(vfs.FileLockState); ok {
- return f.LockState()
- }
- return vfs.LOCK_EXCLUSIVE + 1 // UNKNOWN_LOCK
-}
-
-// WrapPersistWAL helps wrap [vfs.FilePersistWAL].
-func WrapPersistWAL(f vfs.File) bool {
- if f, ok := f.(vfs.FilePersistWAL); ok {
- return f.PersistWAL()
- }
- return false
-}
-
-// WrapSetPersistWAL helps wrap [vfs.FilePersistWAL].
-func WrapSetPersistWAL(f vfs.File, keepWAL bool) {
- if f, ok := f.(vfs.FilePersistWAL); ok {
- f.SetPersistWAL(keepWAL)
- }
-}
-
-// WrapPowersafeOverwrite helps wrap [vfs.FilePowersafeOverwrite].
-func WrapPowersafeOverwrite(f vfs.File) bool {
- if f, ok := f.(vfs.FilePowersafeOverwrite); ok {
- return f.PowersafeOverwrite()
- }
- return false
-}
-
-// WrapSetPowersafeOverwrite helps wrap [vfs.FilePowersafeOverwrite].
-func WrapSetPowersafeOverwrite(f vfs.File, psow bool) {
- if f, ok := f.(vfs.FilePowersafeOverwrite); ok {
- f.SetPowersafeOverwrite(psow)
- }
-}
-
-// WrapChunkSize helps wrap [vfs.FileChunkSize].
-func WrapChunkSize(f vfs.File, size int) {
- if f, ok := f.(vfs.FileChunkSize); ok {
- f.ChunkSize(size)
- }
-}
-
-// WrapSizeHint helps wrap [vfs.FileSizeHint].
-func WrapSizeHint(f vfs.File, size int64) error {
- if f, ok := f.(vfs.FileSizeHint); ok {
- return f.SizeHint(size)
- }
- return sqlite3.NOTFOUND
-}
-
-// WrapHasMoved helps wrap [vfs.FileHasMoved].
-func WrapHasMoved(f vfs.File) (bool, error) {
- if f, ok := f.(vfs.FileHasMoved); ok {
- return f.HasMoved()
- }
- return false, sqlite3.NOTFOUND
-}
-
-// WrapOverwrite helps wrap [vfs.FileOverwrite].
-func WrapOverwrite(f vfs.File) error {
- if f, ok := f.(vfs.FileOverwrite); ok {
- return f.Overwrite()
- }
- return sqlite3.NOTFOUND
-}
-
-// WrapSyncSuper helps wrap [vfs.FileSync].
-func WrapSyncSuper(f vfs.File, super string) error {
- if f, ok := f.(vfs.FileSync); ok {
- return f.SyncSuper(super)
- }
- return sqlite3.NOTFOUND
-}
-
-// WrapCommitPhaseTwo helps wrap [vfs.FileCommitPhaseTwo].
-func WrapCommitPhaseTwo(f vfs.File) error {
- if f, ok := f.(vfs.FileCommitPhaseTwo); ok {
- return f.CommitPhaseTwo()
- }
- return sqlite3.NOTFOUND
-}
-
-// WrapBeginAtomicWrite helps wrap [vfs.FileBatchAtomicWrite].
-func WrapBeginAtomicWrite(f vfs.File) error {
- if f, ok := f.(vfs.FileBatchAtomicWrite); ok {
- return f.BeginAtomicWrite()
- }
- return sqlite3.NOTFOUND
-}
-
-// WrapCommitAtomicWrite helps wrap [vfs.FileBatchAtomicWrite].
-func WrapCommitAtomicWrite(f vfs.File) error {
- if f, ok := f.(vfs.FileBatchAtomicWrite); ok {
- return f.CommitAtomicWrite()
- }
- return sqlite3.NOTFOUND
-}
-
-// WrapRollbackAtomicWrite helps wrap [vfs.FileBatchAtomicWrite].
-func WrapRollbackAtomicWrite(f vfs.File) error {
- if f, ok := f.(vfs.FileBatchAtomicWrite); ok {
- return f.RollbackAtomicWrite()
- }
- return sqlite3.NOTFOUND
-}
-
-// WrapCheckpointStart helps wrap [vfs.FileCheckpoint].
-func WrapCheckpointStart(f vfs.File) {
- if f, ok := f.(vfs.FileCheckpoint); ok {
- f.CheckpointStart()
- }
-}
-
-// WrapCheckpointDone helps wrap [vfs.FileCheckpoint].
-func WrapCheckpointDone(f vfs.File) {
- if f, ok := f.(vfs.FileCheckpoint); ok {
- f.CheckpointDone()
- }
-}
-
-// WrapPragma helps wrap [vfs.FilePragma].
-func WrapPragma(f vfs.File, name, value string) (string, error) {
- if f, ok := f.(vfs.FilePragma); ok {
- return f.Pragma(name, value)
- }
- return "", sqlite3.NOTFOUND
-}
-
-// WrapBusyHandler helps wrap [vfs.FilePragma].
-func WrapBusyHandler(f vfs.File, handler func() bool) {
- if f, ok := f.(vfs.FileBusyHandler); ok {
- f.BusyHandler(handler)
- }
-}
-
-// WrapSharedMemory helps wrap [vfs.FileSharedMemory].
-func WrapSharedMemory(f vfs.File) vfs.SharedMemory {
- if f, ok := f.(vfs.FileSharedMemory); ok {
- return f.SharedMemory()
- }
- return nil
-}