From b056bcfa58c4f970dabd0a7affa9d681c8593151 Mon Sep 17 00:00:00 2001 From: Josh Pschorr Date: Fri, 24 Jan 2025 17:33:12 -0800 Subject: [PATCH] Fix DDL output for `Array` and `Bag` types. (#539) --- extension/partiql-extension-ddl/src/ddl.rs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/extension/partiql-extension-ddl/src/ddl.rs b/extension/partiql-extension-ddl/src/ddl.rs index 436ecc25..56645885 100644 --- a/extension/partiql-extension-ddl/src/ddl.rs +++ b/extension/partiql-extension-ddl/src/ddl.rs @@ -135,16 +135,13 @@ impl PartiqlBasicDdlEncoder { fn write_type_bag(&self, type_bag: &BagType) -> ShapeDdlEncodeResult { Ok(format!( - "type_bag<{}>", + "BAG<{}>", self.write_shape(type_bag.element_type())? )) } fn write_type_array(&self, arr: &ArrayType) -> ShapeDdlEncodeResult { - Ok(format!( - "type_array<{}>", - self.write_shape(arr.element_type())? - )) + Ok(format!("ARRAY<{}>", self.write_shape(arr.element_type())?)) } fn write_struct(&self, strct: &StructType) -> ShapeDdlEncodeResult { @@ -260,12 +257,12 @@ mod tests { type_struct![bld, IndexSet::from([fields, StructConstraint::Open(false)])] ]; - let expected_compact = r#""employee_id" TINYINT,"full_name" VARCHAR,"salary" DECIMAL(8, 2),"details" STRUCT<"a": UNION,"b": type_array,"c": DOUBLE>,"dependents" type_array"#; + let expected_compact = r#""employee_id" TINYINT,"full_name" VARCHAR,"salary" DECIMAL(8, 2),"details" STRUCT<"a": UNION,"b": ARRAY,"c": DOUBLE>,"dependents" ARRAY"#; let expected_pretty = r#""employee_id" TINYINT, "full_name" VARCHAR, "salary" DECIMAL(8, 2), -"details" STRUCT<"a": UNION,"b": type_array,"c": DOUBLE>, -"dependents" type_array"#; +"details" STRUCT<"a": UNION,"b": ARRAY,"c": DOUBLE>, +"dependents" ARRAY"#; let ddl_compact = PartiqlBasicDdlEncoder::new(DdlFormat::Compact); assert_eq!(ddl_compact.ddl(&ty).expect("write shape"), expected_compact);