diff options
author | 2024-06-12 14:21:34 +0200 | |
---|---|---|
committer | 2024-06-12 13:21:34 +0100 | |
commit | 978b4176f1a31a497aaadd33f21659b318832c95 (patch) | |
tree | 8ab36617b993a457af5d2975bedaa63a57031ff3 /vendor/github.com/ncruces/go-sqlite3 | |
parent | [bugfix] Correct Swagger path for poll voting (#2996) (diff) | |
download | gotosocial-978b4176f1a31a497aaadd33f21659b318832c95.tar.xz |
[chore] Upgrade wasm-sqlite to v0.16.2 (#2997)
Diffstat (limited to 'vendor/github.com/ncruces/go-sqlite3')
8 files changed, 32 insertions, 28 deletions
diff --git a/vendor/github.com/ncruces/go-sqlite3/internal/util/json.go b/vendor/github.com/ncruces/go-sqlite3/internal/util/json.go index c0ba38cf0..7f6849a42 100644 --- a/vendor/github.com/ncruces/go-sqlite3/internal/util/json.go +++ b/vendor/github.com/ncruces/go-sqlite3/internal/util/json.go @@ -26,7 +26,7 @@ func (j JSON) Scan(value any) error { buf = v.AppendFormat(buf, time.RFC3339Nano) buf = append(buf, '"') case nil: - buf = append(buf, "null"...) + buf = []byte("null") default: panic(AssertErr()) } diff --git a/vendor/github.com/ncruces/go-sqlite3/json.go b/vendor/github.com/ncruces/go-sqlite3/json.go index 9b2565e87..2b762c092 100644 --- a/vendor/github.com/ncruces/go-sqlite3/json.go +++ b/vendor/github.com/ncruces/go-sqlite3/json.go @@ -5,7 +5,8 @@ import "github.com/ncruces/go-sqlite3/internal/util" // JSON returns a value that can be used as an argument to // [database/sql.DB.Exec], [database/sql.Row.Scan] and similar methods to // store value as JSON, or decode JSON into value. -// JSON should NOT be used with [BindJSON] or [ResultJSON]. +// JSON should NOT be used with [Stmt.BindJSON], [Stmt.ColumnJSON], +// [Value.JSON], or [Context.ResultJSON]. func JSON(value any) any { return util.JSON{Value: value} } diff --git a/vendor/github.com/ncruces/go-sqlite3/pointer.go b/vendor/github.com/ncruces/go-sqlite3/pointer.go index 611c1528c..0e2418b99 100644 --- a/vendor/github.com/ncruces/go-sqlite3/pointer.go +++ b/vendor/github.com/ncruces/go-sqlite3/pointer.go @@ -4,7 +4,8 @@ import "github.com/ncruces/go-sqlite3/internal/util" // Pointer returns a pointer to a value that can be used as an argument to // [database/sql.DB.Exec] and similar methods. -// Pointer should NOT be used with [BindPointer] or [ResultPointer]. +// Pointer should NOT be used with [Stmt.BindPointer], +// [Value.Pointer], or [Context.ResultPointer]. // // https://sqlite.org/bindptr.html func Pointer[T any](value T) any { diff --git a/vendor/github.com/ncruces/go-sqlite3/stmt.go b/vendor/github.com/ncruces/go-sqlite3/stmt.go index ac40e3802..381a7d06b 100644 --- a/vendor/github.com/ncruces/go-sqlite3/stmt.go +++ b/vendor/github.com/ncruces/go-sqlite3/stmt.go @@ -564,7 +564,7 @@ func (s *Stmt) ColumnJSON(col int, ptr any) error { var data []byte switch s.ColumnType(col) { case NULL: - data = append(data, "null"...) + data = []byte("null") case TEXT: data = s.ColumnRawText(col) case BLOB: diff --git a/vendor/github.com/ncruces/go-sqlite3/value.go b/vendor/github.com/ncruces/go-sqlite3/value.go index d0edf215b..1894ff4f1 100644 --- a/vendor/github.com/ncruces/go-sqlite3/value.go +++ b/vendor/github.com/ncruces/go-sqlite3/value.go @@ -177,7 +177,7 @@ func (v Value) JSON(ptr any) error { var data []byte switch v.Type() { case NULL: - data = append(data, "null"...) + data = []byte("null") case TEXT: data = v.RawText() case BLOB: diff --git a/vendor/github.com/ncruces/go-sqlite3/vfs/memdb/memdb.go b/vendor/github.com/ncruces/go-sqlite3/vfs/memdb/memdb.go index 8dc57ab9c..f21335d8e 100644 --- a/vendor/github.com/ncruces/go-sqlite3/vfs/memdb/memdb.go +++ b/vendor/github.com/ncruces/go-sqlite3/vfs/memdb/memdb.go @@ -75,11 +75,6 @@ func (memVFS) FullPathname(name string) (string, error) { type memDB struct { name string - // +checklocks:lockMtx - pending *memFile - // +checklocks:lockMtx - reserved *memFile - // +checklocks:dataMtx data []*[sectorSize]byte @@ -88,6 +83,10 @@ type memDB struct { // +checklocks:lockMtx shared int + // +checklocks:lockMtx + reserved bool + // +checklocks:lockMtx + pending bool // +checklocks:memoryMtx refs int @@ -214,24 +213,24 @@ func (m *memFile) Lock(lock vfs.LockLevel) error { switch lock { case vfs.LOCK_SHARED: - if m.pending != nil { + if m.pending { return sqlite3.BUSY } m.shared++ case vfs.LOCK_RESERVED: - if m.reserved != nil { + if m.reserved { return sqlite3.BUSY } - m.reserved = m + m.reserved = true case vfs.LOCK_EXCLUSIVE: if m.lock < vfs.LOCK_PENDING { - if m.pending != nil { + if m.pending { return sqlite3.BUSY } m.lock = vfs.LOCK_PENDING - m.pending = m + m.pending = true } for before := time.Now(); m.shared > 1; { @@ -256,11 +255,11 @@ func (m *memFile) Unlock(lock vfs.LockLevel) error { m.lockMtx.Lock() defer m.lockMtx.Unlock() - if m.pending == m { - m.pending = nil + if m.pending && m.lock >= vfs.LOCK_PENDING { + m.pending = false } - if m.reserved == m { - m.reserved = nil + if m.reserved && m.lock >= vfs.LOCK_RESERVED { + m.reserved = false } if lock < vfs.LOCK_SHARED { m.shared-- @@ -275,7 +274,7 @@ func (m *memFile) CheckReservedLock() (bool, error) { } m.lockMtx.Lock() defer m.lockMtx.Unlock() - return m.reserved != nil, nil + return m.reserved, nil } func (m *memFile) SectorSize() int { diff --git a/vendor/github.com/ncruces/go-sqlite3/vfs/shm.go b/vendor/github.com/ncruces/go-sqlite3/vfs/shm.go index 58da34df4..7b0d4b677 100644 --- a/vendor/github.com/ncruces/go-sqlite3/vfs/shm.go +++ b/vendor/github.com/ncruces/go-sqlite3/vfs/shm.go @@ -125,6 +125,9 @@ func (s *vfsShm) shmMap(ctx context.Context, mod api.Module, id, size int32, ext return 0, _IOERR_SHMMAP } s.regions = append(s.regions, r) + if s.readOnly { + return r.Ptr, _READONLY + } return r.Ptr, _OK } diff --git a/vendor/github.com/ncruces/go-sqlite3/vfs/shm_bsd.go b/vendor/github.com/ncruces/go-sqlite3/vfs/shm_bsd.go index 3b45b3087..8c2abee81 100644 --- a/vendor/github.com/ncruces/go-sqlite3/vfs/shm_bsd.go +++ b/vendor/github.com/ncruces/go-sqlite3/vfs/shm_bsd.go @@ -101,13 +101,13 @@ func (s *vfsShm) shmOpen() (rc _ErrorCode) { return _OK } - // Open file read-write, as it will be shared. + // Always open file read-write, as it will be shared. f, err := os.OpenFile(s.path, unix.O_RDWR|unix.O_CREAT|unix.O_NOFOLLOW, 0666) if err != nil { return _CANTOPEN } - // Close if file if it's not nil. + // Closes file if it's not nil. defer func() { f.Close() }() fi, err := f.Stat() @@ -145,17 +145,14 @@ func (s *vfsShm) shmOpen() (rc _ErrorCode) { info: fi, refs: 1, } - f = nil - add := true + f = nil // Don't close the file. for i, g := range vfsShmFiles { if g == nil { vfsShmFiles[i] = s.vfsShmFile - add = false + return rc } } - if add { - vfsShmFiles = append(vfsShmFiles, s.vfsShmFile) - } + vfsShmFiles = append(vfsShmFiles, s.vfsShmFile) return rc } @@ -195,6 +192,9 @@ func (s *vfsShm) shmMap(ctx context.Context, mod api.Module, id, size int32, ext return 0, _IOERR_SHMMAP } s.regions = append(s.regions, r) + if s.readOnly { + return r.Ptr, _READONLY + } return r.Ptr, _OK } |