Skip to content

Conversation

@JustinRush80
Copy link
Contributor

@JustinRush80 JustinRush80 commented Oct 22, 2025

Description

Add the GENERATE command that create an symlink manifest.

I have done an very dumb solution for my day job but it definitely not scalable. So creating this draft to first understand the expected behavior of this command and then turn my initial solution to fit the code standard.

Related Issue(s)

Documentation

https://books.japila.pl/delta-lake-internals/post-commit-hooks/GenerateSymlinkManifest/

@github-actions github-actions bot added binding/python Issues for the Python package binding/rust Issues for the Rust crate labels Oct 22, 2025
@github-actions
Copy link

ACTION NEEDED

delta-rs follows the Conventional Commits specification for release automation.

The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification.

@rtyler rtyler changed the title feat: Generate an Symlink Manifest for External Engines feat: generate an Symlink Manifest for External Engines Oct 23, 2025
@rtyler rtyler self-assigned this Oct 23, 2025
@codecov
Copy link

codecov bot commented Oct 23, 2025

Codecov Report

❌ Patch coverage is 73.97260% with 19 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.75%. Comparing base (b2ca3b3) to head (5269e97).

Files with missing lines Patch % Lines
crates/core/src/operations/generate.rs 84.37% 3 Missing and 7 partials ⚠️
python/src/lib.rs 0.00% 6 Missing ⚠️
crates/core/src/operations/mod.rs 0.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3889      +/-   ##
==========================================
- Coverage   73.76%   73.75%   -0.02%     
==========================================
  Files         151      152       +1     
  Lines       39396    39447      +51     
  Branches    39396    39447      +51     
==========================================
+ Hits        29061    29094      +33     
- Misses       9023     9036      +13     
- Partials     1312     1317       +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@JustinRush80 JustinRush80 force-pushed the feat/generate_manifest branch from d87bdc0 to 8542271 Compare October 23, 2025 15:07
JustinRush80 and others added 4 commits October 23, 2025 11:12
I do not have a great test environment to validate that the manifests
are _correct_ so that they can be used by an engine like Presto. As such
we will have to depend on users to validate this

Signed-off-by: R. Tyler Croy <[email protected]>
@rtyler rtyler force-pushed the feat/generate_manifest branch from 6064ea0 to 5269e97 Compare October 25, 2025 14:11
@rtyler rtyler marked this pull request as ready for review October 25, 2025 14:12
@rtyler rtyler enabled auto-merge (rebase) October 25, 2025 14:12
@rtyler
Copy link
Member

rtyler commented Oct 25, 2025

@JustinRush80 I have finished this functionality but would request that you test the generated manifest with an engine that requires it.

@roeap this is ready to merge once it's green in CI

@JustinRush80
Copy link
Contributor Author

@JustinRush80 I have finished this functionality but would request that you test the generated manifest with an engine that requires it.

@roeap this is ready to merge once it's green in CI

Sure thing! Is this functionality able to incrementally update the manifest? I am still learning the code base but how does it handle partitions?

@rtyler
Copy link
Member

rtyler commented Oct 25, 2025

@JustinRush80 I have no idea what partitions are supposed to look like, if there is a specification of what this manifest is supposed to look like, I'm happy to help make this implementation compliant

@rtyler rtyler marked this pull request as draft October 26, 2025 12:49
auto-merge was automatically disabled October 26, 2025 12:49

Pull request was converted to draft

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

binding/python Issues for the Python package binding/rust Issues for the Rust crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

deltaTable.generate("symlink_format_manifest")

2 participants