Skip to content

Tags: zombiezen/go-sqlite

Tags

v1.4.0

Toggle v1.4.0's commit message
Version 1.4 adds the `sqlitex.ResultBytes` function

and fixes several bugs.

 ### Added

- New function `sqlitex.ResultBytes`.
  ([#86](#86))

 ### Changed

- `Conn.Close` returns an error if the connection has already been closed
  ([#101](#101)).
- The minimum `modernc.org/sqlite` version updated to 1.33.1.

 ### Fixed

- `sqlite3_initialize` is now called from any top-level function
  to prevent race conditions during initialization.
  ([#18](#18)).

v1.3.0

Toggle v1.3.0's commit message
Version 1.3 is largely a bug-fix release,

but is a minor version change because of the new `sqlitemigration.Pool.Take` method.

 ### Added

- `sqlitemigration.Pool` now has a new method `Take`
  so that it implements a common interface with `sqlitex.Pool`
  ([#97](#97)).
- Documented `OpenWAL` behavior on `sqlite.OpenConn`.

 ### Fixed

- Address low-frequency errors with concurrent use of `sqlitemigration`
  ([#99](#99)).
- The error returned from `sqlitex.NewPool`
  when trying to open an in-memory database
  now gives correct advice
  ([#92](#92)).

v1.2.0

Toggle v1.2.0's commit message
Version 1.2.0 adds a `sqlitex.Pool.Take` method

and improves error messages.

 ### Added

- `sqlitex.Pool` has a new method `Take`
  which returns an `error` along with a `Conn`
  ([#83](#83)).
- `sqlite.ErrorOffset` is a new function
  that returns the SQL byte offset that an error references.

 ### Changed

- `sqlite.Conn.Prep`, `sqlite.Conn.Prepare`, and `sqlite.Conn.PrepareTransient`
  now include position information in error messages if available.
- Many error messages around statement execution changed their format
  for better readability.
  Error messages are not stable API and should not be depended on.

 ### Deprecated

- The `sqlitex.Pool.Get` method has been deprecated
  in favor of the new `Take` method.

 ### Fixed

- Error messages no longer duplicate information from their error code
  (reported in [#84](#84)).

v1.1.2

Toggle v1.1.2's commit message
Version 1.1.2 updates the `modernc.org/sqlite` version to 1.29.1

and makes further tweaks to busy-polling.

 ### Changed

- Set the maximum time between busy polls to 100 milliseconds
  (follow-on from [#75](#75)).
- The minimum `modernc.org/sqlite` version updated to 1.29.1
  ([#77](#77)).

v1.1.1

Toggle v1.1.1's commit message
Version 1.1.1 improves performance on write-contended workloads.

 ### Fixed

- Make busy-blocking more responsive
  ([#75](#75)).

v1.1.0

Toggle v1.1.0's commit message
Version 1.1 introduces the ability to prepare connections on `sqlitex…

….Pool`,

improves performance, and improves documentation.

 ### Added

- Added a `sqlitex.NewPool` function
  with support for a `ConnPrepareFunc`
  ([#65](#65)).
- Added a documentation example for `SetCollation`
  ([#64](#64)).

 ### Deprecated

- Deprecated `sqlitex.Open` in favor of `sqlitex.NewPool`.

 ### Fixed

- Speed up internal string conversions
  ([#66](#66)).
  Thank you [@ffmiruz](https://github.com/ffmiruz) for the profiling work!

v1.0.0

Toggle v1.0.0's commit message
Version 1.0 is the first officially stable release of `zombiezen.com/…

…go/sqlite`.

It includes improved documentation and is cleaned up for current versions of Go.
There are no breaking changes to the API:
this release is more a recognition that the API has been stable
and a promise that it will continue to be stable.

 ### Added

- Added `*Stmt.ColumnIsNull` and `*Stmt.IsNull` methods
  ([#55](#55)).
- Added more documentation to `sqlitefile` and `sqlitex`.

 ### Changed

- Replaced `interface{}` with `any`. This should be a compatible change.
- The minimum supported Go version for this library is now Go 1.20.
- The minimum `modernc.org/sqlite` version updated to 1.27.0.

 ### Removed

- Removed the `io.*` interface fields on `sqlitefile.Buffer` and `sqlitefile.File`.
  These were unused.
- Removed the `zombiezen.com/go/sqlite/fs` package.
  It existed to help transition around Go 1.16,
  but is no longer useful.

v0.13.1

Toggle v0.13.1's commit message
Version 0.13.1 fixed a bug with the `sqlitemigration` package.

 ### Fixed

- `sqlitemigration` will no longer disable foreign keys during operation
  ([#54](#54)).

v0.13.0

Toggle v0.13.0's commit message
Version 0.13 added support for user-defined [collating sequences](htt…

…ps://www.sqlite.org/datatype3.html#collation) and user-defined [virtual tables](https://sqlite.org/vtab.html).

### Added

- Support user-defined collating sequences ([\#\undefined\undefined21](#21)).
- Support user-defined virtual tables ([\#\undefined\undefined15](#15)).
- New package `ext/generateseries` provides an optional `generate_series` table-valued function extension.
- Exported the `regexp` function example as a new `ext/refunc` package.
- Add `*Conn.Serialize` and `*Conn.Deserialize` methods ([\#\undefined\undefined52](#52)).

### Changed

- The minimum supported Go version for this library is now Go 1.19.

### Fixed

- The documentation for `AggregateFunction.WindowValue` incorrectly stated that it would not be called in non-window contexts. The sentence has been removed, but the behavior has not changed.

v0.12.0

Toggle v0.12.0's commit message
Version 0.12 added support for the [online backup API](https://www.sq…

…lite.org/backup.html).

### Added

- Added support for the online backup API
  ([#47](#47)).
- Documented the `OpenFlags`.

### Changed

- `OpenNoMutex` and `OpenFullMutex` no longer have an effect on `sqlite.OpenConn`.
  `OpenNoMutex` (i.e. [multi-thread mode](https://www.sqlite.org/threadsafe.html))
  is now the only supported mode.
  `*sqlite.Conn` has never been safe to use concurrently from multiple goroutines,
  so this is mostly to prevent unnecessary locking and to avoid confusion.
  ([#32](#32)).