Commit Graph

1665 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
caf1e95e31 Add functions feature to travis and Changelog. 2015-12-11 16:28:46 -05:00
John Gallagher
3bcde498bd Expand comments. 2015-12-11 16:27:39 -05:00
John Gallagher
ecef092303 Add remove_function to clear a user-defined function. 2015-12-11 15:47:52 -05:00
John Gallagher
3baf7b10f8 Add unit test demonstrating a closure-based UDF. 2015-12-11 15:35:59 -05:00
John Gallagher
3913e89f94 Allow user scalar functions to return results.
This removes the need for scalar functions to have direct access to the
context (in order to set the return value).
2015-12-11 15:08:40 -05:00
John Gallagher
81ec7fe7cd Add get to function::Context.
This allows user-defined functions to now only accept a `Context`, as it
embeds the arguments inside itself.
2015-12-11 14:46:28 -05:00
John Gallagher
94d40c41c7 Introduce Context wrapper for user-defined functions.
This commit adds get/set auxilliary data for arguments; more to come.
2015-12-11 13:54:08 -05:00
John Gallagher
29494f46f6 Let create_scalar_function take an FnMut instead of a extern "C" fn. 2015-12-11 12:01:05 -05:00
John Gallagher
aae431760e rustfmt - no code changes 2015-12-11 11:41:40 -05:00
John Gallagher
0c3575e845 Fix segfault in regexp user function test 2015-12-11 11:40:53 -05:00
John Gallagher
9f5f4ac385 Merge branch 'functions' of https://github.com/gwenn/rusqlite into gwenn-functions
Conflicts:
	Cargo.toml
	src/lib.rs
2015-12-11 11:31:25 -05:00
John Gallagher
489b7df451 Add named parameters to Changelog 2015-12-10 20:51:16 -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
26a7930d73 Merge pull request #93 from jgallagher/online-backup
Initial implementation of the online backup API.
2015-12-10 16:36:15 -05:00
John Gallagher
09825dbd90 Add feature tests to Travis 2015-12-10 16:33:46 -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
e71104e6c3 Bump version to 0.5.0 2015-12-08 21:30:44 -05:00
John Gallagher
51a542c0f7 Fix broken load_extension feature 2015-12-08 21:15:23 -05:00
John Gallagher
c99ecd6681 Merge pull request #88 from jgallagher/flexible-build-script
Make libsqlite3-sys's build script slightly more intelligent.
2015-12-07 11:22:08 -05:00
John Gallagher
e0b3ad7c9b Merge remote-tracking branch 'origin/master' into flexible-build-script 2015-12-07 11:15:21 -05:00
Gwenael Treguier
fe6afe2a94 Merge branch 'master' of https://github.com/jgallagher/rusqlite into functions 2015-12-06 21:33:21 +01:00
Gwenael Treguier
7ab79d6de6 Add Failure documentation. 2015-12-06 19:57:20 +01: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
Gwenael Treguier
fa03bcd564 Fix use declaration. 2015-12-05 12:28:12 +01:00
Gwenael Treguier
18ff9cf4ca Merge branch 'master' of https://github.com/jgallagher/rusqlite into stmt-cache 2015-12-05 11:58:06 +01:00
Gwenael Treguier
2cf0455f8d Add Failure documentation 2015-12-05 11:28:33 +01:00
Gwenael Treguier
cef1d3285e Merge branch 'master' of https://github.com/jgallagher/rusqlite into blob 2015-12-05 11:11:23 +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
c2b9ae1b98 Merge pull request #91 from jgallagher/document-failures
Add more documentation for failure modes of functions that return SQLiteResults.
2015-12-01 12:11:26 -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
9a4503ad5f Merge pull request #90 from jgallagher/fix-str-error-messages
Fix error messages when failing to convert paths and strings to C-compatible versions
2015-12-01 11:49:37 -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
7fbe1172e2 Make libsqlite3-sys's build script slightly more intelligent.
* If SQLITE3_LIB_DIR is present in the environment, we use that.
* If SQLITE3_LIB_DIR is not present, we try to use pkg-config.
* If SQLITE3_LIB_DIR is not present and pkg-config fails, we fall back
  to /usr/lib (if it exists).
2015-12-01 11:36:31 -05:00
John Gallagher
49cb1efe62 Merge branch 'master' into gwenn-trace_extension 2015-12-01 11:13:23 -05:00