Commit Graph

130 Commits

Author SHA1 Message Date
gwenn
922228f604 Fix clippy warnings 2020-02-09 11:48:08 +01:00
gwenn
adb904650d Fix warnings related to deprecated Error::description 2020-01-26 16:57:58 +01:00
Thom Chiovoloni
585797b4d6 Add FromSql for Box<str>, Rc<str> and Arc<str> 2020-01-14 08:26:16 -08:00
gwenn
8302a50fb8 Fix clippy warnings 2019-11-03 11:19:07 +01:00
gwenn
0cf9ef8514 Fix some clippy warnings 2019-10-13 13:08:33 +02:00
Will Dowd
49f48a5c56 Parse Option<T> into Value/ValueRef where applicable 2019-09-27 16:02:37 -04:00
gwenn
08e32444c9 Cleanup use statements 2019-08-17 08:18:37 +02:00
gwenn
701389605d Do not assume sqlite3_column_text is valid UTF-8
Fix impact on features
2019-07-24 20:46:53 +02:00
gwenn
f0ae7b6e9b Do not assume sqlite3_column_text is valid UTF-8.
Fix Statement::value_ref
2019-07-24 20:08:31 +02:00
Thom Chiovoloni
4356f5a176 Include the name of the column in InvalidColumnType errors 2019-06-25 12:20:11 -07:00
gwenn
860cf69660 [ci skip] Fix rustdoc
"impl ToSql for NaiveDateTime" documentation is slightly inconsistent
with behavior #519
2019-05-11 13:05:15 +02:00
Simon Bernier St-Pierre
c42175a424 add support for Uuid 2019-04-08 14:19:42 -04:00
Thom Chiovoloni
d8074b1ece impl ToSql for Box<dyn ToSql>. Fixes #500 2019-03-27 19:36:11 -07:00
gwenn
80205da623 Rustfmt + clippy 2019-03-21 19:13:55 +01:00
gwenn
ceb1ce4a55 Rustfmt 2019-03-19 20:45:04 +01:00
gwenn
ac0baecfe2
Merge pull request #478 from gwenn/fallible-iterator
Make `Rows` implement `FallibleStreamingIterator`
2019-03-10 13:13:34 +01:00
gwenn
59a44cfae5 Merge remote-tracking branch 'jgallagher/master' into fallible-iterator 2019-03-10 11:12:14 +01:00
Thom Chiovoloni
5ba6909921 Add optional support for rust-url 2019-03-09 19:16:37 -08:00
gwenn
6d9ae896b5 Do not panic by default
Replace `Row::get` by `Row::get_checked`,
And rename original `Row::get` to `Row::get_unwrap`.
`Stmt::query_map`, `Stmt::query_map_named`, `Stmt::query_row`,
`Conn::query_row` and `Conn::query_row_named` callback parameter must return a `Result`.
2019-02-21 20:48:09 +01:00
gwenn
d93dec52c0 Make Rows implement FallibleStreamingIterator 2019-02-03 14:01:42 +01:00
gwenn
e9896a7734 Lifetime elision in impl 2019-02-03 11:02:38 +01:00
gwenn
8862b17340 Fix clippy warnings 2019-02-02 11:37:26 +01:00
gwenn
f695f185c2 Fix/suppress warning 'deprecated' 2019-02-02 11:10:58 +01:00
gwenn
0a46a34e3d Clean examples
Remove `extern crate` usages.
Rustfmt.
2019-01-30 20:14:46 +01:00
gwenn
dbc4eef657
Session extension (#459)
Session extension bindings
2019-01-13 12:46:19 +01:00
gwenn
d874180333 Rust 2018 idioms 2018-12-07 21:57:04 +01:00
gwenn
dc49b28520 Fix some clippy warnings 2018-12-06 19:00:55 +01:00
gwenn
626118ce07 Merge remote-tracking branch 'jgallagher/master' into 2018 2018-12-06 18:50:21 +01:00
gwenn
2b8eee2b83 Fix Timespec FromSql implementations (#431)
Make sure SQLite built-in CURRENT_TIMESTAMP output is
supported.
2018-11-22 16:50:10 +01:00
gwenn
3a178d6d17 Check chrono FromSql implementations
Make sure SQLite built-in CURRENT_DATE/TIME/TIMESTAMP output is
supported.
2018-11-22 16:43:19 +01:00
gwenn
ccf52b2daa Replace try! by ? 2018-11-05 19:09:41 +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
1598d4bc30 Rustfmt 2018-10-28 08:51:02 +01:00
gwenn
0d08bf5e05
Merge pull request #411 from thomcc/i128_blob
Add a feature for storing i128 as blobs.
2018-10-19 21:49:09 +02:00
Thom Chiovoloni
3d82f7199a Allow getting a ValueRef out of Row and Context, fixes #259 2018-10-18 12:14:38 -07:00
Thom Chiovoloni
572471c40f Add a feature for storing i128 as blobs.
This is behind the `i128_blob` feature.

Blobs are stored as 16 byte big-endian values, with their most significant bit
flipped. This is so that sorting, comparison, etc all work properly, even with
negative numbers. This also allows the representation to be stable across
different computers.

It's possible that the `FromSql` implementation should handle the case that the
real value is stored in an integer. I didn't do this, but would be willing to
make the change. I don't think we should store them this way though, since I
don't think users would be able to sort/compare them sanely.

Support for `u128` is not implemented, as comparison with i128 values would work
strangely. This also is consistent with `u64` not being allowed, not that I
think that would be reason enough on it's own.

The `byteorder` crate is used if this feature is flipped, as it's quite small
and implements things more or less optimally. If/when `i128::{to,from}_be_bytes`
gets stabilized (https://github.com/rust-lang/rust/issues/52963), we should
probably use that instead.
2018-10-08 12:22:28 -07: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
5e9c7bac4e Rustfmt 2018-08-16 18:29:46 +02:00
gwenn
0ccf98d214 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-08-11 13:37:56 +02:00
gwenn
c925d1aa97 Rustfmt 2018-08-11 12:48:21 +02:00
gwenn
fc37b324b8 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-07-28 16:56:21 +02:00
gwenn
5351d88bc0 Cow<str> now implements ToSql. 2018-07-28 08:01:24 +02:00
gwenn
d72c4582d9 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-06-10 19:16:20 +02:00
gwenn
fa64a4d0bf Draft for carray module in Rust
Incomplete support for sqlite3_bind_pointer.
Make Context::set_result return a Result.
Add Values::get_array.
2018-06-10 18:29:38 +02:00
gwenn
0d0a7bf81f Replace row changes/count type (i32) with usize
Breaking change
2018-05-23 21:23:28 +02:00
gwenn
5c44ed79d3 Fix tests 2018-05-23 20:18:18 +02:00
gwenn
89f38b4098
Merge pull request #352 from jgallagher/fix-coherence-issue
merge coherence issue fix
2018-05-12 10:30:57 +02:00
gwenn
994d40da26 Fix clippy warnings 2018-05-04 19:55:55 +02:00