From 5177f36c02f1236c1509059667ea3c57b7327e36 Mon Sep 17 00:00:00 2001 From: IHEII Date: Thu, 25 Jan 2024 16:51:50 +0800 Subject: [PATCH] [Fix] time scale (#92) --- docs/test_tables.sql | 2 +- src/serde_obkv/value/mod.rs | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) 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),