mirror of
https://github.com/ncruces/go-sqlite3.git
synced 2026-01-12 05:59:14 +00:00
Remove noop locker.
This commit is contained in:
104
.github/coverage.html
vendored
104
.github/coverage.html
vendored
@@ -71,9 +71,7 @@
|
||||
|
||||
<option value="file7">github.com/ncruces/go-sqlite3/vfs_lock.go (51.6%)</option>
|
||||
|
||||
<option value="file8">github.com/ncruces/go-sqlite3/vfs_lock_noop.go (0.0%)</option>
|
||||
|
||||
<option value="file9">github.com/ncruces/go-sqlite3/vfs_unix.go (54.3%)</option>
|
||||
<option value="file8">github.com/ncruces/go-sqlite3/vfs_unix.go (53.6%)</option>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
@@ -1465,76 +1463,6 @@ func vfsCheckReservedLock(ctx context.Context, mod api.Module, pFile, pResOut ui
|
||||
|
||||
<pre class="file" id="file8" style="display: none">package sqlite3
|
||||
|
||||
type vfsNoopLocker struct {
|
||||
state vfsLockState
|
||||
}
|
||||
|
||||
var _ vfsLocker = &vfsNoopLocker{}
|
||||
|
||||
func (l *vfsNoopLocker) LockState() vfsLockState <span class="cov0" title="0">{
|
||||
return l.state
|
||||
}</span>
|
||||
|
||||
func (l *vfsNoopLocker) LockShared() xErrorCode <span class="cov0" title="0">{
|
||||
if assert && !(l.state == _NO_LOCK) </span><span class="cov0" title="0">{
|
||||
panic(assertErr + " [wz9dcw]")</span>
|
||||
}
|
||||
<span class="cov0" title="0">l.state = _SHARED_LOCK
|
||||
return _OK</span>
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) LockReserved() xErrorCode <span class="cov0" title="0">{
|
||||
if assert && !(l.state == _SHARED_LOCK) </span><span class="cov0" title="0">{
|
||||
panic(assertErr + " [m9hcil]")</span>
|
||||
}
|
||||
<span class="cov0" title="0">l.state = _RESERVED_LOCK
|
||||
return _OK</span>
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) LockPending() xErrorCode <span class="cov0" title="0">{
|
||||
if assert && !(l.state == _SHARED_LOCK || l.state == _RESERVED_LOCK) </span><span class="cov0" title="0">{
|
||||
panic(assertErr + " [wx8nk2]")</span>
|
||||
}
|
||||
<span class="cov0" title="0">l.state = _PENDING_LOCK
|
||||
return _OK</span>
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) LockExclusive() xErrorCode <span class="cov0" title="0">{
|
||||
if assert && !(l.state == _PENDING_LOCK) </span><span class="cov0" title="0">{
|
||||
panic(assertErr + " [84nbax]")</span>
|
||||
}
|
||||
<span class="cov0" title="0">l.state = _EXCLUSIVE_LOCK
|
||||
return _OK</span>
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) DowngradeLock() xErrorCode <span class="cov0" title="0">{
|
||||
if assert && !(l.state > _SHARED_LOCK) </span><span class="cov0" title="0">{
|
||||
panic(assertErr + " [je31i3]")</span>
|
||||
}
|
||||
<span class="cov0" title="0">l.state = _SHARED_LOCK
|
||||
return _OK</span>
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) Unlock() xErrorCode <span class="cov0" title="0">{
|
||||
if assert && !(l.state > _NO_LOCK) </span><span class="cov0" title="0">{
|
||||
panic(assertErr + " [m6e9w5]")</span>
|
||||
}
|
||||
<span class="cov0" title="0">l.state = _NO_LOCK
|
||||
return _OK</span>
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) CheckReservedLock() (bool, xErrorCode) <span class="cov0" title="0">{
|
||||
if l.state >= _RESERVED_LOCK </span><span class="cov0" title="0">{
|
||||
return true, _OK
|
||||
}</span>
|
||||
<span class="cov0" title="0">return false, _OK</span>
|
||||
}
|
||||
</pre>
|
||||
|
||||
<pre class="file" id="file9" style="display: none">//go:build unix
|
||||
|
||||
package sqlite3
|
||||
|
||||
import (
|
||||
"os"
|
||||
"runtime"
|
||||
@@ -1550,8 +1478,12 @@ func (l *vfsFileLocker) LockState() vfsLockState <span class="cov8" title="1">{
|
||||
}</span>
|
||||
|
||||
func (l *vfsFileLocker) LockShared() xErrorCode <span class="cov8" title="1">{
|
||||
if assert && !(l.state == _NO_LOCK) </span><span class="cov0" title="0">{
|
||||
panic(assertErr + " [wz9dcw]")</span>
|
||||
}
|
||||
|
||||
// A PENDING lock is needed before acquiring a SHARED lock.
|
||||
if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
<span class="cov8" title="1">if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
Type: syscall.F_RDLCK,
|
||||
Start: _PENDING_BYTE,
|
||||
Len: 1,
|
||||
@@ -1582,8 +1514,12 @@ func (l *vfsFileLocker) LockShared() xErrorCode <span class="cov8" title="1">{
|
||||
}
|
||||
|
||||
func (l *vfsFileLocker) LockReserved() xErrorCode <span class="cov8" title="1">{
|
||||
if assert && !(l.state == _SHARED_LOCK) </span><span class="cov0" title="0">{
|
||||
panic(assertErr + " [m9hcil]")</span>
|
||||
}
|
||||
|
||||
// Acquire the RESERVED lock.
|
||||
if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
<span class="cov8" title="1">if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
Type: syscall.F_WRLCK,
|
||||
Start: _RESERVED_BYTE,
|
||||
Len: 1,
|
||||
@@ -1595,8 +1531,12 @@ func (l *vfsFileLocker) LockReserved() xErrorCode <span class="cov8" title="1">{
|
||||
}
|
||||
|
||||
func (l *vfsFileLocker) LockPending() xErrorCode <span class="cov8" title="1">{
|
||||
if assert && !(l.state == _SHARED_LOCK || l.state == _RESERVED_LOCK) </span><span class="cov0" title="0">{
|
||||
panic(assertErr + " [wx8nk2]")</span>
|
||||
}
|
||||
|
||||
// Acquire the PENDING lock.
|
||||
if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
<span class="cov8" title="1">if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
Type: syscall.F_WRLCK,
|
||||
Start: _PENDING_BYTE,
|
||||
Len: 1,
|
||||
@@ -1608,8 +1548,12 @@ func (l *vfsFileLocker) LockPending() xErrorCode <span class="cov8" title="1">{
|
||||
}
|
||||
|
||||
func (l *vfsFileLocker) LockExclusive() xErrorCode <span class="cov8" title="1">{
|
||||
if assert && !(l.state == _PENDING_LOCK) </span><span class="cov0" title="0">{
|
||||
panic(assertErr + " [84nbax]")</span>
|
||||
}
|
||||
|
||||
// Acquire the EXCLUSIVE lock.
|
||||
if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
<span class="cov8" title="1">if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
Type: syscall.F_WRLCK,
|
||||
Start: _SHARED_FIRST,
|
||||
Len: _SHARED_SIZE,
|
||||
@@ -1621,8 +1565,12 @@ func (l *vfsFileLocker) LockExclusive() xErrorCode <span class="cov8" title="1">
|
||||
}
|
||||
|
||||
func (l *vfsFileLocker) DowngradeLock() xErrorCode <span class="cov8" title="1">{
|
||||
if assert && !(l.state > _SHARED_LOCK) </span><span class="cov0" title="0">{
|
||||
panic(assertErr + " [je31i3]")</span>
|
||||
}
|
||||
|
||||
// Downgrade to a SHARED lock.
|
||||
if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
<span class="cov8" title="1">if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
Type: syscall.F_RDLCK,
|
||||
Start: _SHARED_FIRST,
|
||||
Len: _SHARED_SIZE,
|
||||
|
||||
2
.github/coverage.svg
vendored
2
.github/coverage.svg
vendored
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="108" height="20" role="img" aria-label="coverage: 61.1%"><title>coverage: 61.1%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="108" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="47" height="20" fill="#fe7d37"/><rect width="108" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="315" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="510">coverage</text><text x="315" y="140" transform="scale(.1)" fill="#fff" textLength="510">coverage</text><text aria-hidden="true" x="835" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="370">61.1%</text><text x="835" y="140" transform="scale(.1)" fill="#fff" textLength="370">61.1%</text></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="108" height="20" role="img" aria-label="coverage: 63.6%"><title>coverage: 63.6%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="108" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="47" height="20" fill="#fe7d37"/><rect width="108" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="315" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="510">coverage</text><text x="315" y="140" transform="scale(.1)" fill="#fff" textLength="510">coverage</text><text aria-hidden="true" x="835" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="370">63.6%</text><text x="835" y="140" transform="scale(.1)" fill="#fff" textLength="370">63.6%</text></g></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -1,66 +0,0 @@
|
||||
package sqlite3
|
||||
|
||||
type vfsNoopLocker struct {
|
||||
state vfsLockState
|
||||
}
|
||||
|
||||
var _ vfsLocker = &vfsNoopLocker{}
|
||||
|
||||
func (l *vfsNoopLocker) LockState() vfsLockState {
|
||||
return l.state
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) LockShared() xErrorCode {
|
||||
if assert && !(l.state == _NO_LOCK) {
|
||||
panic(assertErr + " [wz9dcw]")
|
||||
}
|
||||
l.state = _SHARED_LOCK
|
||||
return _OK
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) LockReserved() xErrorCode {
|
||||
if assert && !(l.state == _SHARED_LOCK) {
|
||||
panic(assertErr + " [m9hcil]")
|
||||
}
|
||||
l.state = _RESERVED_LOCK
|
||||
return _OK
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) LockPending() xErrorCode {
|
||||
if assert && !(l.state == _SHARED_LOCK || l.state == _RESERVED_LOCK) {
|
||||
panic(assertErr + " [wx8nk2]")
|
||||
}
|
||||
l.state = _PENDING_LOCK
|
||||
return _OK
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) LockExclusive() xErrorCode {
|
||||
if assert && !(l.state == _PENDING_LOCK) {
|
||||
panic(assertErr + " [84nbax]")
|
||||
}
|
||||
l.state = _EXCLUSIVE_LOCK
|
||||
return _OK
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) DowngradeLock() xErrorCode {
|
||||
if assert && !(l.state > _SHARED_LOCK) {
|
||||
panic(assertErr + " [je31i3]")
|
||||
}
|
||||
l.state = _SHARED_LOCK
|
||||
return _OK
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) Unlock() xErrorCode {
|
||||
if assert && !(l.state > _NO_LOCK) {
|
||||
panic(assertErr + " [m6e9w5]")
|
||||
}
|
||||
l.state = _NO_LOCK
|
||||
return _OK
|
||||
}
|
||||
|
||||
func (l *vfsNoopLocker) CheckReservedLock() (bool, xErrorCode) {
|
||||
if l.state >= _RESERVED_LOCK {
|
||||
return true, _OK
|
||||
}
|
||||
return false, _OK
|
||||
}
|
||||
22
vfs_unix.go
22
vfs_unix.go
@@ -1,5 +1,3 @@
|
||||
//go:build unix
|
||||
|
||||
package sqlite3
|
||||
|
||||
import (
|
||||
@@ -17,6 +15,10 @@ func (l *vfsFileLocker) LockState() vfsLockState {
|
||||
}
|
||||
|
||||
func (l *vfsFileLocker) LockShared() xErrorCode {
|
||||
if assert && !(l.state == _NO_LOCK) {
|
||||
panic(assertErr + " [wz9dcw]")
|
||||
}
|
||||
|
||||
// A PENDING lock is needed before acquiring a SHARED lock.
|
||||
if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
Type: syscall.F_RDLCK,
|
||||
@@ -49,6 +51,10 @@ func (l *vfsFileLocker) LockShared() xErrorCode {
|
||||
}
|
||||
|
||||
func (l *vfsFileLocker) LockReserved() xErrorCode {
|
||||
if assert && !(l.state == _SHARED_LOCK) {
|
||||
panic(assertErr + " [m9hcil]")
|
||||
}
|
||||
|
||||
// Acquire the RESERVED lock.
|
||||
if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
Type: syscall.F_WRLCK,
|
||||
@@ -62,6 +68,10 @@ func (l *vfsFileLocker) LockReserved() xErrorCode {
|
||||
}
|
||||
|
||||
func (l *vfsFileLocker) LockPending() xErrorCode {
|
||||
if assert && !(l.state == _SHARED_LOCK || l.state == _RESERVED_LOCK) {
|
||||
panic(assertErr + " [wx8nk2]")
|
||||
}
|
||||
|
||||
// Acquire the PENDING lock.
|
||||
if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
Type: syscall.F_WRLCK,
|
||||
@@ -75,6 +85,10 @@ func (l *vfsFileLocker) LockPending() xErrorCode {
|
||||
}
|
||||
|
||||
func (l *vfsFileLocker) LockExclusive() xErrorCode {
|
||||
if assert && !(l.state == _PENDING_LOCK) {
|
||||
panic(assertErr + " [84nbax]")
|
||||
}
|
||||
|
||||
// Acquire the EXCLUSIVE lock.
|
||||
if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
Type: syscall.F_WRLCK,
|
||||
@@ -88,6 +102,10 @@ func (l *vfsFileLocker) LockExclusive() xErrorCode {
|
||||
}
|
||||
|
||||
func (l *vfsFileLocker) DowngradeLock() xErrorCode {
|
||||
if assert && !(l.state > _SHARED_LOCK) {
|
||||
panic(assertErr + " [je31i3]")
|
||||
}
|
||||
|
||||
// Downgrade to a SHARED lock.
|
||||
if !l.fcntlSetLock(&syscall.Flock_t{
|
||||
Type: syscall.F_RDLCK,
|
||||
|
||||
Reference in New Issue
Block a user