Commit Graph

81 Commits

Author SHA1 Message Date
gwenn
dd05c992c2
Merge pull request #1267 from gwenn/clippy
[breaking change] Update edition from 2018 to 2021
2023-06-17 07:44:02 +02:00
gwenn
c24eca2eea Rustfmt 2023-06-12 19:25:55 +02:00
gwenn
3e9e7fdc18 Fix Savepoint::drop 2023-06-12 19:23:06 +02:00
gwenn
5707efd232 Savepoint Drop bug
See https://github.com/rusqlite/rusqlite/pull/1327#issuecomment-1586618034
2023-06-12 19:16:10 +02:00
Taylor C. Richberger
8545c5d011 add test for savepoint Commit or Rollback release
After a top-level savepoint exits on non-Ignore, the savepoint should
not be left on the stack.
2023-06-07 13:59:08 -06:00
Taylor C. Richberger
88653ca62a remove depth from Savepoint
Savepoints with the same name nest properly without issue.  This doesn't
work with rusqlite unless savepoints are always released on drop.
2023-05-18 08:44:50 -06:00
gwenn
3aa9addaa3 [breaking change] Update edition from 2018 to 2021
And fix clippy warnings
2022-12-09 20:19:04 +01:00
gwenn
2e07650a02 Use ?NNN format instead of ?
https://sqlite.org/lang_expr.html#parameters
> But because it is easy to miscount the question marks, the use of this parameter format is discouraged. Programmers are encouraged to use one of the symbolic formats below or the ?NNN format above instead.
2022-11-27 09:38:06 +01:00
gwenn
784ef95bb6 Intoduce one_column for tests 2022-11-11 16:20:39 +01:00
gwenn
6d509afe49 Clippy 2022-10-28 19:02:49 +02:00
gwenn
618e9a1274 Clean code
Typos, deprecated code usages, ...
2022-05-29 13:33:51 +02:00
Lucas Burns
e669609734
chore: derive Debug for Savepoint 2022-05-05 13:00:49 -05:00
gwenn
5e2c103a0c
Add some missing wrappers (#1139)
* Add some missing wrappers:

sqlite3_value_subtype
sqlite3_result_subtype
sqlite3_changes64
sqlite3_db_readonly
sqlite3_txn_state
sqlite3_stmt_isexplain
sqlite3_vtab_config
sqlite3_index_info.idxFlags
sqlite3_index_info.colUsed
sqlite3_index_info.idxStr
sqlite3_vtab_collation

* Mark series VTab as innocuous and csv as direct only
2022-03-17 19:58:02 +01:00
gwenn
68f41d6e9e clippy::semicolon_if_nothing_returned 2022-01-06 04:56:42 -08:00
gwenn
406ac6a7fc clippy::must_use_candidate 2022-01-06 04:56:24 -08:00
Nicholas Bishop
94cd2cbf6b Fix markdown rendering of Connection::transaction doc
This fixes `DropBehavior::Commit` being rendered as `DropBehavior: :Commit`.
2021-12-30 15:45:23 -05:00
gwenn
c4b398f468
Doctest column name reference (#918)
* Doctest column name reference
* Document rusqlite assumption on column name reference
And move doctest as a test.
* Document when columns metadata should be extracted.
* Rustfmt doc (wrap_comments)
2021-04-03 11:03:50 +02:00
gwenn
6fae5d6641 Add/fix rustdoc links 2020-11-22 09:34:03 +01:00
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