140 Commits

Author SHA1 Message Date
John Gallagher
5fdb2e1fda Allow named parameters to be omitted.
If the parameters have never been bound, they default to `NULL`. If they
have previously been bound, they keep the existing value.
2015-12-11 16:36:49 -05:00
John Gallagher
599e30f372 Rename bind_named_parameters -> bind_parameters_named. 2015-12-10 20:49:47 -05:00
John Gallagher
0051ff47a6 Refactor: Extract match to get an expected row into its own method. 2015-12-10 20:48:38 -05:00
John Gallagher
b7468b2c4b Make parameter_index return a Result<Option<_>> instead of squashing
string conversion errors into None.
2015-12-10 20:41:31 -05:00
John Gallagher
186cb5893b Rename query_named_row -> query_row_named.
I think this is more consistent with Rust's tendency to group similar
methods like `iter`, `iter_mut` by appending the difference as a suffix.
2015-12-10 20:31:07 -05:00
John Gallagher
8d4b3e6a31 Remove commented-out code 2015-12-10 20:30:43 -05:00
John Gallagher
21528452d7 Clean up comments on named parameter methods 2015-12-10 20:30:05 -05:00
John Gallagher
7338f23d4b Add extra assertions around binding named parameters 2015-12-10 20:27:09 -05:00
John Gallagher
2f220161a5 Add extra check to named-parameter insertion unit test 2015-12-10 20:16:46 -05:00
John Gallagher
ab6ab3b2e9 Run rustfmt on named_params.rs 2015-12-10 17:01:19 -05:00
John Gallagher
53979407c5 Merge branch 'named-param' of https://github.com/gwenn/rusqlite into gwenn-named-param
Conflicts:
	Cargo.toml
	src/lib.rs
2015-12-10 16:53:43 -05:00
John Gallagher
a1f1480b18 Run rustfmt on all crate files 2015-12-10 16:48:09 -05:00
John Gallagher
49951ca3be Add backup and restore methods to SqliteConnection (behind backup Cargo feature) 2015-12-10 16:20:46 -05:00
John Gallagher
3781b8f47f rustfmt backup.rs 2015-12-10 16:20:46 -05:00
John Gallagher
8c2e0a0da7 Rename BackupName -> DatabaseName 2015-12-10 16:20:45 -05:00
John Gallagher
5ebbf5a1a2 Use &str instead of String inside BackupName 2015-12-09 00:48:40 -05:00
John Gallagher
e2f8e73635 Initial implementation of the online backup API. 2015-12-09 00:19:59 -05:00
John Gallagher
51a542c0f7 Fix broken load_extension feature 2015-12-08 21:15:23 -05:00
Gwenael Treguier
da69584b9f Add Example and Failure documentation 2015-12-05 13:43:03 +01:00
Gwenael Treguier
5b86871d76 Merge branch 'master' of https://github.com/jgallagher/rusqlite into named-param 2015-12-05 12:32:16 +01:00
John Gallagher
ac08a18c43 Merge pull request #86 from jgallagher/gwenn-trace_extension
Add Rust interface to SQLite's logging, tracing, and profiling hooks
2015-12-01 13:19:43 -05:00
John Gallagher
3d654aeed1 Add more documentation for failure modes of functions that return s 2015-12-01 12:05:29 -05:00
John Gallagher
1af3fcd053 Fix error messages when failing to convert paths and strings to C-compatible versions 2015-12-01 11:47:55 -05:00
John Gallagher
49cb1efe62 Merge branch 'master' into gwenn-trace_extension 2015-12-01 11:13:23 -05:00
John Gallagher
635616842c Remove 'static requirement on output of closure given to query_map and query_and_then.
The 'static bound was there to prevent callers from being able to save
off the `SqliteRow` handles passed into the closure. This PR changes the
closure to take `&SqliteRow`s instead, which provides the same feature
without restricting the output of the closure.
2015-12-01 10:58:32 -05:00
John Gallagher
e6fef5107d Change profile() to take a Rust fn instead of an extern "C" fn. 2015-12-01 10:34:18 -05:00
John Gallagher
ace5b1ebdc Change trace() to take a Rust fn instead of an extern "C" fn. 2015-11-30 21:08:39 -05:00
John Gallagher
dbfa6ca31f Change config_log to take a Rust fn instead of an extern "C" fn.
Moves the unit test for config_log out of #[ignore] and into its own
test file since it affects the entire process.
2015-11-30 21:08:39 -05:00
John Gallagher
eaf080261b Merge branch 'trace_extension' of https://github.com/gwenn/rusqlite into gwenn-trace_extension 2015-11-30 13:13:43 -05:00
Gwenael Treguier
0729e195c3 Use debug_struct for formatting. 2015-11-30 12:16:09 -05:00
Gwenael Treguier
20c1213482 Remove feature duration. 2015-11-11 15:03:07 +01:00
Gwenael Treguier
a2327fb048 Revert "Remove usage of unstable library feature 'duration'"
This reverts commit 9c415f9c9e433101564767603e0be7aa341c7343.
2015-11-11 15:00:39 +01:00
Gwenael Treguier
ddd976c158 Cleanup use statements. 2015-11-11 14:39:54 +01:00
Gwenael Treguier
db7345624f Merge remote-tracking branch 'jgallagher/master' into named-param 2015-11-11 14:39:15 +01:00
Gwenael Treguier
50bfba1e1d Ignore test_log. 2015-11-11 14:29:40 +01:00
Gwenael Treguier
8bff40b6d6 Merge remote-tracking branch 'jgallagher/master' into trace_extension 2015-11-11 14:28:21 +01:00
John Gallagher
420c4d4d9f Address RFC 1214 warning 2015-11-03 11:27:52 -05:00
John Gallagher
b1350c4c14 Merge branch 'master' into gwenn-reset_asap 2015-09-22 10:16:52 -07:00
John Gallagher
d23667870e Merge pull request #70 from jgallagher/pfernie-master
Replace get_opt with get_checked. Add query_and_then and query_row_and_then.
2015-09-21 10:38:07 -04:00
John Gallagher
7ee69fe103 Remove get_opt (superceded by get_checked). 2015-09-21 10:31:11 -04:00
John Gallagher
1918dc14d0 Add tests for query_row_and_then(). 2015-09-20 21:30:40 -04:00
John Gallagher
072a336b33 Refactor: Reduce duplication across query_and_then tests. 2015-09-20 21:28:50 -04:00
John Gallagher
0cbb2743e3 Merge branch 'master' of https://github.com/pfernie/rusqlite into pfernie-master 2015-09-20 21:07:39 -04:00
John Gallagher
59a3b0ddb5 Merge pull request #62 from gwenn/too-big
Check Rust str length before binding.
2015-09-20 20:57:28 -04:00
John Gallagher
d07c7ec8a6 Add basic unit test of statement debug including SQL 2015-09-20 20:44:51 -04:00
gwenn
05669082a3 Debug db path and stmt sql. 2015-09-20 20:41:13 -04:00
John Gallagher
43b0c1c98a Merge branch 'reset_asap' of https://github.com/gwenn/rusqlite into gwenn-reset_asap 2015-09-20 20:30:59 -04:00
John Gallagher
36f577aea6 Merge pull request #53 from gwenn/exec_check
Extra check in SqliteStatement.execute
2015-09-20 20:29:12 -04:00
Huon Wilson
b7efb37b35 Relax uses of P: AsRef<...> from &P to P.
This means that one can pass `AsRef` types directly, without having to
insert a `&`, e.g. `SqliteConnection::open("foo.db")` (new)
vs. `SqliteConnection::open(&"foo.db")` (old).

This should be backwards compatible, since there is an impl in the
standard library:

    impl<'a, T, U> AsRef<U> for &'a T where U: ?Sized, T: AsRef<U> + ?Sized

I.e. the old `&P` satisfies the new bound still. (Taking `P` directly is
what the standard library does with similar functions, like
`File::open`.)
2015-09-08 18:11:50 +10:00
Patrick Fernie
e4eda2041e Implement SqliteConnection::query_row_and_then() 2015-08-27 14:47:48 -04:00