refactor!: separate read state from effective state in Transaction#2385
Conversation
6a0ea39 to
c6c465f
Compare
Range-diff: main (6a0ea39 -> c6c465f)
... (truncated, output exceeded 60000 bytes) Reproduce locally: |
scottsand-db
left a comment
There was a problem hiding this comment.
Looks AWESOME! Thanks! Left some comments
c6c465f to
bf96beb
Compare
Range-diff: main (c6c465f -> bf96beb)
... (truncated, output exceeded 60000 bytes) Reproduce locally: |
bf96beb to
b293bf7
Compare
Range-diff: main (bf96beb -> b293bf7)
... (truncated, output exceeded 60000 bytes) Reproduce locally: |
b293bf7 to
16b2bc6
Compare
Range-diff: main (b293bf7 -> 16b2bc6)
... (truncated, output exceeded 60000 bytes) Reproduce locally: |
scottsand-db
left a comment
There was a problem hiding this comment.
LGTM! (1 nit on comment style)
f6617cc to
4e1a8b3
Compare
sanujbasu
left a comment
There was a problem hiding this comment.
I have no blocking comments. Please address the comments before merge
15c4b27 to
c8ecda0
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2385 +/- ##
==========================================
- Coverage 88.33% 88.32% -0.02%
==========================================
Files 171 171
Lines 56696 56727 +31
Branches 56696 56727 +31
==========================================
+ Hits 50083 50103 +20
- Misses 4699 4704 +5
- Partials 1914 1920 +6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
c8ecda0 to
029d667
Compare
|
PR title does not match the required pattern. Please ensure you follow the conventional commits spec. Your title should start with Title: Your title should start with Title: |
This APi was removed in the upstream delta-io#2385 but this is a load-bearing API for delta-rs. The removal was not related to the change and seems like an erroneous removal that wasn't caught in review. Signed-off-by: R. Tyler Croy <rtyler@brokenco.de>
This APi was removed in the upstream delta-io#2385 but this is a load-bearing API for delta-rs. The removal was not related to the change and seems like an erroneous removal that wasn't caught in review. Signed-off-by: R. Tyler Croy <rtyler@brokenco.de>
🥞 Stacked PR
Use this link to review incremental changes.
Stacked PR
Use this link to review incremental changes.
What changes are proposed in this pull request?
Splits Transaction's snapshot into two concerns:
read_snapshot_opt: Option<SnapshotRef>-- the pre-commit table state (None for CREATE TABLE)effective_table_config: TableConfiguration-- the config this commit will produceThis separates "what did I read?" (conflict detection, post-commit snapshots) from "what will
this commit produce?" (schema, protocol, stats, write context). Write-path call sites read from
effective_table_config; read-path call sites useread_snapshot().Also adds
should_emit_protocol/should_emit_metadataflags to replace the oldis_create_table()checks for Protocol/Metadata action emission, and replaces the syntheticpre-commit snapshot in CREATE TABLE with direct
TableConfigurationconstruction.This is a pure refactor with no behaviour change.
How was this change tested?
All existing tests pass. Added unit tests for
LogSegment::new_for_version_zero(valid input,non-zero version rejection, non-commit file rejection).