Commit Graph

336 Commits

Author SHA1 Message Date
John Gallagher
b1b438158d Remove workaround for Rust compiler bug that was fixed in 1.9. 2016-05-29 20:38:46 -04:00
gwenn
6a4eacc927 Simply use cargo clippy 2016-05-28 11:16:55 +02: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
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
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
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
d27ed0de63 Re-export Savepoint. 2016-05-19 20:32:17 -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
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
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
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
0e6e78e81a Merge branch 'master' into savepoint-improvements 2016-05-19 13:49:02 -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
d5bbbbd763 Add query_map_named and query_and_then_named to Statement. 2016-05-18 22:01:08 -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
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
e71c3c5207 Add Connection::set_prepared_statement_cache_capacity. 2016-05-17 14:20:56 -05:00
John Gallagher
d923d8c670 Use a real LruCache instead of a VecDeque. 2016-05-17 13:35:23 -05:00
John Gallagher
20b93bdb96 rustfmt 2016-05-17 13:35:23 -05:00
John Gallagher
bd81b727f0 Simplify CachedStatement lifetimes 2016-05-17 13:35:21 -05:00
John Gallagher
3c15eb0218 Add Connection::prepare_cached. 2016-05-17 13:34:54 -05:00
John Gallagher
ed72da92ef Remove cache feature 2016-05-17 12:01:55 -05:00
John Gallagher
0ab9421e6a Detach StatementCache from Connection so we can embed it (coming later) 2016-05-17 11:59:54 -05:00
John Gallagher
1978568d01 Make StatementCache hold RawStatements instead of Statements. 2016-05-17 11:55:10 -05:00
John Gallagher
f6aba80f4b Extract RawStatement wrapper around *mut sqlite3_stmt. 2016-05-17 11:27:29 -05:00
John Gallagher
b76196ae1a Merge branch 'master' into gwenn-stmt-cache 2016-05-17 08:54:47 -05:00
John Gallagher
63e5570ca9 Merge pull request #149 from jgallagher/gwenn-reset
Reset statements ASAP.
2016-05-16 15:19:03 -05:00
John Gallagher
1262d3bb17 Call sqlite3_reset on a statement ASAP inside Rows's Iterator impl. 2016-05-16 14:39:14 -05:00
John Gallagher
8e1ce5cf9c Fuse a Rows iterator once it fetches the final row. 2016-05-16 14:11:44 -05:00
John Gallagher
4a6c7b5329 Reset in Rows's drop impl instead of waiting for the next query 2016-05-16 14:02:39 -05:00
gwenn
3a52dd65f0 Rustfmt 2016-05-16 19:52:17 +02:00
gwenn
9fefa372db Reset as soon as possible. 2016-05-16 19:51:31 +02:00
John Gallagher
ba7b1ea45e Merge pull request #147 from jgallagher/update-to-latest-bitflags
Update to latest bitflags crate.
2016-05-16 12:20:26 -05:00