Commit Graph

2265 Commits

Author SHA1 Message Date
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
John Gallagher
e4e17cc5dd Update changelog description of statement caching. 2016-05-17 15:47:07 -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
gwenn
29373e7d0d Merge remote-tracking branch 'jgallagher/master' into vtab 2016-05-16 22:30:58 +02: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
gwenn
94b4b7595c Merge remote-tracking branch 'jgallagher/master' into vtab 2016-05-16 18:58:56 +02:00
John Gallagher
9f2c048bc7 Update appveyor to use Rust 1.8 2016-05-16 11:45:53 -05:00
gwenn
f1e0e10138 Merge remote-tracking branch 'jgallagher/master' into vtab 2016-05-16 18:38:15 +02:00
John Gallagher
234624ae5c Merge pull request #146 from jgallagher/gwenn-convenient
Add `insert` and `exists` convenience methods.
2016-05-16 11:37:45 -05:00
John Gallagher
f77ae8816d Update to latest bitflags crate.
Closes #139.
2016-05-16 11:36:48 -05:00
John Gallagher
75fcfb4d52 Add insert and exists to Changelog. 2016-05-16 11:19:38 -05:00
John Gallagher
757a1f40dc rustfmt 2016-05-16 11:18:38 -05:00
John Gallagher
493446e6d1 Implement exists using query instead of FFI. 2016-05-16 11:18:15 -05:00
John Gallagher
7b174c97f8 Add sanity check for insert that does not do an insertion 2016-05-16 11:15:07 -05:00
John Gallagher
504b16dc98 Merge branch 'master' into gwenn-convenient 2016-05-16 11:02:56 -05:00
John Gallagher
7f736cc321 Merge pull request #145 from jgallagher/gwenn-json
Add FromSql/ToSql for serde_json Value
2016-05-16 10:33:32 -05:00
John Gallagher
8124953882 rustfmt 2016-05-16 10:17:25 -05:00
John Gallagher
24024b90b6 Add serde_json feature to CI checks 2016-05-16 10:15:05 -05:00
John Gallagher
b47b644246 Merge branch 'master' into gwenn-json 2016-05-16 10:14:09 -05:00
John Gallagher
68256a54ad Merge pull request #144 from jgallagher/gwenn-chrono
From/ToSql for chrono types.
2016-05-16 10:13:42 -05:00
John Gallagher
4924c0b38b rustfmt 2016-05-16 10:02:07 -05:00
John Gallagher
6a4abff462 Restore support for full RFC3339 timestamps with a space seperator 2016-05-16 09:27:50 -05:00
John Gallagher
6d9b268776 Add tests confirming DateTime works with " " seperator instead of "T" 2016-05-16 09:13:45 -05:00
John Gallagher
34d5e2db24 Always store DateTimes in UTC 2016-05-16 09:08:31 -05:00
John Gallagher
6aa77e42ca Add serde_json note to Changelog. 2016-05-15 22:52:09 -05:00
John Gallagher
b87d4b44a6 Minor code cleanup/refactoring. No functional changes. 2016-05-15 22:51:04 -05:00
John Gallagher
5038e2a705 Remove unnecessary column_has_valid_sqlite_type impl 2016-05-15 22:46:50 -05:00
John Gallagher
b68e9e8a6f Merge branch 'gwenn-chrono' into json 2016-05-15 22:41:06 -05:00
John Gallagher
aa2b3b26bd Add chrono note to Changelog 2016-05-15 22:39:18 -05:00
John Gallagher
88fb175b40 Limit Timespec representation to strings. 2016-05-15 22:30:11 -05:00