diff --git a/crates/core/src/table/mod.rs b/crates/core/src/table/mod.rs index c7ee976eeb..65d84985c7 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 @@ -626,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")); + } }