1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use rusqlite::Result as SqlResult;
use rusqlite::types::{
FromSql,
ToSql,
ValueRef,
FromSqlResult,
ToSqlOutput
};
use super::{
Point,
Span,
};
impl FromSql for Point {
fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self> {
i64::column_result(value).map(Self::from_epoch)
}
}
impl ToSql for Point {
fn to_sql(&self) -> SqlResult<ToSqlOutput<'_>> {
self.timestamp.to_sql()
}
}
impl FromSql for Span {
fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self> {
u64::column_result(value).map(Self::from_seconds)
}
}
impl ToSql for Span {
fn to_sql(&self) -> SqlResult<ToSqlOutput<'_>> {
self.seconds.to_sql()
}
}