Commit Graph

341 Commits

Author SHA1 Message Date
John Gallagher
e619f83819 Merge pull request #123 from jgallagher/gwenn-aggregate
Ensure there is no allocation in final aggregation step
2016-02-01 10:52:27 -05:00
John Gallagher
f4c3ba0fa2 rustfmt 2016-02-01 10:48:30 -05:00
gwenn
ea14115d6c Ensure there is no allocation in final aggregation step. 2016-01-28 18:12:23 +01:00
John Gallagher
0d317d2e23 Merge pull request #115 from jgallagher/gwenn-aggregate
Add support for user-defined aggregate functions.
2016-01-07 15:49:37 -05:00
John Gallagher
abc5d9e219 Test all features on Travis 2016-01-07 15:15:43 -05:00
John Gallagher
ca761d7697 Avoid creating an aggregation context unnecessarily if the function is
called against 0 rows.
2016-01-07 15:14:24 -05:00
John Gallagher
267018b80d Update Changelog with aggregate functions note 2016-01-07 12:40:23 -05:00
John Gallagher
199dfc455b Internal refactor - extract common error handling code 2016-01-07 12:39:16 -05:00
John Gallagher
b189f6ba66 Change how Aggregate works when called on no rows.
Before this commit, if the aggregate function was called on 0 rows, it
would always return NULL (and never call Aggregate::init() or
finalize()). Now, init() and finalize() are always called to get the
result of the function, even if step() is never called.
2016-01-07 12:35:27 -05:00
John Gallagher
e4819b6adc Give Aggregate::finalize ownership of the context it created 2016-01-07 11:42:39 -05:00
John Gallagher
ab262a55de Merge branch 'aggregate' of https://github.com/gwenn/rusqlite into gwenn-aggregate 2016-01-07 11:40:40 -05:00
John Gallagher
782f59d669 Merge pull request #114 from jgallagher/typo-fix
Fix typo "rowss" in docs.
2016-01-07 11:40:01 -05:00
John Gallagher
726bd59932 Fix typo "rowss" in docs. 2016-01-07 11:36:01 -05:00
John Gallagher
38e9d57a98 Merge pull request #112 from jgallagher/gwenn-dynamic
Make possible to execute dynamic queries.
2016-01-07 11:19:08 -05:00
John Gallagher
a9d8473ff5 Update Changelog with latest PRs 2016-01-07 11:14:05 -05:00
John Gallagher
f290c15d0d Merge branch 'dynamic' of https://github.com/gwenn/rusqlite into gwenn-dynamic 2016-01-07 11:12:05 -05:00
John Gallagher
246eb72d2a Merge pull request #110 from gwenn/row-index
Introduce RowIndex trait (like in rust-postgres)
2016-01-07 11:06:41 -05:00
gwenn
12f26e78b3 Introduce RowIndex trait (like in rust-postgres) 2016-01-02 12:13:37 +01:00
gwenn
9db82e74db Make possible to execute dynamic queries.
Queries with dynamic column count/type.
2016-01-02 10:28:00 +01:00
gwenn
987b06cf79 Add some documentation 2015-12-20 19:27:28 +01:00
gwenn
83b9fd0aba Test a user-defined aggregate function: my_sum. 2015-12-20 12:23:51 +01:00
gwenn
468ded3e08 Merge branch 'master' of https://github.com/jgallagher/rusqlite into aggregate 2015-12-18 20:39:08 +01:00
John Gallagher
38cf8d597b Bump to rusqlite 0.6.0 and libsqlite3-sys 0.4.0. 2015-12-17 00:17:44 -05:00
John Gallagher
94492ebef3 Merge pull request #105 from jgallagher/check-sqlite-threading-mode
Add test and check for SQLite being in single-threaded mode
2015-12-17 00:02:10 -05:00
John Gallagher
b241f98920 Add test and check for SQLite being in single-threaded mode 2015-12-16 23:56:21 -05:00
John Gallagher
bf2a63cc8d Merge pull request #104 from jgallagher/better-error-reporting
More robust error reporting.
2015-12-16 23:54:06 -05:00
John Gallagher
2e082d7f94 Document new Error enum. 2015-12-16 23:51:24 -05:00
John Gallagher
7920dbc5ff Only check for SQLITE_CONSTRAINT_NOTNULL on new enough versions of SQLite. 2015-12-16 20:30:27 -05:00
John Gallagher
2129cdb0f2 Add Send and Sync bounds to boxed errors to be comaptible with io::Error. 2015-12-16 20:30:27 -05:00
John Gallagher
047861b928 Move Error into its own module (internal organization only - public API remains). 2015-12-16 20:30:27 -05:00
John Gallagher
aac4d59fcc Change Error from a struct to an enum (BREAKING CHANGE).
This allows us to separate out the underlying SQLite error codes from
errors that occur on the Rust side.
2015-12-16 20:30:27 -05:00
John Gallagher
b385ae002b Add ErrorCode enum and Error struct to libsqlite3-sys. 2015-12-16 20:30:27 -05:00
John Gallagher
1f26093fc6 Move error codes into module (internal change only - public API stays the same). 2015-12-16 20:30:27 -05:00
John Gallagher
bf859a8008 Attempt to enable extended result codes for all connections 2015-12-16 20:30:27 -05:00
John Gallagher
17e54eb6f6 Add extended result codes to libsqlite3-sys 2015-12-16 20:30:27 -05:00
John Gallagher
69de98db90 Merge pull request #103 from jgallagher/keep-docs-on-released-versions
Keep docs on released versions
2015-12-16 16:00:01 -05:00
John Gallagher
a1a1a4d2f0 Add to CONTRIBUTORS 2015-12-16 15:56:05 -05:00
John Gallagher
c7c1c88c1c Add shell script to publish docs 2015-12-16 15:55:29 -05:00
John Gallagher
0e61905a8b Remove doc publishing from .travis.yml 2015-12-16 15:54:31 -05:00
Gwenael Treguier
13c93e0f8b Rustfmt 2015-12-15 20:57:32 +01:00
Gwenael Treguier
0b42e3c78c Merge branch 'master' of https://github.com/jgallagher/rusqlite into aggregate 2015-12-15 20:55:46 +01:00
Gwenael Treguier
458951e2d5 First draft to support user defined aggregate functions. 2015-12-15 20:54:23 +01:00
John Gallagher
3716ed6dcd Merge pull request #101 from jgallagher/gwenn-blob
Add feature for BLOB I/O.
2015-12-15 14:30:26 -05:00
John Gallagher
c63238108c Add comment to write recommending write_all. 2015-12-15 14:24:05 -05:00
John Gallagher
3482e1c453 Add unit test confirming write_all to a Blob fails if given too much data. 2015-12-15 13:39:47 -05:00
John Gallagher
f8540062f8 Add blob feature to README and Changelog 2015-12-14 16:24:11 -05:00
John Gallagher
d24968db15 Expand comments. 2015-12-14 16:21:38 -05:00
John Gallagher
900c241c4e Fix logic in seek to disallow seeking past the end 2015-12-14 16:11:07 -05:00
John Gallagher
af9b45851a Truncate instead of erroring if asked to read/write too much data from a Blob. 2015-12-14 16:06:53 -05:00
John Gallagher
c15a8dba79 More extensive unit tests for Blob. 2015-12-14 15:03:29 -05:00