gwenn
da94f8eba6
Make tests return Result
2020-11-05 22:14:00 +01:00
Thom Chiovoloni
65c38bf813
Add #[inline]
and #[cold]
in far more places
2020-11-04 07:59:23 -08:00
Thom Chiovoloni
22121772a2
Deprecate NO_PARAMS in favor of passing an empty array
2020-11-03 19:09:19 -08:00
Thom Chiovoloni
032aea73b8
Overhaul query API, removing the need for the _named
variants of all functions, and rusqlite::NO_PARAMS
2020-11-03 19:09:19 -08:00
gwenn
dd886578d2
Implement our own sqlite3_exec
...
Should fix issue related to unlock notify: #767
Caveat: many CString allocated.
2020-06-26 19:35:14 +02:00
gwenn
57db338537
Rustfmt
2020-06-25 09:45:49 -07:00
gwenn
f37519ad51
Replace execute_batch usages by execute
...
Because execute_batch does not support unlock_notify
2020-06-25 09:45:49 -07:00
gwenn
76fc22c653
Fix missing docs
2020-05-21 00:48:06 -07:00
Thom Chiovoloni
d408e3bcd2
Allow opting out of compile-time transaction checking
2020-04-09 12:39:40 -07:00
Thom Chiovoloni
6f6f7ffd9f
Add #[non_exhaustive]
to enums that might get new variants. ( #673 )
...
This just using them in patterns without a catchall. I left things alone
that seem very unlikely to change (`Value`, `ValueRef`, `DatabaseName`,
etc...). This might help reduce the number of breaking changes we need
(rusqlite is still pre-1.0 so it doesn't really matter that much, but
breaking changes complicate the story around when we can cut releases).
2020-04-06 12:01:39 -07:00
gwenn
e9896a7734
Lifetime elision in impl
2019-02-03 11:02:38 +01:00
Peter Abrahamsen
a160f360d0
Test that Transaction can be removed from an Rc
2019-01-29 11:01:09 -08:00
Peter Abrahamsen
65c6bff73b
Derive Debug for Transaction
2019-01-26 21:29:42 -08:00
gwenn
d874180333
Rust 2018 idioms
2018-12-07 21:57:04 +01:00
gwenn
bcaa929748
Merge remote-tracking branch 'jgallagher/master' into 2018
...
# Conflicts:
# src/lib.rs
# src/statement.rs
2018-11-05 20:04:04 +01:00
gwenn
ccf52b2daa
Replace try!
by ?
2018-11-05 19:09:41 +01:00
gwenn
2357acd79e
Remove deprecated stuff
2018-11-01 10:30:18 +01:00
gwenn
1262238229
Rustfmt
2018-10-30 20:15:19 +01:00
gwenn
f04047db01
Rust 2018
2018-10-30 20:15:08 +01:00
gwenn
e7e03c3443
Introduce NO_PARAMS constant
...
As suggested here:
https://users.rust-lang.org/t/sql-parameter-values/20469/2
2018-09-16 11:10:19 +02:00
gwenn
c4ae541eac
Take IntoIterator rather than &[&ToSql]
( #312 )
2018-09-16 09:49:23 +02:00
gwenn
d6b6058849
[ci skip] Fix Transaction doc
2018-09-05 18:08:39 +02:00
gwenn
5e9c7bac4e
Rustfmt
2018-08-16 18:29:46 +02:00
gwenn
c925d1aa97
Rustfmt
2018-08-11 12:48:21 +02:00
gwenn
5e1e805b4f
Use sqlite3_get_autocommit
instead of our own flag/status
2018-07-28 16:04:42 +02:00
Kornel
2487b18db0
Avoid keeping transactions unexpectedly open
...
If transaction can't be automatically committed, roll it back to prevent transaction staying open past the lifetime of the Transaction object
Fixes #366
2018-07-27 17:18:47 +01:00
Kornel
1e29cf4a0f
Mark self.committed only after command succeeds
...
Fixes #366
2018-07-27 17:18:39 +01:00
gwenn
994d40da26
Fix clippy warnings
2018-05-04 19:55:55 +02:00
gwenn
d962ebab55
Merge pull request #325 from rnewman/rnewman/panic
...
Add DropBehavior::Panic to enforce intentional commit or rollback.
2018-03-24 10:29:02 +01:00
Richard Newman
2a03c1ad4d
Add DropBehavior::Panic to enforce intentional commit or rollback.
2018-01-11 16:52:32 -08:00
Travis Cross
7e280d4e64
Add comment to justify &mut Connection
in Transaction
...
The `Transaction` implementation never actually mutates the
`Connection` reference we give it. In fact, the `Transaction`
structure itself only requires an immutable connection. So it can be
surprising to readers that the constructor requires a `&mut
Connection`. We do this so as to prevent at compile-time nested or
concurrent transactions on the same connection as these are not
allowed by SQLite.
In this commit, we add a comment explaining this nuance.
2017-12-31 10:30:23 +00:00
gwenn
08f96a678e
Rustfmt
2017-04-07 19:43:24 +02:00
John Gallagher
60e1f3c02f
Add more explicit types in unit tests.
2017-02-05 17:30:53 -05:00
gwenn
8f28ff17b8
Fix rustdoc warnings
2016-08-15 12:41:15 +02:00
gwenn
b10c52f32f
Fix clippy warnings
2016-08-08 15:23:55 +02:00
John Gallagher
7c0eba0475
Add since
and note
for all deprecation tags.
2016-05-29 20:36:20 -04:00
gwenn
f817ec86bc
Use new Rust 1.9 attribute: #[deprecated].
2016-05-26 21:16:09 +02:00
John Gallagher
71aa41c27a
rustfmt
2016-05-19 20:04:33 -05:00
John Gallagher
cacda916f9
Fix doctest failures on rust nightly.
...
These should've been failing on stable too as they were all wrong.
Closes #154 .
2016-05-19 14:25:39 -05:00
John Gallagher
703cf22b52
Separate Savepoint out from Transaction.
...
Replaces `set_commit` and `set_rollback` with `set_drop_behavior`.
Allows specification of savepoint names.
Savepoint::rollback() does not consume the savepoint;
Transaction::rollback() does consume the transaction.
2016-05-18 16:38:09 -05:00
John Gallagher
678b301494
Make rollback take (&mut self) instead of (self)
2016-05-18 14:25:57 -05:00
John Gallagher
599bf5acfe
Add test and fix for nested savepoint rollbacks.
...
This requires giving savepoints distinct names.
2016-05-17 20:19:44 -05:00
John Gallagher
92834951e3
Make the creation of transactions and savepoints take &mut self.
...
Transactions in SQLite are nested, but the previous API allowed rusqlite
transaction wrappers to be created as "siblings". This resulted in
unexpected (and usually wrong) behavior.
2016-05-17 19:53:53 -05:00
John Gallagher
41fe698cec
Address additional clippy warnings
2016-03-29 14:18:56 -04:00
gwenn
0fe1990d34
Fix clippy warnings
2016-02-14 16:11:59 +01:00
gwenn
f529d130b9
Rustfmt
2016-02-02 19:12:00 +01:00
John Gallagher
6bcc3edccd
BREAKING CHANGE: Remove common prefix on TransactionBehavior case names.
2015-12-12 14:22:50 -05:00
John Gallagher
3d15a8a15c
Rename SqliteTransaction*
-> Transaction*
.
2015-12-12 14:17:43 -05:00
John Gallagher
eb60bb3111
Rename SqliteResult
-> Result
.
2015-12-12 14:06:03 -05:00
John Gallagher
4327a84edb
Rename SqliteConnection -> Connection.
...
Leave old name in as a (deprecated) typealias.
2015-12-12 13:53:34 -05:00