From cfdfebeb064657c7376e55dd9a38944d5d594775 Mon Sep 17 00:00:00 2001 From: feniljain Date: Thu, 19 Sep 2024 15:53:29 +0530 Subject: [PATCH 1/2] fix: convert last checkpoint json keys to camelCase --- crates/core/src/table/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/core/src/table/mod.rs b/crates/core/src/table/mod.rs index c7ee976eeb..c39f8d66f6 100644 --- a/crates/core/src/table/mod.rs +++ b/crates/core/src/table/mod.rs @@ -30,6 +30,7 @@ pub mod state_arrow; /// Metadata for a checkpoint file #[derive(Serialize, Deserialize, Debug, Default, Clone, Copy)] +#[serde(rename_all = "camelCase")] pub struct CheckPoint { /// Delta table version pub(crate) version: i64, // 20 digits decimals From 3411eb631372c8eff6251bdfea630587edb07c24 Mon Sep 17 00:00:00 2001 From: feniljain Date: Thu, 19 Sep 2024 17:24:13 +0530 Subject: [PATCH 2/2] test: checkpoint struct fields gets serialized to camelCase --- crates/core/src/table/mod.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/crates/core/src/table/mod.rs b/crates/core/src/table/mod.rs index c39f8d66f6..65d84985c7 100644 --- a/crates/core/src/table/mod.rs +++ b/crates/core/src/table/mod.rs @@ -627,4 +627,21 @@ mod tests { .unwrap(); (dt, tmp_dir) } + + #[test] + fn checkpoint_should_serialize_in_camel_case() { + let checkpoint = CheckPoint { + version: 1, + size: 1, + parts: None, + size_in_bytes: Some(1), + num_of_add_files: Some(1), + }; + + let checkpoint_json_serialized = + serde_json::to_string(&checkpoint).expect("could not serialize to json"); + + assert!(checkpoint_json_serialized.contains("sizeInBytes")); + assert!(checkpoint_json_serialized.contains("numOfAddFiles")); + } }