set sqlite3_module.iVersion to 2 so savepoint callbacks fire
registerSingleModule set FiVersion = 1, but also populated FxSavepoint, FxRelease, and FxRollbackTo. SQLite gates dispatch of those callbacks on iVersion >= 2, so they were silently ignored. Begin/Sync/Commit/Rollback (version 1 methods) worked fine, which made the gap easy to miss.
iVersion was 1 from the initial commit. Version 2 does not change any version-1 callback behavior. The only behavioral change is that SQLite now dispatches the three savepoint callbacks, and it still checks each function pointer is non-zero before calling. The trampolines already handle modules that don't implement the methods (type-assert, return SQLITE_OK). So the bump to version 2 is safe.
Version 3 adds xShadowName. Version 4 adds xIntegrity. Neither callback is set, so those remain inert; there's no need to upgrade past 2.
Extend the existing updater vtab test to implement Transactional and verify that savepoint/release/rollbackto are dispatched.