feat: persist DuckLake object-table writes with rollback cleanup - #495
Merged
Conversation
leon-ape
approved these changes
Sep 7, 2026
leon-ape
left a comment
Collaborator
There was a problem hiding this comment.
Independent review of exact head d73a66f039eb075a3633ac89f2661fd0424c2c1d.
- Unique parent
fb299713d6685e3ff63832e9517b6373e0dd1053; GitHub verification valid. - Diff vs parent is only
docs/object-storage.md: candidate id450fe6f0andmust not includerestored; three usage boundaries remain. - Product files vs accepted
450fe6f0unchanged except the already-reviewed FlightSQL idempotent close. No inject/DIAG_RAW. - Reuse FlightSQL Python SUCCESS on
fb299713(job101608295902); this head does not change that source.
APPROVE binds only this OID. Task #78 product acceptance is not reopened. No v0.2.1 / latest change.
weicao
enabled auto-merge (squash)
September 7, 2026 03:06
weicao
disabled auto-merge
September 7, 2026 03:07
Replay accepted object-storage candidate 450fe6f0 onto current main, plus FlightSQL idempotent ClosePreparedStatement. Usage boundaries: 1. MySQL CREATE TABLE is an implicit commit and is not undone by ROLLBACK (local and object tables alike). 2. One transaction cannot write both a local table and an object table (1105). 3. The local DuckLake catalog must persist; losing it cannot be recovered from the object bucket alone. Does not update PR #489 / task75-object-table. Tree matches previous head d73a66f.
weicao
force-pushed
the
feat/task77-ducklake-object-storage
branch
from
September 7, 2026 03:27
d73a66f to
6106a18
Compare
leon-ape
approved these changes
Sep 7, 2026
leon-ape
left a comment
Collaborator
There was a problem hiding this comment.
Independent review of exact head 6106a18fa05e32aa3d3d923141d6d68d3e04dbf0.
- GitHub verification valid.
- Unique parent
7a58743079680cf05f35fc1e97f531a0cba5e7f7. - Tree
65bdc21bbed281a6c19808ab3525183585b7d17bequals previous headd73a66f039eb075a3633ac89f2661fd0424c2c1d. - Single commit; not an empty signed follow-up.
APPROVE binds only this OID. Go/Dolt historical reds not re-verified. Task #78 not reopened. No v0.2.1 / latest change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replay accepted object-storage candidate
450fe6f0onto currentmain(7a587430). Unique parent is exactmain. Does not update PR #489 /task75-object-table.This PR is the first-cut DuckLake object-table delivery: persist storage selection, dual-protocol writes, rollback compensation, and failure cleanup. Shutdown coordination is already on
mainvia #492.Usage boundaries (must keep)
CREATE TABLEis an implicit commit and is not undone byROLLBACK(local and object tables alike).Identity
450fe6f0aeee72c7c008b44ea57e8adae0815f527a58743079680cf05f35fc1e97f531a0cba5e7f7NewSQLiteFlightSQLServerWithProviderdocs/object-storage.mdProduct acceptance on
450fe6f0/ imagesha256:8c8ed995…cd719stays; this PR only needs review of the main integration diff. Nov0.2.1/latestchange.