Skip to content
go-libfossil Artifact [41fc170a2d]
Login

Artifact [41fc170a2d]

Artifact 41fc170a2d1f0283355d83640217db708ca8f7e4d8ba18a8b91db95ed79ff9b8:


//go:build wasip1 || js

package db

// wasmPragmaOverrides returns browser/WASI-specific pragma overrides.
// OPFS doesn't support shared memory, so WAL is replaced with DELETE journal
// and EXCLUSIVE locking mode (single connection per Worker).
func wasmPragmaOverrides() map[string]string {
	return map[string]string{
		"journal_mode": "DELETE",
		"locking_mode": "EXCLUSIVE",
	}
}

// wasmDSNSuffix appends nolock=1 to disable file locking on WASM.
// WASI runtimes don't support POSIX/OFD/BSD file locks.
func wasmDSNSuffix() string {
	return "nolock=1"
}

// wasmClearPragmas signals that WASM builds should not skip pragmas —
// browser builds need DELETE journal + EXCLUSIVE locking.
const wasmClearPragmas = false