test(integration-tests): add RTAS cases - #744
Draft
mkuchenbecker wants to merge 32 commits into
Draft
mkuchenbecker wants to merge 32 commits into
mkuchenbecker wants to merge 32 commits into
Conversation
Add 264 replacement-specific cases on the 642-case foundation. - run every reusable DML operation across four RTAS preparations - cover schema, partition, policy, history, rename, order, and identity - require precise lineage rejection and typed concurrency outcomes - expose silent narrowing corruption as a known product bug Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep the replace-versus-append assertion limited to serializable outcomes while recording the rare lost-replace result as a known bug. Both format cases remain available for re-enablement when concurrent RTAS commits report conflicts or preserve the replace. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Validate replace-table behavior by running its scenarios instead of restating their generated catalog entries. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep replace-table behavior with the shared scenario suite while preserving its package and published names. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Rebase the replace-table capability on the focused 108-case DML contract. Keep schema, catalog, and standard state-matrix breadth in independent sibling reviews. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep RTAS as an additive capability over the stable foundation and the complete standard DML contribution. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ecker/delta-harness-rtas
…ecker/delta-harness-rtas
Move partitioning, lineage, metadata, and rename helpers into the RTAS layer and adopt the explicit DML operation naming from its parent. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Sep 18, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Describe replacement behavior and the prepared replacement lineages that reuse the shared DML contracts without indexing tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> # Conflicts: # integrations/spark/delta-harness/TEST-COVERAGE.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use integration-test terminology in RTAS comments and worker thread names. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move the replacement-table contributors into the renamed package and preserve the same shared test definitions across local and remote runs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Sep 21, 2026
mkuchenbecker
commented
Sep 21, 2026
| * preparations. The replace-table layer uses it to require rejection when a changelog range crosses a table | ||
| * replacement. The follow-up standard changelog scenario builds on the same operation definitions. | ||
| */ | ||
| trait ChangelogSupport extends RtasTableFixtures { |
Collaborator
Author
There was a problem hiding this comment.
This shoudl not be an RTAS fixture, jsut a fixture.
trait / composition are preferred vs inheritance.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mkuchenbecker
marked this pull request as ready for review
September 22, 2026 00:24
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mkuchenbecker
marked this pull request as draft
September 22, 2026 00:54
This branch has not been deployed
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.
Stack context
These four same-repository draft PRs form the complete path from
mainthrough RTAS. Each PR is based on the head branch of the preceding PR.
main-> #741 ->#742 ->
#743 ->
#744
Summary
This PR adds Replace Table As Select (RTAS) prepared tables and test cases on top
of the Standard DML layer. It adds 264 cases to the 130-case Standard DML
catalog, producing 394 combined cases.
This branch also fills the RTAS section in
TEST-COVERAGE.md. The othercapability sections remain owned by their respective PRs.
Scope
This layer owns everything a
CREATE OR REPLACE TABLE AS SELECTstatement canchange about a table and everything the catalog governs about a table that
reached its state through a replace. It reuses every Standard DML operation as
data against replaced tables and excludes concurrency and locking, which belong
to the compatibility and streaming layer.
ChangelogFixturesandConcurrencySupportlive in this layer because RTAS is their first consumer.TableMetadataFixturesprovides the snapshot and catalog-name helpers sharedwith later capability layers.
Known limitations
rtas.schema.incompatibleType.notSilentlyLossy(Parquet, ORC)rtas.concurrency.replaceVersusAppend(Parquet, ORC)Every RTAS descendant inherits exactly these four skips; none of them adds a
new one.
Validation
git diff --checkagainst the parent tip