func (c *SQLiteConn) RegisterPreUpdateHook(callback func(SQLitePreUpdateData)) {
	if callback == nil {
		C.sqlite3_preupdate_hook(c.db, nil, nil)
	} else {
		C.sqlite3_preupdate_hook(c.db, (*[0]byte)(unsafe.Pointer(C.preUpdateHookTrampoline)), unsafe.Pointer(newHandle(c, callback)))
	}
}
RegisterPreUpdateHook sets the pre-update hook for a connection.

The callback is passed a SQLitePreUpdateData struct with the data for
the update, as well as methods for fetching copies of impacted data.

If there is an existing update hook for this connection, it will be
removed. If callback is nil the existing hook (if any) will be removed
without creating a new one.
package sqlite3
import "C"
import (
	"errors"
	"unsafe"
)