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
use crate::result_set::MySqlTypeInfo;
use crate::value::MySqlValue;
use rbdc::Error;
pub mod date;
pub mod datetime;
pub mod decimal;
pub mod decode;
pub mod encode;
pub mod enums;
pub mod geometry;
pub mod json;
pub mod set;
pub mod time;
pub mod timestamp;
pub mod type_info;
pub mod uuid;
pub mod year;
pub trait TypeInfo {
fn type_info(&self) -> MySqlTypeInfo;
}
pub trait Decode {
fn decode(value: MySqlValue) -> Result<Self, Error>
where
Self: Sized;
}
pub trait Encode {
fn encode(self, buf: &mut Vec<u8>) -> Result<usize, Error>;
}