summaryrefslogtreecommitdiff
path: root/vendor/github.com/ncruces/go-sqlite3/util/vfsutil
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2025-03-09 17:47:56 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2025-12-01 22:08:04 +0100
commitb1af8fd87760b34e3ff2fd3bda38f211815a0473 (patch)
tree9317fad1a7ec298d7a8d2678e4e422953bbc6f33 /vendor/github.com/ncruces/go-sqlite3/util/vfsutil
parent[chore] update URLs to forked source (diff)
downloadgotosocial-b1af8fd87760b34e3ff2fd3bda38f211815a0473.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/ncruces/go-sqlite3/util/vfsutil')
-rw-r--r--vendor/github.com/ncruces/go-sqlite3/util/vfsutil/slice.go102
-rw-r--r--vendor/github.com/ncruces/go-sqlite3/util/vfsutil/wrap.go185
2 files changed, 0 insertions, 287 deletions
diff --git a/vendor/github.com/ncruces/go-sqlite3/util/vfsutil/slice.go b/vendor/github.com/ncruces/go-sqlite3/util/vfsutil/slice.go
deleted file mode 100644
index b0fbe993c..000000000
--- a/vendor/github.com/ncruces/go-sqlite3/util/vfsutil/slice.go
+++ /dev/null
@@ -1,102 +0,0 @@
-package vfsutil
-
-import (
- "io"
-
- "github.com/ncruces/go-sqlite3"
- "github.com/ncruces/go-sqlite3/vfs"
-)
-
-// SliceFile implements [vfs.File] with a byte slice.
-// It is suitable for temporary files (such as [vfs.OPEN_TEMP_JOURNAL]),
-// but not concurrency safe.
-type SliceFile []byte
-
-var (
- // Ensure these interfaces are implemented:
- _ vfs.FileSizeHint = &SliceFile{}
-)
-
-// ReadAt implements [io.ReaderAt].
-func (f *SliceFile) ReadAt(b []byte, off int64) (n int, err error) {
- if d := *f; off < int64(len(d)) {
- n = copy(b, d[off:])
- }
- if n < len(b) {
- err = io.EOF
- }
- return
-}
-
-// WriteAt implements [io.WriterAt].
-func (f *SliceFile) WriteAt(b []byte, off int64) (n int, err error) {
- d := *f
- if off > int64(len(d)) {
- d = append(d, make([]byte, off-int64(len(d)))...)
- }
- d = append(d[:off], b...)
- if len(d) > len(*f) {
- *f = d
- }
- return len(b), nil
-}
-
-// Size implements [vfs.File].
-func (f *SliceFile) Size() (int64, error) {
- return int64(len(*f)), nil
-}
-
-// Truncate implements [vfs.File].
-func (f *SliceFile) Truncate(size int64) error {
- if d := *f; size < int64(len(d)) {
- *f = d[:size]
- }
- return nil
-}
-
-// SizeHint implements [vfs.FileSizeHint].
-func (f *SliceFile) SizeHint(size int64) error {
- if d := *f; size > int64(len(d)) {
- *f = append(d, make([]byte, size-int64(len(d)))...)
- }
- return nil
-}
-
-// Close implements [io.Closer].
-func (*SliceFile) Close() error { return nil }
-
-// Sync implements [vfs.File].
-func (*SliceFile) Sync(flags vfs.SyncFlag) error { return nil }
-
-// Lock implements [vfs.File].
-func (*SliceFile) Lock(lock vfs.LockLevel) error {
- // notest // not concurrency safe
- return sqlite3.IOERR_LOCK
-}
-
-// Unlock implements [vfs.File].
-func (*SliceFile) Unlock(lock vfs.LockLevel) error {
- // notest // not concurrency safe
- return sqlite3.IOERR_UNLOCK
-}
-
-// CheckReservedLock implements [vfs.File].
-func (*SliceFile) CheckReservedLock() (bool, error) {
- // notest // not concurrency safe
- return false, sqlite3.IOERR_CHECKRESERVEDLOCK
-}
-
-// SectorSize implements [vfs.File].
-func (*SliceFile) SectorSize() int {
- // notest // safe default
- return 0
-}
-
-// DeviceCharacteristics implements [vfs.File].
-func (*SliceFile) DeviceCharacteristics() vfs.DeviceCharacteristic {
- return vfs.IOCAP_ATOMIC |
- vfs.IOCAP_SEQUENTIAL |
- vfs.IOCAP_SAFE_APPEND |
- vfs.IOCAP_POWERSAFE_OVERWRITE |
- vfs.IOCAP_SUBPAGE_READ
-}
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
-}