77 Commits

Author SHA1 Message Date
xaos
f6cd0a5384 Fix minor doc inaccuracy 2023-04-04 23:02:27 +02:00
gwenn
2e07650a02 Use ?NNN format instead of ?
https://sqlite.org/lang_expr.html#parameters
> But because it is easy to miscount the question marks, the use of this parameter format is discouraged. Programmers are encouraged to use one of the symbolic formats below or the ?NNN format above instead.
2022-11-27 09:38:06 +01:00
gwenn
784ef95bb6 Intoduce one_column for tests 2022-11-11 16:20:39 +01:00
gwenn
7dab08c4b2 Fix clippy warnings 2022-10-02 11:34:58 +02:00
gwenn
618e9a1274 Clean code
Typos, deprecated code usages, ...
2022-05-29 13:33:51 +02:00
Max Unsted
95941f6378 derive Eq for Type 2022-04-17 13:28:48 -07:00
gwenn
ad911efd15 Replace .err().unwrap() by .unwrap_err() 2022-04-07 09:17:42 +02:00
gwenn
b3f8c283f1 Merge remote-tracking branch 'upstream/master' into time-fmt 2021-07-30 21:24:51 +02:00
gwenn
0312937d6a Use #[doc(cfg)]
Fix #835
2021-06-13 09:17:35 +02:00
gwenn
bcf28fec35 Fix FromSql impl for OffsetDateTime
Fix test doc
2021-06-12 18:54:29 +02:00
gwenn
c4b398f468
Doctest column name reference (#918)
* Doctest column name reference
* Document rusqlite assumption on column name reference
And move doctest as a test.
* Document when columns metadata should be extracted.
* Rustfmt doc (wrap_comments)
2021-04-03 11:03:50 +02:00
gwenn
6fae5d6641 Add/fix rustdoc links 2020-11-22 09:34:03 +01:00
gwenn
da94f8eba6 Make tests return Result 2020-11-05 22:14:00 +01:00
Thom Chiovoloni
65c38bf813 Add #[inline] and #[cold] in far more places 2020-11-04 07:59:23 -08:00
Thom Chiovoloni
22121772a2 Deprecate NO_PARAMS in favor of passing an empty array 2020-11-03 19:09:19 -08:00
Thom Chiovoloni
032aea73b8 Overhaul query API, removing the need for the _named variants of all functions, and rusqlite::NO_PARAMS 2020-11-03 19:09:19 -08:00
gwenn
b448d95510 Merge remote-tracking branch 'upstream/master' into progress_handler 2020-10-28 21:21:19 +01:00
gwenn
76ad2bf19c Rustfmt 2020-10-28 21:12:29 +01:00
Tim Hutt
b0ade73f43 Add ToSql implementations for u64 and usize 2020-10-26 23:28:25 -07:00
Tim Hutt
8841187717 Silence clippy 2020-10-24 09:52:05 -07:00
Tim Hutt
f264873999 Cargo format 2020-10-24 09:52:05 -07:00
Tim Hutt
ebcec59969 Implement From/ToSql for more types
This implements `FromSql` for `u64`, `usize` and `f32`, and `ToSql` for `f32`.

I also updated the documentation to describe how it currently works, and changed the implementation to use `try_from` for integral casts rather rather than custom code.

Test added.
2020-10-24 09:52:05 -07:00
gwenn
799b5d3f7b Rustfmt 2020-10-04 07:39:35 +02:00
gwenn
d2dcc2d987 Fix clippy warning 2020-10-04 07:38:52 +02:00
Nikhil Benesch
b83d22e2b7 Upgrade to time v0.2 and put it behind a feature flag
This also removes the usage of time in the crate's top-level
documentation example, as was done for the README in #625.

Fix #653.
2020-07-24 11:28:19 -07:00
gwenn
76fc22c653 Fix missing docs 2020-05-21 00:48:06 -07:00
gwenn
922228f604 Fix clippy warnings 2020-02-09 11:48:08 +01:00
gwenn
8302a50fb8 Fix clippy warnings 2019-11-03 11:19:07 +01:00
gwenn
0cf9ef8514 Fix some clippy warnings 2019-10-13 13:08:33 +02:00
Thom Chiovoloni
4356f5a176 Include the name of the column in InvalidColumnType errors 2019-06-25 12:20:11 -07:00
gwenn
80205da623 Rustfmt + clippy 2019-03-21 19:13:55 +01:00
Thom Chiovoloni
5ba6909921 Add optional support for rust-url 2019-03-09 19:16:37 -08: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
8862b17340 Fix clippy warnings 2019-02-02 11:37:26 +01:00
gwenn
0a46a34e3d Clean examples
Remove `extern crate` usages.
Rustfmt.
2019-01-30 20:14:46 +01:00
gwenn
d874180333 Rust 2018 idioms 2018-12-07 21:57:04 +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
1598d4bc30 Rustfmt 2018-10-28 08:51:02 +01: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
5e9c7bac4e Rustfmt 2018-08-16 18:29:46 +02:00
gwenn
c925d1aa97 Rustfmt 2018-08-11 12:48:21 +02:00
gwenn
0d0a7bf81f Replace row changes/count type (i32) with usize
Breaking change
2018-05-23 21:23:28 +02:00
gwenn
5c44ed79d3 Fix tests 2018-05-23 20:18:18 +02:00
Travis Cross
5d8a840b5d Fix date/time format for SQLite, use RFC 3339
We implement `ToSql` and `FromSql` for `time::Timespec` values.  Our
documentation indicates that we store the value in the same format
used by SQLite's built-in date/time functions, but this was not
correct.

We were using the format:

    %Y-%m-%d %H:%M:%S:%f %Z

This format cannot be interpreted at all by SQLite's built-in
date/time functions.  There are three reasons for this:

- SQLite supports only two timezone formats: `[+-]HH:MM` and the
  literal character `Z` (indicating UTC)

- SQLite does not support a space before the timezone indicator

- SQLite supports a period (`.`) between the seconds field and the
  fractional seconds field, but not a colon (`:`)

SQLite does support the RFC 3339 date/time format, which is standard
in many other places.  As we're always storing a UTC value, we'll
simply use a trailing `Z` to indicate the timezone, as allowed by RFC
3339.  The new format is:

    %Y-%m-%dT%H:%M:%S.%fZ

To avoid breaking applications using databases with values in the old
format, we'll continue to support it as a fallback for `FromSql`.

[1] https://www.sqlite.org/lang_datefunc.html
[2] https://tools.ietf.org/html/rfc3339
2017-12-24 22:15:31 +00:00
gwenn
08f96a678e Rustfmt 2017-04-07 19:43:24 +02:00
Sean Griffin
2c58b3f804 Remove the dependency on libc
Recent versions of bindgen use `std::os::raw` over `libc`, but currently
`libsqlite3-sys` is overriding that. `std::os::raw` is a subset of
`libc` that exports only the relevant type definitions, but not any
functions which require additional linking. This enables
`libsqlite3-sys` to be more easily used on targets that may not have a
libc available (presumably sqlite itself would have been compiled with
musl in that case)
2017-02-16 11:17:24 -05:00
John Gallagher
60e1f3c02f Add more explicit types in unit tests. 2017-02-05 17:30:53 -05:00
reddraggone9
57750fe6a6 Fix doc comment example of FromSql/ToSql
Update a doc test so that it compiles on master. Also remove the ignore
directive so that it runs with the rest of the test suite.
2017-01-24 22:57:42 -06:00