@@ -46,8 +46,8 @@ func WrapPersistWAL(f vfs.File) bool {
4646 return false
4747}
4848
49- // WrapSetPersistentWAL helps wrap [vfs.FilePersistWAL].
50- func WrapSetPersistentWAL (f vfs.File , keepWAL bool ) {
49+ // WrapSetPersistWAL helps wrap [vfs.FilePersistWAL].
50+ func WrapSetPersistWAL (f vfs.File , keepWAL bool ) {
5151 if f , ok := f .(vfs.FilePersistWAL ); ok {
5252 f .SetPersistWAL (keepWAL )
5353 }
@@ -99,6 +99,14 @@ func WrapOverwrite(f vfs.File) error {
9999 return sqlite3 .NOTFOUND
100100}
101101
102+ // WrapSyncSuper helps wrap [vfs.FileSync].
103+ func WrapSyncSuper (f vfs.File , super string ) error {
104+ if f , ok := f .(vfs.FileSync ); ok {
105+ return f .SyncSuper (super )
106+ }
107+ return sqlite3 .NOTFOUND
108+ }
109+
102110// WrapCommitPhaseTwo helps wrap [vfs.FileCommitPhaseTwo].
103111func WrapCommitPhaseTwo (f vfs.File ) error {
104112 if f , ok := f .(vfs.FileCommitPhaseTwo ); ok {
@@ -153,6 +161,13 @@ func WrapPragma(f vfs.File, name, value string) (string, error) {
153161 return "" , sqlite3 .NOTFOUND
154162}
155163
164+ // WrapBusyHandler helps wrap [vfs.FilePragma].
165+ func WrapBusyHandler (f vfs.File , handler func () bool ) {
166+ if f , ok := f .(vfs.FileBusyHandler ); ok {
167+ f .BusyHandler (handler )
168+ }
169+ }
170+
156171// WrapSharedMemory helps wrap [vfs.FileSharedMemory].
157172func WrapSharedMemory (f vfs.File ) vfs.SharedMemory {
158173 if f , ok := f .(vfs.FileSharedMemory ); ok {
0 commit comments