diff --git a/types/src/data_types.rs b/types/src/data_types.rs index c88521b4..d2fb76e8 100644 --- a/types/src/data_types.rs +++ b/types/src/data_types.rs @@ -140,6 +140,8 @@ impl DataTypeNode { "Polygon" => Ok(Self::Polygon), "MultiPolygon" => Ok(Self::MultiPolygon), + str if str.starts_with("JSON") => Ok(Self::JSON), + str if str.starts_with("Decimal") => parse_decimal(str), str if str.starts_with("DateTime64") => parse_datetime64(str), str if str.starts_with("DateTime") => parse_datetime(str), @@ -953,6 +955,10 @@ mod tests { assert_eq!(DataTypeNode::new("Bool").unwrap(), DataTypeNode::Bool); assert_eq!(DataTypeNode::new("Dynamic").unwrap(), DataTypeNode::Dynamic); assert_eq!(DataTypeNode::new("JSON").unwrap(), DataTypeNode::JSON); + assert_eq!( + DataTypeNode::new("JSON(max_dynamic_types=8, max_dynamic_paths=64)").unwrap(), + DataTypeNode::JSON + ); assert!(DataTypeNode::new("SomeUnknownType").is_err()); }