Commit Graph

317 Commits

Author SHA1 Message Date
gwenn
b20168fe9c Use String::from_utf8_lossy for error/trace.
Try to use the original message even if there are invalid
characters.
2016-05-07 12:08:57 +02:00
gwenn
79376a4ca9 Partially fix the bug reported by @iwinux.
If microseconds are specified but no timezone indicator, parsing
fails...
2016-05-04 21:57:16 +02:00
gwenn
1cf68d2184 Julian/Unix times are ambiguous when converted to DateTime. 2016-04-15 21:02:08 +02:00
gwenn
57b492ffb2 Merge branch 'chrono' of https://github.com/gwenn/rusqlite into json 2016-04-02 16:50:00 +02:00
gwenn
87844c688e Fix clippy warning 2016-04-02 16:48:33 +02:00
gwenn
94f181f359 Merge branch 'chrono' of https://github.com/gwenn/rusqlite into json 2016-04-02 14:02:28 +02:00
gwenn
3769d085ae Fix clippy warnings. 2016-04-02 13:57:55 +02:00
gwenn
73bd4a29f2 Merge remote-tracking branch 'jgallagher/master' into chrono 2016-03-30 18:02:48 +02:00
gwenn
3a7c87b896 Merge remote-tracking branch 'jgallagher/master' into json 2016-03-30 17:58:36 +02:00
John Gallagher
09dfa6afab Move clippy allowance behind a cfg_attr 2016-03-29 16:36:00 -04:00
John Gallagher
c0b8be99e8 Fix crash due to 0-sized function type change in nightly 2016-03-29 16:14:12 -04:00
John Gallagher
41fe698cec Address additional clippy warnings 2016-03-29 14:18:56 -04:00
John Gallagher
2bd54578f5 Update clippy version and address new warnings 2016-03-29 11:54:02 -04:00
gwenn
3c1ce6428a Implement FromSql/ToSql for serde_json Value 2016-02-25 19:06:37 +01:00
gwenn
ecac52dc4c Make FromSql impl for TimeSpec support double/int. 2016-02-25 18:44:53 +01:00
gwenn
08d4d9aadf Comment out TZ sensitive tests. 2016-02-23 18:34:08 +01:00
gwenn
33bc6edb4a Test From/ToSQL for chrono types. 2016-02-23 18:18:56 +01:00
gwenn
bdb9823b07 Add From/ToSql impl. for chrono types. 2016-02-22 20:36:49 +01:00
gwenn
aea2f876d5 Try to fix regression with Rust stable. 2016-02-14 16:24:35 +01:00
gwenn
0fe1990d34 Fix clippy warnings 2016-02-14 16:11:59 +01:00
gwenn
24d5093ab8 Merge remote-tracking branch 'jgallagher/master' into rustfmt 2016-02-02 19:15:35 +01:00
gwenn
f529d130b9 Rustfmt 2016-02-02 19:12:00 +01:00
gwenn
82f1467a9f Add declaration for convenient module 2016-02-02 18:57:25 +01:00
John Gallagher
9a4095365f Merge branch 'master' into gwenn-stmt-cache 2016-02-02 10:39:22 -05:00
John Gallagher
350fd11fed Add a handle() method to unsafely get the underlying SQLite connection.
Doc comments suggest opening issues on rusqlite for any uses of
`handle()`, as uses indicate areas where rusqlite insufficiently wraps
SQLite.
2016-02-01 15:21:03 -05:00
gwenn
03bc69f815 Introduce exists and insert convenient methods 2016-02-01 20:42:50 +01:00
John Gallagher
a793f8c8c5 Remove scary lifetime-of-rows-may-panic from README.
Closes #119.
2016-02-01 14:30:51 -05:00
John Gallagher
55dde134e1 Merge pull request #122 from gwenn/zeroblob
Introduce ZeroBlob struct.
2016-02-01 14:14:14 -05:00
gwenn
43613a0020 Moves ZeroBlob from types to blob module. 2016-02-01 18:13:07 +01:00
John Gallagher
f4c3ba0fa2 rustfmt 2016-02-01 10:48:30 -05:00
gwenn
f488277373 Introduce ZeoBlob struct. 2016-01-31 18:17:28 +01:00
gwenn
ea14115d6c Ensure there is no allocation in final aggregation step. 2016-01-28 18:12:23 +01:00
John Gallagher
0afdc111d1 Merge branch 'master' into gwenn-stmt-cache 2016-01-07 15:53:23 -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
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
726bd59932 Fix typo "rowss" in docs. 2016-01-07 11:36:01 -05:00
John Gallagher
0a371b7145 Rename StatementCache::release -> cache_stmt 2016-01-07 11:30:51 -05:00
John Gallagher
7b29277d6f Use discard() instead of cacheable = false to avoid prevent cached
statements from returning to the cache.
2016-01-07 11:24:20 -05:00
John Gallagher
ed0923bba9 Update for RowIndex change 2016-01-07 11:20:42 -05:00
John Gallagher
a9a953e6b7 Merge branch 'stmt-cache' of https://github.com/gwenn/rusqlite into gwenn-stmt-cache 2016-01-07 11:19:59 -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
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
68b4943a39 Add some doc 2015-12-19 17:14:06 +01:00
gwenn
5876be3d48 Add test with cacheable set to false 2015-12-19 17:01:06 +01:00
gwenn
cb1951c21a Fix borrowing 2015-12-19 16:56:41 +01:00
gwenn
7bdf80ccdb Introduce two distinct lifetime parameters. 2015-12-19 16:49:11 +01:00
gwenn
468ded3e08 Merge branch 'master' of https://github.com/jgallagher/rusqlite into aggregate 2015-12-18 20:39:08 +01:00
Gwenael Treguier
86ffc24bb9 Merge branch 'master' of https://github.com/jgallagher/rusqlite into stmt-cache 2015-12-18 20:25:52 +01:00
Gwenael Treguier
30c8910d19 Still some lifetime problem... 2015-12-18 20:18:46 +01:00
Gwenael Treguier
85fb89b280 Fail to create a new CachedStatement. 2015-12-17 20:33:34 +01:00
Gwenael Treguier
109c26fea4 Replace LruCache by VecDeque. 2015-12-17 20:02:49 +01: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
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
bf859a8008 Attempt to enable extended result codes for all connections 2015-12-16 20:30:27 -05:00
Gwenael Treguier
ff02213b53 Introduce a RefCell in CachedStatement. 2015-12-16 20:10:31 +01:00
Gwenael Treguier
9257987b37 Try to introduce a CachedStatement struct. 2015-12-16 19:42:03 +01:00
Gwenael Treguier
880a78ae83 Partial fix following John suggestions. 2015-12-15 21:49:59 +01:00
Gwenael Treguier
108b6b6fcd Merge branch 'master' of https://github.com/jgallagher/rusqlite into stmt-cache 2015-12-15 21:03:31 +01: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
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
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
John Gallagher
a43da3ef73 rustfmt 2015-12-14 14:13:14 -05:00
John Gallagher
7a7d13f520 Move Blob's seek to an impl of std::io::Seek. 2015-12-14 14:12:11 -05:00
John Gallagher
439f8583e7 Move Blob's write to an impl of std::io::Write. 2015-12-14 13:50:18 -05:00
John Gallagher
f290ce11ab Move Blob's read to an impl of std::io::Read. 2015-12-14 13:45:44 -05:00
John Gallagher
5ac5f3e9b5 Make blob_open take a DatabaseName instead of a str. 2015-12-14 13:38:36 -05:00
John Gallagher
73611d45d5 Merge branch 'blob' of https://github.com/gwenn/rusqlite into gwenn-blob 2015-12-14 13:35:05 -05:00
John Gallagher
4b512212d2 Inline decode_result_with_errmsg to fix dead code warning 2015-12-13 14:59:47 -05:00
John Gallagher
bf96a15bcf Merge remote-tracking branch 'origin/master' into bindgen-update 2015-12-13 08:45:59 -05:00
John Gallagher
b883ab651d Update unsafety of C function pointers for new bindgen 2015-12-13 08:40:51 -05:00
Gwenael Treguier
1c4ca000cf Simplify execute_batch implementation. 2015-12-13 14:15:56 +01:00
Gwenael Treguier
d5faf2fab3 Merge branch 'master' of https://github.com/jgallagher/rusqlite into stmt-cache 2015-12-13 11:23:54 +01:00
Gwenael Treguier
888dce0d8f Rustfmt 2015-12-13 11:05:11 +01:00
Gwenael Treguier
6f0f121d61 Merge remote-tracking branch 'remotes/jgallagher/master' into blob 2015-12-13 10:53:29 +01:00
John Gallagher
6bcc3edccd BREAKING CHANGE: Remove common prefix on TransactionBehavior case names. 2015-12-12 14:22:50 -05:00
John Gallagher
b1cde705be Rename SqliteLoadExtensionGuard -> LoadExtensionGuard. 2015-12-12 14:20:11 -05:00
John Gallagher
3d15a8a15c Rename SqliteTransaction* -> Transaction*. 2015-12-12 14:17:43 -05:00
John Gallagher
9cac56d6a2 Rename SqliteOpenFlags -> OpenFlags. 2015-12-12 14:13:29 -05:00
John Gallagher
ea5cb41bbf Rename SqliteRow -> Row. 2015-12-12 14:11:24 -05:00
John Gallagher
b932640181 Rename SqliteRows -> Rows. 2015-12-12 14:09:37 -05:00
John Gallagher
ec654352d9 Rename SqliteStatement -> Statement. 2015-12-12 14:08:04 -05:00
John Gallagher
eb60bb3111 Rename SqliteResult -> Result. 2015-12-12 14:06:03 -05:00
John Gallagher
f0b6bf9152 Rename SqliteError -> Error. 2015-12-12 13:53:58 -05:00
John Gallagher
4327a84edb Rename SqliteConnection -> Connection.
Leave old name in as a (deprecated) typealias.
2015-12-12 13:53:34 -05:00