This commit is contained in:
Nuno Cruces
2024-07-20 01:42:50 +01:00
parent b289fca3ca
commit 28f225b32e
7 changed files with 51 additions and 7 deletions

View File

@@ -16,12 +16,25 @@ func Savepoint(tx *sql.Tx) sqlite3.Savepoint {
return ctx.Savepoint
}
// A saveptCtx is never canceled, has no values, and has no deadline.
type saveptCtx struct{ sqlite3.Savepoint }
func (*saveptCtx) Deadline() (deadline time.Time, ok bool) { return }
func (*saveptCtx) Deadline() (deadline time.Time, ok bool) {
// notest
return
}
func (*saveptCtx) Done() <-chan struct{} { return nil }
func (*saveptCtx) Done() <-chan struct{} {
// notest
return nil
}
func (*saveptCtx) Err() error { return nil }
func (*saveptCtx) Err() error {
// notest
return nil
}
func (*saveptCtx) Value(key any) any { return nil }
func (*saveptCtx) Value(key any) any {
// notest
return nil
}

View File

@@ -160,7 +160,9 @@ func (b *bloom) Rename(new string) error {
return err
}
func (t *bloom) ShadowTables() {}
func (t *bloom) ShadowTables() {
// notest // not meant to be called
}
func (t *bloom) Integrity(schema, table string, flags int) error {
load, _, err := t.db.Prepare(fmt.Sprintf(

View File

@@ -0,0 +1,14 @@
package alloc_test
import (
"math"
"testing"
"github.com/ncruces/go-sqlite3/internal/alloc"
)
func TestVirtual(t *testing.T) {
defer func() { _ = recover() }()
alloc.Virtual(math.MaxInt+2, math.MaxInt+2)
t.Error("want panic")
}

View File

@@ -9,6 +9,8 @@ import (
"github.com/tetratelabs/wazero"
)
// notest
func init() {
if bits.UintSize < 64 {
return

View File

@@ -30,6 +30,7 @@ func (memVFS) Open(name string, flags vfs.OpenFlag) (vfs.File, vfs.OpenFlag, err
vfs.OPEN_TEMP_DB |
vfs.OPEN_TEMP_JOURNAL
if flags&types == 0 {
// notest
return nil, flags, sqlite3.CANTOPEN
}
@@ -136,7 +137,7 @@ func (m *memFile) ReadAt(b []byte, off int64) (n int, err error) {
}
n = copy(b, (*m.data[base])[rest:have])
if n < len(b) {
// Assume reads are page aligned.
// notest // assume reads are page aligned
return 0, io.ErrNoProgress
}
return n, nil
@@ -153,7 +154,7 @@ func (m *memFile) WriteAt(b []byte, off int64) (n int, err error) {
}
n = copy((*m.data[base])[rest:], b)
if n < len(b) {
// Assume writes are page aligned.
// notest // assume writes are page aligned
return n, io.ErrShortWrite
}
if size := off + int64(len(b)); size > m.size {

View File

@@ -16,6 +16,8 @@ const (
_F2FS_FEATURE_ATOMIC_WRITE = 4
)
// notest
func osBatchAtomic(file *os.File) bool {
flags, err := unix.IoctlGetInt(int(file.Fd()), _F2FS_IOC_GET_FEATURES)
return err == nil && flags&_F2FS_FEATURE_ATOMIC_WRITE != 0

View File

@@ -10,6 +10,7 @@ type readerVFS struct{}
func (readerVFS) Open(name string, flags vfs.OpenFlag) (vfs.File, vfs.OpenFlag, error) {
if flags&vfs.OPEN_MAIN_DB == 0 {
// notest
return nil, flags, sqlite3.CANTOPEN
}
readerMtx.RLock()
@@ -21,10 +22,12 @@ func (readerVFS) Open(name string, flags vfs.OpenFlag) (vfs.File, vfs.OpenFlag,
}
func (readerVFS) Delete(name string, dirSync bool) error {
// notest
return sqlite3.IOERR_DELETE
}
func (readerVFS) Access(name string, flag vfs.AccessFlag) (bool, error) {
// notest
return false, nil
}
@@ -39,30 +42,37 @@ func (readerFile) Close() error {
}
func (readerFile) WriteAt(b []byte, off int64) (n int, err error) {
// notest
return 0, sqlite3.READONLY
}
func (readerFile) Truncate(size int64) error {
// notest
return sqlite3.READONLY
}
func (readerFile) Sync(flag vfs.SyncFlag) error {
// notest
return nil
}
func (readerFile) Lock(lock vfs.LockLevel) error {
// notest
return nil
}
func (readerFile) Unlock(lock vfs.LockLevel) error {
// notest
return nil
}
func (readerFile) CheckReservedLock() (bool, error) {
// notest
return false, nil
}
func (readerFile) SectorSize() int {
// notest
return 0
}