Skip to content

Commit 34bf726

Browse files
committed
Propagate schema on empty result
1 parent 2d2205b commit 34bf726

File tree

4 files changed

+12
-23
lines changed

4 files changed

+12
-23
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "kamu-engine-datafusion"
3-
version = "0.8.0"
3+
version = "0.8.1"
44
authors = ["Kamu Data Inc. <[email protected]>"]
55
license-file = "LICENSE.txt"
66
edition = "2021"

src/engine.rs

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -166,20 +166,17 @@ impl Engine {
166166

167167
let new_watermark = Self::compute_new_watermark(&request);
168168

169-
if num_rows == 0 {
170-
Ok(TransformResponseSuccess {
171-
new_offset_interval: None,
172-
new_watermark,
173-
})
174-
} else {
175-
Ok(TransformResponseSuccess {
176-
new_offset_interval: Some(OffsetInterval {
169+
Ok(TransformResponseSuccess {
170+
new_offset_interval: if num_rows != 0 {
171+
Some(OffsetInterval {
177172
start: request.next_offset,
178173
end: request.next_offset + num_rows - 1,
179-
}),
180-
new_watermark,
181-
})
182-
}
174+
})
175+
} else {
176+
None
177+
},
178+
new_watermark,
179+
})
183180
}
184181

185182
#[tracing::instrument(level = "info", skip_all, fields(dataset_id = %input.dataset_id, dataset_alias = %input.dataset_alias, query_alias = %input.query_alias))]
@@ -618,13 +615,7 @@ impl Engine {
618615
.unwrap()
619616
.value(0);
620617

621-
if num_records > 0 {
622-
tracing::info!(?path, num_records, "Produced parquet file");
623-
} else {
624-
// Clean up empty file
625-
tracing::info!("Produced empty result",);
626-
let _ = std::fs::remove_file(path);
627-
}
618+
tracing::info!(?path, num_records, "Produced parquet file");
628619
Ok(num_records as u64)
629620
}
630621
}

tests/tests/test_transform.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,6 @@ async fn test_query_common(opts: TestQueryCommonOpts) {
299299
if let Some(expected_data) = expected_data {
300300
let actual_data = read_data_pretty(&new_data_path).await;
301301
assert_eq!(expected_data.trim(), actual_data);
302-
} else {
303-
assert!(!new_data_path.exists());
304302
}
305303

306304
if let Some(expected_schema) = opts.expected_schema {

0 commit comments

Comments
 (0)