From 51349f46a93c287299cc0517d04adb3dac3c820c Mon Sep 17 00:00:00 2001 From: Robert Pack Date: Tue, 21 Jan 2025 20:08:31 +0100 Subject: [PATCH] fix: revert accidentally commited file Signed-off-by: Robert Pack --- crates/core/src/operations/transaction/mod.rs | 30 +++++-------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/crates/core/src/operations/transaction/mod.rs b/crates/core/src/operations/transaction/mod.rs index d7d99f0dbe..bb173c40b7 100644 --- a/crates/core/src/operations/transaction/mod.rs +++ b/crates/core/src/operations/transaction/mod.rs @@ -80,7 +80,6 @@ use bytes::Bytes; use chrono::Utc; use conflict_checker::ConflictChecker; use futures::future::BoxFuture; -use itertools::Itertools; use object_store::path::Path; use object_store::Error as ObjectStoreError; use serde_json::Value; @@ -269,37 +268,22 @@ pub struct CommitData { impl CommitData { /// Create new data to be committed pub fn new( - actions: Vec, + mut actions: Vec, operation: DeltaOperation, mut app_metadata: HashMap, app_transactions: Vec, ) -> Self { - // When in-commit-timestamps are enabled, we need to ensure that the commit info is the first action - // in the commit log. If it is not present, we need to add it. - // https://github.com/delta-io/delta/blob/master/PROTOCOL.md#writer-requirements-for-in-commit-timestamps - let mut commit_info = None::; - let mut actions = actions - .into_iter() - .inspect(|a| { - if matches!(a, Action::CommitInfo(..)) { - commit_info = Some(a.clone()) - } - }) - .filter(|a| matches!(a, Action::CommitInfo(..))) - .collect_vec(); - if !commit_info.is_some() { - let mut cm = operation.get_commit_info(); - cm.timestamp = Some(Utc::now().timestamp_millis()); + if !actions.iter().any(|a| matches!(a, Action::CommitInfo(..))) { + let mut commit_info = operation.get_commit_info(); + commit_info.timestamp = Some(Utc::now().timestamp_millis()); app_metadata.insert( "clientVersion".to_string(), Value::String(format!("delta-rs.{}", crate_version())), ); - app_metadata.extend(cm.info); - cm.info = app_metadata.clone(); - commit_info = Some(Action::CommitInfo(cm)); + app_metadata.extend(commit_info.info); + commit_info.info = app_metadata.clone(); + actions.push(Action::CommitInfo(commit_info)) } - // safety: we assured commit_info is Some just above. - actions.insert(0, commit_info.unwrap()); for txn in &app_transactions { actions.push(Action::Txn(txn.clone()))