Commit Graph

773 Commits

Author SHA1 Message Date
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
98ca4ad6f4 Try to fix CI builds 2019-03-19 21:01:30 +01:00
gwenn
ceb1ce4a55 Rustfmt 2019-03-19 20:45:04 +01:00
gwenn
4703358866 Fix module visibility 2019-03-19 20:43:40 +01:00
gwenn
38e92159fb Introduce Statement::columns
Return Columns name and type. (#494)
2019-03-19 20:33:36 +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
71a2004894 Add Rows::map method 2019-03-10 12:58:20 +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
d94acdc3f4
Merge pull request #476 from gwenn/pragma
Ease PRAGMA usage (#273 and #265)
2019-02-27 18:03:35 +01:00
Thom Chiovoloni
04f900059d Avoid unnecessary copies/allocations when passing strings to sqlite 2019-02-26 19:47:17 -08:00
gwenn
32881d7a76 Unify callback parameter signature 2019-02-21 21:14:55 +01:00
gwenn
7be87e950d Merge remote-tracking branch 'jgallagher/master' into pragma 2019-02-21 21:07:18 +01: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
fcaf5b9dd8 Fix typos 2019-02-21 18:55:51 +01:00
gwenn
1775688ac2
Merge branch 'master' into pragma 2019-02-16 18:52:03 +01:00
gwenn
c1f12c7380 Revert change related to #460 2019-02-16 17:24:56 +01:00
gwenn
364e885b89 Fix warning 2019-02-14 20:53:00 +01:00
gwenn
6ce5c9ddcc Suggest users to use PRAGMA function instead 2019-02-14 20:24:16 +01:00
gwenn
333cc49523
Merge pull request #481 from gwenn/rm-unwrap
Remove unwrap from examples
2019-02-10 09:05:35 +01:00
gwenn
a8b9142d47 Fix Blob example 2019-02-09 08:54:53 +01:00
gwenn
d70286e98a Remove unwrap from examples 2019-02-09 07:16:05 +01:00
gwenn
2c1483f2e7 Merge remote-tracking branch 'jgallagher/master' into fallible-iterator 2019-02-09 06:47:57 +01:00
gwenn
1b3a917ac8 Fix nightly warning 2019-02-09 06:42:33 +01:00
gwenn
8abaf6eefe Fix rustdoc examples 2019-02-09 06:38:24 +01:00
gwenn
7c5bfb7cc3
Merge pull request #475 from gwenn/db-config
Support for sqlite3_db_config #468
2019-02-08 21:38:01 +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
9c00dd01a2 Draft to ease PRAGMA usage (#273 and #265) 2019-02-03 09:17:37 +01:00
gwenn
519ef9dc84 Fix rustdoc warnings 2019-02-02 15:18:11 +01:00
gwenn
176e4c232b Support for sqlite3_db_config #468 2019-02-02 15:17:20 +01:00
gwenn
e8e76852bd Merge remote-tracking branch 'jgallagher/master' into tail 2019-02-02 13:22:40 +01:00
gwenn
c2614b54df Move InnerConnection in its own module 2019-02-02 12:46:52 +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
20fed1956e Rename some static variables 2019-02-02 11:10:08 +01:00
gwenn
be98290bbd Replace assert! by assert_eq! 2019-02-02 11:09:00 +01:00
gwenn
4c4578851b Remove needless lifetimes 2019-02-02 11:08:04 +01:00
gwenn
62d5ffe678 Fix some enum representation 2019-02-02 11:04:46 +01:00
gwenn
0a46a34e3d Clean examples
Remove `extern crate` usages.
Rustfmt.
2019-01-30 20:14:46 +01:00
gwenn
dbc48fcde9
Merge pull request #470 from rainhead/master
Derive Debug for Transaction
2019-01-30 19:08:53 +01:00
gwenn
6e0b1e2751
Merge pull request #471 from thomcc/params-macro
Add params/named_params macro, and expose ToSql from top level
2019-01-30 18:35:41 +01:00
Thom Chiovoloni
d7c8d43fb4 Add params/named_params macro, and expose ToSql from top level 2019-01-29 15:33:57 -08:00
Thom Chiovoloni
ef757240c1 Use rusqlite::ffi instead of extern crate libsqlite3_sys 2019-01-29 14:59:41 -08:00
Peter Abrahamsen
a160f360d0 Test that Transaction can be removed from an Rc 2019-01-29 11:01:09 -08:00
Peter Abrahamsen
65c6bff73b
Derive Debug for Transaction 2019-01-26 21:29:42 -08:00
Thom Chiovoloni
9478c490fb Make the libsqlite3_sys as ffi export pub 2019-01-26 14:30:27 -08:00
gwenn
18b8c390ab
Merge pull request #467 from gwenn/changes
Expose sqlite3_changes()
2019-01-26 11:40:24 +01:00
gwenn
4be7900bab Rustfmt 2019-01-26 11:02:34 +01:00
gwenn
e4c1f541ae Expose sqlite3_changes() #460 2019-01-26 11:01:51 +01:00
gwenn
94d5fe55c8 Cargo fix 2019-01-26 10:55:14 +01:00
gwenn
36846387be
Merge pull request #463 from thomcc/safe-get-aux
Make get_aux safe by storing the TypeId with the data.
2019-01-26 10:28:51 +01:00
gwenn
274ea8aec5 Merge remote-tracking branch 'jgallagher/master' into from_handle 2019-01-26 09:59:00 +01:00
Thom Chiovoloni
b6539a0fbf Make get_aux safe by storing the TypeId 2019-01-26 00:52:50 -08:00
gwenn
2603cce5db Rustfmt 2019-01-26 08:17:45 +01:00
gwenn
9b973d01b1 Test parameters binding 2019-01-26 08:17:23 +01:00
Thom Chiovoloni
ec879337af Add support for querying sqlite_stmt_status 2019-01-24 21:43:39 -08:00
gwenn
35e319a62a Fix unused imports in context and session tests 2019-01-20 19:41:33 +01:00
gwenn
dbc4eef657
Session extension (#459)
Session extension bindings
2019-01-13 12:46:19 +01:00
gwenn
92a22b7842 sqlite3_db_filename is available in SQLite >= 3.7.10 2019-01-06 14:01:17 +01:00
gwenn
0042f2514f Introduce Connection::from_handle 2019-01-06 12:58:46 +01:00
gwenn
747a8d36ed
Err partial eq (#452)
Impl PartialEq for Error
2018-12-19 21:58:33 +01:00
gwenn
9381e5a11b
Merge pull request #449 from gwenn/catch_unwind
Callbacks must not be able to unwind into sqlite code
2018-12-16 18:10:55 +01:00
gwenn
c926a8a850
Merge pull request #448 from gwenn/i128
Fix compilation error with `functions` and `i128` features
2018-12-16 17:55:48 +01:00
gwenn
5c7104c12f Improve doc 2018-12-16 11:55:04 +01:00
gwenn
e0db3d16dd Introduce OptionalExtension
Like in Diesel.
2018-12-16 11:15:21 +01:00
gwenn
bd9b850c43 Callbacks must not be able to unwind into sqlite code 2018-12-16 09:40:14 +01:00
gwenn
9dfc56811b Fix compilation error with functions and i128 features 2018-12-16 08:19:54 +01:00
gwenn
75c0fe349a Add xShadowName only if bundled or vtab_v3 activated 2018-12-15 11:53:41 +01:00
gwenn
287e2f5dbc Fix vtab modules
`xShadowName` added
2018-12-15 10:51:02 +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
000566811f Clippy 2018-11-22 16:53:44 +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
bcaa929748 Merge remote-tracking branch 'jgallagher/master' into 2018
# Conflicts:
#	src/lib.rs
#	src/statement.rs
2018-11-05 20:04:04 +01:00
gwenn
ccf52b2daa Replace try! by ? 2018-11-05 19:09:41 +01:00
gwenn
d44203116a
Merge pull request #426 from gwenn/deprecated
Remove deprecated stuff
2018-11-01 11:05:40 +01:00
gwenn
2357acd79e Remove deprecated stuff 2018-11-01 10:30:18 +01:00
gwenn
e7d3920579 Scoped lints are experimental 2018-11-01 09:56:38 +01:00
gwenn
495f1d529a Clippy 2018-11-01 09:40:56 +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
77cb50e000 Check that only one statement is provided (#397)
Connection.execute
Connection.execute_named
Connection.quer_row
Connection.quer_row_named
2018-10-28 10:29:34 +01:00
gwenn
47d3ac7027 Try to fix test_interrupt #415
Use a scalar function to make sure the interrupt is performed
while the statement is running.
2018-10-28 09:54:30 +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
Joe
e109554819
Remove version check when bundled 2018-10-16 01:30:35 +00: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
7176be2d6d
Merge pull request #408 from thomcc/interrupt_handle
Add a method of interrupting a query executing on a separate thread, fixes #407
2018-10-08 18:37:30 +02:00
Thom Chiovoloni
b4565f565a Add a method of interrupting a query executing on a separate thread, fixes #407 2018-09-26 13:42:30 -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
70b59f9c2c Impossible to execute a pragma in 0.14.0 #400
sqlite3_stmt_readonly does not work for PRAGMA.
2018-09-12 22:16:22 +02:00
gwenn
b38fe372b6 [ci skip] fix doc 2018-09-08 11:10:08 +02:00
gwenn
d6b6058849
[ci skip] Fix Transaction doc 2018-09-05 18:08:39 +02:00