- Added error message when defining an
id
column. - Added support for sqlite
LIKE
andGLOB
operators. - Added support for
DELETE
usingTransactionWeak
and#[no_reference]
. - Added
TransactionWeak::unchecked_transaction
behind feature flag. - Added
impl ToSql for TableRow
behindunchecked_transaction
feature flag. - Removed
impl RefCast for Transaction
, it was not intended to be public. - Removed
impl FromSql for TableRow
, it was not intended to be public.
- Added support for updating rows.
- Added
Table::dummy
method, which makes it easier to do partial updates. - Reused table types in the generated API for both naming
TableRow<User>
and dummiesUser {name: "steve"}
. - Forbid
Option
in unique constraints. - Renamed
ThreadToken
toLocalClient
. - Renamed and moved
read
andwrite_lock
totransaction
andtransaction_mut
. - Check
schema_version
at the start of every transaction. - Simplify migration and borrow
LocalClient
only once. - Renamed
Prepare
toConfig
and simplified its API.
- Bound the lifetime of
TableRow: IntoColumn
to the lifetime of the transaction. Without the bound it was possible to sneakTableRow
s into following transacions.query_one
now checks that its input lives for as long as the transaction. To make sure thatquery_one
still checks that the dummy is "global", the transaction now has an invariant lifetime.
- Relax
Transaction
creation to not borrow theDatabase
. - Add missing lifetime bound on
try_insert
s return value. Technically this is a breaking change, but it fixes a bug so it is still a patch release. - Fix the version of the macro crate exactly (=0.2.0) to allow future internal API changes with only a patch release.
- Rewrote almost the whole library to specify the schema using enum syntax with a proc macro.
- Added a single Column type to handle a lot of query building.
- Dummy trait to retrieve multiple values at once and allow post processing.
- Added support for transactions and multiple schemas.
- This version was SQL schema first. It would generate the API based on the schema read from the database.