diff --git a/docs/test_tables.sql b/docs/test_tables.sql index 57cd1ce..80c1136 100644 --- a/docs/test_tables.sql +++ b/docs/test_tables.sql @@ -256,7 +256,7 @@ CREATE TABLE test_partition_aggregation ( CREATE TABLE test_time ( `c1` int NOT NULL, - `c2` datetime(6) DEFAULT NULL, + `c2` datetime DEFAULT NULL, `c3` timestamp DEFAULT NULL, PRIMARY KEY(`c1`) ); diff --git a/src/serde_obkv/value/mod.rs b/src/serde_obkv/value/mod.rs index 437653a..d327e5c 100644 --- a/src/serde_obkv/value/mod.rs +++ b/src/serde_obkv/value/mod.rs @@ -249,6 +249,11 @@ impl ObjMeta { ObjMeta::new(obj_type, CollationLevel::Numeric, CollationType::Binary, -1) } + /// [`new_time_meta`] is for datetime and timestamp + pub fn new_time_meta(obj_type: ObjType) -> ObjMeta { + ObjMeta::new(obj_type, CollationLevel::Numeric, CollationType::Binary, 6) + } + fn default_obj_meta(t: ObjType) -> ObjMeta { match t { ObjType::Null => ObjMeta::new(t, CollationLevel::Ignorable, CollationType::Binary, 10), @@ -267,8 +272,8 @@ impl ObjMeta { ObjType::UDouble => ObjMeta::new_numeric_meta(t), ObjType::Number => ObjMeta::new_numeric_meta(t), ObjType::UNumber => ObjMeta::new_numeric_meta(t), - ObjType::DateTime => ObjMeta::new_numeric_meta(t), - ObjType::Timestamp => ObjMeta::new_numeric_meta(t), + ObjType::DateTime => ObjMeta::new_time_meta(t), + ObjType::Timestamp => ObjMeta::new_time_meta(t), ObjType::Date => ObjMeta::new_numeric_meta(t), ObjType::Time => ObjMeta::new_numeric_meta(t), ObjType::Year => ObjMeta::new_numeric_meta(t),