mirror of
				https://github.com/isar/rusqlite.git
				synced 2025-10-31 13:58:55 +08:00 
			
		
		
		
	Fix FromSql impl for OffsetDateTime
Fix test doc
This commit is contained in:
		| @@ -41,22 +41,24 @@ For example, to store datetimes as `i64`s counting the number of seconds since | |||||||
| the Unix epoch: | the Unix epoch: | ||||||
|  |  | ||||||
| ``` | ``` | ||||||
| use rusqlite::types::{FromSql, FromSqlResult, ToSql, ToSqlOutput, ValueRef}; | use rusqlite::types::{FromSql, FromSqlError, FromSqlResult, ToSql, ToSqlOutput, ValueRef}; | ||||||
| use rusqlite::Result; | use rusqlite::Result; | ||||||
|  |  | ||||||
| pub struct DateTimeSql(pub time::OffsetDateTime); | pub struct DateTimeSql(pub time::OffsetDateTime); | ||||||
|  |  | ||||||
| impl FromSql for DateTimeSql { | impl FromSql for DateTimeSql { | ||||||
|     fn column_result(value: ValueRef) -> FromSqlResult<Self> { |     fn column_result(value: ValueRef) -> FromSqlResult<Self> { | ||||||
|         i64::column_result(value).map(|as_i64| { |         i64::column_result(value).and_then(|as_i64| { | ||||||
|             DateTimeSql(time::OffsetDateTime::from_unix_timestamp(as_i64)) |             time::OffsetDateTime::from_unix_timestamp(as_i64) | ||||||
|  |             .map(|odt| DateTimeSql(odt)) | ||||||
|  |             .map_err(|err| FromSqlError::Other(Box::new(err))) | ||||||
|         }) |         }) | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| impl ToSql for DateTimeSql { | impl ToSql for DateTimeSql { | ||||||
|     fn to_sql(&self) -> Result<ToSqlOutput> { |     fn to_sql(&self) -> Result<ToSqlOutput> { | ||||||
|         Ok(self.0.timestamp().into()) |         Ok(self.0.unix_timestamp().into()) | ||||||
|     } |     } | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user