Skip to content

0.9.2

Compare
Choose a tag to compare
@zombiezen zombiezen released this 25 Jan 17:12
· 102 commits to main since this release

Version 0.9 adds new Execute functions to sqlitex and changes the default blocking behavior. Version 0.9 also includes various fixes to the schema migration behavior.

Added

  • Added SetBlockOnBusy method to set an indefinite timeout on acquiring a lock.
  • Official support for windows/amd64.
  • sqlitex has three new functions — Execute, ExecuteTransient, and ExecuteScript — that take in an ExecOptions struct. (#5)
  • New method sqlite.ResultCode.ToError to create error values.
  • New methods ColumnBool and GetBool on *sqlite.Stmt (#37).

Changed

  • OpenConn calls SetBlockOnBusy on new connections instead of SetBusyTimeout(10 * time.Second).
  • The sqlitex.Execute* family of functions now verify that the arguments passed match the SQL parameters. (#31)

Deprecated

  • sqlitex.ExecFS has been renamed to sqlitex.ExecuteFS, sqlitex.ExecTransientFS has been renamed to sqlitex.ExecuteTransientFS, and sqlitex.ExecScriptFS has been renamed to sqlitex.ExecuteScriptFS for consistency with the new Execute functions. Aliases remain in this version, but will be removed in the next version. Use zombiezen-sqlite-migrate to clean up existing references.
  • sqlitex.Exec and sqlitex.ExecTransient have been marked deprecated because they do not perform the argument checks that the Execute functions now perform. These functions will remain into 1.0 and beyond for compatibility, but should not be used in new applications.

Fixed

  • sqlitemigration.Schema.RepeatableMigration is now run as part of the final transaction. This ensures that the repeatable migration for migration N has executed if and only if user_version == N. Previously, the repeatable migration could fail independently of the final transaction, which would mean that a subsequent migration run would not trigger a retry of the repeatable transaction, but report success.
  • sqlitemigration will no longer skip applying the repeatable migration if the final migration is empty.
  • OpenConn now sets a busy handler before enabling WAL (thanks @anacrolix!).