John Gallagher
f17fc14a59
Update query_row_named so its closure also takes a &Row instead of a Row
2016-12-30 23:48:04 -05:00
John Gallagher
3815b6beef
Merge branch 'query_row' of https://github.com/pfernie/rusqlite into pfernie-query_row
2016-12-30 23:42:38 -05:00
John Gallagher
d1ad61dc41
Merge pull request #178 from gwenn/varparam-usage
...
Fix issue #177
2016-12-30 23:38:50 -05:00
John Gallagher
4f5abc705a
Remove workaround for issue fixed in Rust 1.9.
2016-12-30 23:25:21 -05:00
John Gallagher
0d685af2d5
Merge branch 'master' into safe-tosql
2016-12-30 23:18:32 -05:00
gwenn
ffe605150a
Ensure cache is flushed when closing the connection
...
Fix #186
2016-11-04 20:47:28 +01:00
Patrick Fernie
ece7c041e8
change query_row* fns to take Row by reference instead of moving
2016-10-07 12:42:27 -04: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
gwenn
a7d27098b7
Fix issue #177
2016-07-02 10:22:47 +02:00
gwenn
9f05147660
Fix issue jgallagher/rusqlite#174
2016-06-13 20:32:39 +02:00
gwenn
95050f10a8
Add test with empty blob (issue #174 ).
2016-06-13 20:22:21 +02:00
gwenn
e2cf171192
Introduce FromSqlError
as specified by John Gallagher
2016-06-02 21:03:25 +02:00
John Gallagher
58b7aea4f7
Merge branch 'release-0.7' into merge-0.7.3
2016-06-01 21:31:26 -04:00
John Gallagher
ad0b823560
Remove sanity check in insert()
that could return StatementFailedToInsertRow
.
...
This was intended to detect an `UPDATE` query passed to `insert`, but
incorrectly failed if inserts to different tables caused the same row ID
to be returned from both. `UPDATE`s are no longer detectable.
2016-06-01 20:52:22 -04:00
gwenn
91dc30b04d
Simplify InvalidType
2016-05-30 21:20:07 +02:00
gwenn
fb19e718cf
Introduce an intermediary InvalidType error.
...
InvalidType is used where the column/parameter index is not known.
2016-05-30 20:35:56 +02:00
John Gallagher
d43a1abc78
Merge branch 'master' into rust-1.9-reexported-trait-bugfix
2016-05-29 23:54:47 -04:00
John Gallagher
326d8999e8
Merge pull request #169 from jgallagher/deprecated
...
Use new Rust 1.9 attribute: #[deprecated(since = "...", note = "...")]
2016-05-29 23:42:22 -04:00
John Gallagher
b1b438158d
Remove workaround for Rust compiler bug that was fixed in 1.9.
2016-05-29 20:38:46 -04:00
John Gallagher
7c0eba0475
Add since
and note
for all deprecation tags.
2016-05-29 20:36:20 -04:00
gwenn
6a4eacc927
Simply use cargo clippy
2016-05-28 11:16:55 +02:00
gwenn
f817ec86bc
Use new Rust 1.9 attribute: #[deprecated].
2016-05-26 21:16:09 +02:00
gwenn
cabcaf3dcb
Better error reporting on invalid column type.
2016-05-26 21:03:05 +02:00
John Gallagher
bafa85a1a0
Fix clippy warnings.
2016-05-26 00:30:01 -04:00
John Gallagher
f3693a993e
rustfmt
2016-05-26 00:28:18 -04:00
John Gallagher
9a6e17b478
Add doc comments to ToSqlOutput.
2016-05-26 00:14:46 -04:00
John Gallagher
2b830fde2d
Remove pub re-export of FFI helpers from functions
.
2016-05-26 00:14:45 -04:00
John Gallagher
6467815d02
Replace functions::ToResult with ToSql.
2016-05-26 00:14:45 -04:00
John Gallagher
13bff6fab6
Add ToSql impl for bool
.
2016-05-26 00:14:45 -04:00
John Gallagher
9125826534
Move types::Value into its own module.
2016-05-26 00:14:45 -04:00
John Gallagher
e4926ac0d7
Rework ToSql to be implementable without unsafe
.
2016-05-26 00:14:45 -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
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
John Gallagher
f77ae8816d
Update to latest bitflags crate.
...
Closes #139 .
2016-05-16 11:36:48 -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
8124953882
rustfmt
2016-05-16 10:17:25 -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
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
88fb175b40
Limit Timespec representation to strings.
2016-05-15 22:30:11 -05:00
John Gallagher
07801ca370
Greatly reduce implementation of chrono types.
...
Limit ToSql/FromSql to string representations, and limit allowed string
representations to RFC3339 (if a timezone is expected) and SQLite's
`datetime()` format (if not).
2016-05-15 22:23:02 -05:00
John Gallagher
42bc173009
Only use strings for NaiveDate's ToSql/FromSql impl
2016-05-15 19:58:06 -05:00
John Gallagher
350dc59bb9
Remove unnecessary column_has_valid_sqlite_type impls
2016-05-15 15:32:59 -04:00
gwenn
b20168fe9c
Use String::from_utf8_lossy for error/trace.
...
Try to use the original message even if there are invalid
characters.
2016-05-07 12:08:57 +02:00