Commit Graph

831 Commits

Author SHA1 Message Date
John Gallagher
e4926ac0d7 Rework ToSql to be implementable without unsafe. 2016-05-26 00:14:45 -04:00
John Gallagher
9e49452300 Merge pull request #161 from jgallagher/safe-fromsql
Redesign FromSql
2016-05-26 00:14:35 -04:00
John Gallagher
8adb96131b Remove now-unnecessary FFI re-exports. 2016-05-25 19:53:18 -04:00
John Gallagher
2f4990dafd Rename BorrowedValue -> ValueRef. 2016-05-24 21:34:18 -04:00
John Gallagher
308789495c Add FromSql breaking change note to Changelog. 2016-05-24 20:16:13 -04:00
John Gallagher
d9df23ca90 Fix doc comment example of FromSql implementation. 2016-05-24 20:12:29 -04:00
John Gallagher
0fbfad2452 Remove functions::FromValue.
With the new definition of FromSql, we can reuse it since we can convert
a sqlite3_value into a BorrowedValue.
2016-05-24 20:08:12 -04:00
John Gallagher
4662b9b932 Allow FromSql::<f64> to work on SQLite integer values. 2016-05-24 20:05:32 -04:00
John Gallagher
9d47d5109a Add doc comments for BorrowedValue and friends. 2016-05-24 19:48:26 -04:00
John Gallagher
734f18c985 Impl From for converting Value <-> BorrowedValue 2016-05-24 19:36:38 -04:00
John Gallagher
5b0cdbaa56 Redo FromSql to make implementing it not unsafe.
Pass implementers a BorrowedValue instead of relying on them to use
the FFI interface. We take the responsibility of converting the raw
statement and column index into a BorrowedValue.
2016-05-23 21:49:54 -04:00
John Gallagher
c90cd37c00 Add types::BorrowedValue. 2016-05-23 21:48:56 -04:00
John Gallagher
efc6c89370 Add RawStatement::column_type. 2016-05-23 21:46:51 -04:00
John Gallagher
1a17d3b117 Merge pull request #159 from jgallagher/refactor-types-mod
Refactor FromSql/ToSql out of types/mod.rs into their own submodules.
2016-05-22 20:31:43 -04:00
John Gallagher
dccfd7e801 Refactor: Extract ToSql into its own module. 2016-05-22 20:16:54 -04:00
John Gallagher
0e96e2269c Refactor: Extract FromSql into its own module. 2016-05-22 20:01:03 -04:00
John Gallagher
1950158c87 Bump to 0.7.2 2016-05-19 20:38:17 -05:00
John Gallagher
8ce2f5888f Document CachedStatement::discard. 2016-05-19 20:36:41 -05:00
John Gallagher
dc1b0e39ed Re-export DropBehavior and SqliteTransactionBehavior. 2016-05-19 20:35:27 -05:00
John Gallagher
84985dbd84 Bump to 0.7.1 2016-05-19 20:32:57 -05:00
John Gallagher
d27ed0de63 Re-export Savepoint. 2016-05-19 20:32:17 -05:00
John Gallagher
9379002076 Bump to version 0.7.0.
Also bumps libsqlite3-sys to 0.5.0.
2016-05-19 20:26:18 -05:00
John Gallagher
e3b7d9612f Add new features to README. 2016-05-19 20:26:18 -05:00
John Gallagher
0dfaf2816f Update feature list in doc-publishing script 2016-05-19 20:26:18 -05:00
John Gallagher
261f82ef73 Merge pull request #157 from jgallagher/rustfmt
Rustfmt
2016-05-19 20:25:29 -05:00
John Gallagher
c4417bee0e Manual fixes for rustfmt overly long lines. 2016-05-19 20:09:40 -05:00
John Gallagher
71aa41c27a rustfmt 2016-05-19 20:04:33 -05:00
John Gallagher
a4c3158b95 Merge pull request #156 from jgallagher/clippy
Address clippy warnings
2016-05-19 17:06:19 -05:00
John Gallagher
57d2ae42cf Fix clippy needless_borrow warning 2016-05-19 15:03:01 -05:00
John Gallagher
6f8f2f3910 Fix clippy match_same_arms warning 2016-05-19 15:02:06 -05:00
John Gallagher
3d30104c30 Teach clippy about allowed doc markdown identifiers 2016-05-19 15:01:22 -05:00
John Gallagher
342b00303a Merge pull request #155 from jgallagher/fix-nightly-test-failures
Fix doctest failures on rust nightly.
2016-05-19 14:57:16 -05:00
John Gallagher
c6204da9b7 Merge pull request #153 from jgallagher/remove-rows-iterator-impl
Remove Rows's implementation of Iterator
2016-05-19 14:31:07 -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
d608956bd0 Merge branch 'master' into remove-rows-iterator-impl 2016-05-19 14:06:56 -05:00
John Gallagher
d1c3724b0e Merge pull request #152 from jgallagher/savepoint-improvements
Savepoint improvements
2016-05-19 14:04:45 -05:00
John Gallagher
0e6e78e81a Merge branch 'master' into savepoint-improvements 2016-05-19 13:49:02 -05:00
John Gallagher
432880c12a Merge pull request #113 from jgallagher/gwenn-stmt-cache
Introduce StatementCache
2016-05-19 13:45:53 -05:00
John Gallagher
74b57ee47a Add test and fix for invalid cached column_count.
Issue raised in
https://github.com/jgallagher/rusqlite/pull/113#issuecomment-220122048.
2016-05-18 22:19:04 -05:00
John Gallagher
db471de1a9 Add breaking change note to Changelog about Rows no longer implementing Iterator 2016-05-18 22:03:46 -05:00
John Gallagher
d5bbbbd763 Add query_map_named and query_and_then_named to Statement. 2016-05-18 22:01:08 -05:00
John Gallagher
a19807b8e4 Update Changelog with more Transaction changes. 2016-05-18 16:40:38 -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
30733a3688 Modify Rows::next to tie its lifetime to the returned Row.
This means Rows no longer implements Iterator, but it is no longer
possible to misuse it by accessing a stale Row handle.
2016-05-18 11:41:22 -05:00
John Gallagher
437a06fca3 Merge branch 'master' into gwenn-stmt-cache 2016-05-17 20:52:52 -05:00
John Gallagher
e695ed8f03 Merge pull request #151 from jgallagher/transaction-lifetimes
Fix transaction lifetimes and nested savepoints
2016-05-17 20:51:29 -05:00
John Gallagher
7fe1848ddd Add breaking change note about Transactions to Changelog. 2016-05-17 20:22:34 -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