1use crate::result_set::MySqlTypeInfo;
2use crate::value::MySqlValue;
3use rbdc::Error;
4
5pub mod date;
6pub mod datetime;
7pub mod decimal;
8pub mod decode;
9pub mod enums;
10pub mod geometry;
11pub mod json;
12pub mod set;
13pub mod time;
14pub mod timestamp;
15pub mod uuid;
16pub mod value;
17pub mod year;
18
19pub trait TypeInfo {
20 fn type_info(&self) -> MySqlTypeInfo;
21}
22
23pub trait Decode {
24 fn decode(value: MySqlValue) -> Result<Self, Error>
25 where
26 Self: Sized;
27}
28
29pub trait Encode {
30 fn encode(self, buf: &mut Vec<u8>) -> Result<usize, Error>;
31}
32
33#[cfg(test)]
34mod test {
35 #[test]
36 fn test_datetime() {}
37}