gwenn
0241350af3
Check Rfc3339 before stripping Z
...
So that "2013-10-07T08:23:19Z" and "2013-10-07T08:23:19.120Z" are
correctly parsed.
2021-07-31 11:05:42 +02:00
gwenn
b14e326181
Use format_description macro
2021-06-14 21:34:05 +02:00
gwenn
fc9f03c1ca
Make tests more succint by using Rfc3339 string
2021-06-14 20:49:59 +02:00
gwenn
125f5dfbde
Fix FromSql impl for OffsetDateTime
...
Use time 0.3.0-alpha-1
2021-06-12 18:29:01 +02:00
gwenn
5baaa9a224
Fix FromSql impl for OffsetDateTime
...
Reveal bugs
2021-06-12 12:04:10 +02:00
gwenn
78e4036f90
Fix FromSql impl for OffsetDateTime
...
See 'Missing datetime format support' #968
2021-06-11 21:42:02 +02:00
gwenn
91d6ce7a52
Fix unstable tests when machine is slow
2021-01-30 12:55:00 +01:00
gwenn
4f175d5748
Fix DateTime format
2021-01-29 22:03:50 +01:00
gwenn
afcdc2b43a
Use most concise syntax for params
2021-01-19 21:16:08 +01: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
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
4114c94585
Clippy
2020-06-26 19:22:20 +02:00
gwenn
922228f604
Fix clippy warnings
2020-02-09 11:48:08 +01:00
gwenn
08e32444c9
Cleanup use statements
2019-08-17 08:18:37 +02:00
gwenn
8862b17340
Fix clippy warnings
2019-02-02 11:37:26 +01:00
gwenn
d874180333
Rust 2018 idioms
2018-12-07 21:57:04 +01:00
gwenn
626118ce07
Merge remote-tracking branch 'jgallagher/master' into 2018
2018-12-06 18:50:21 +01:00
gwenn
2b8eee2b83
Fix Timespec FromSql implementations ( #431 )
...
Make sure SQLite built-in CURRENT_TIMESTAMP output is
supported.
2018-11-22 16:50:10 +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
c925d1aa97
Rustfmt
2018-08-11 12:48:21 +02:00
gwenn
994d40da26
Fix clippy warnings
2018-05-04 19:55:55 +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
John Gallagher
4bfbb5f1fe
Fix handful of clippy warnings.
2017-11-17 11:37:23 -07:00
louis
301634add7
fixed timezone issue
2017-07-18 09:56:02 -06:00
louis
6188a6a97c
added more tests
2017-07-18 17:46:49 +02:00
louis
8bc97972f8
fixed %F instead of %F:%s
2017-07-18 17:43:25 +02:00
louis
0a114c4436
Fixed loss of time information during string conversion
2017-07-11 17:15:07 +02:00
louis
0d001583b2
Fixed loss of time information during string conversion
2017-07-11 17:01:25 +02:00
gwenn
08f96a678e
Rustfmt
2017-04-07 19:43:24 +02:00
John Gallagher
4181441d63
Merge branch 'master' into gwenn-invalid-column-type
2016-12-31 00:35:47 -05:00
gwenn
e2cf171192
Introduce FromSqlError
as specified by John Gallagher
2016-06-02 21:03:25 +02:00
gwenn
fb19e718cf
Introduce an intermediary InvalidType error.
...
InvalidType is used where the column/parameter index is not known.
2016-05-30 20:35:56 +02:00
gwenn
cabcaf3dcb
Better error reporting on invalid column type.
2016-05-26 21:03:05 +02:00
John Gallagher
e4926ac0d7
Rework ToSql to be implementable without unsafe
.
2016-05-26 00:14:45 -04:00
John Gallagher
2f4990dafd
Rename BorrowedValue -> ValueRef.
2016-05-24 21:34:18 -04:00
John Gallagher
5b0cdbaa56
Redo FromSql to make implementing it not unsafe
.
...
Pass implementers a BorrowedValue instead of relying on them to use
the FFI interface. We take the responsibility of converting the raw
statement and column index into a BorrowedValue.
2016-05-23 21:49:54 -04:00
John Gallagher
88fb175b40
Limit Timespec representation to strings.
2016-05-15 22:30:11 -05:00
John Gallagher
350dc59bb9
Remove unnecessary column_has_valid_sqlite_type impls
2016-05-15 15:32:59 -04:00
gwenn
ecac52dc4c
Make FromSql impl for TimeSpec support double/int.
2016-02-25 18:44:53 +01:00