szehon-ho opened a new pull request, #56352: URL: https://github.com/apache/spark/pull/56352
### What changes were proposed in this pull request? This PR reorganizes the `MERGE INTO` schema evolution test traits under `sql/core` so that each test lives in a file named after the schema evolution scenario it exercises, rather than the previous top-level-column vs. nested-column split. Previously the tests were spread across traits organized loosely by structure (basic, nested) and by mixed concerns, which made it hard to find tests for a given scenario. The traits are now organized by scenario, each containing both top-level and nested-column cases: - `MergeIntoSchemaEvolutionExtraSourceColumnTests` - the source has extra columns/fields not present in the target (including "should not evolve" guard cases). - `MergeIntoSchemaEvolutionExtraTargetColumnTests` - the target has columns/fields missing from the source (value preservation and null-struct handling). - `MergeIntoSchemaEvolutionTypeWideningTests` - type widening and type promotion cases. - `MergeIntoSchemaEvolutionMixedTests` - combined scenarios (e.g. extra + missing, widening + extra), schema-matched null-struct semantics, and generic error cases. The top-level composite trait `MergeIntoSchemaEvolutionTests` was updated to mix in the new traits, so concrete suites automatically pick up the new organization. The old traits (`MergeIntoSchemaEvolutionBasicTests`, `MergeIntoSchemaEvolutionTypeWideningAndExtraFieldTests`, `MergeIntoSchemaEvolutionMissingFieldAndNullStructTests`, `MergeIntoSchemaEvolutionNestedTests`) were removed. This is a test-only, no-behavior-change refactor. The total set of tests is unchanged. ### Why are the changes needed? The existing organization of the schema evolution tests made it difficult to locate the tests covering a particular scenario, and some tests were in traits that did not match their actual scenario. Grouping by scenario makes the suite easier to navigate and extend. ### Does this PR introduce _any_ user-facing change? No. This is a test-only change. ### How was this patch tested? Existing tests, reorganized. Verified that the full set of test names is preserved across the move and that the concrete suites still run. ### Was this patch authored or co-authored using generative AI tooling? Generated-by: Cursor -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
