ericm-db opened a new pull request, #53704: URL: https://github.com/apache/spark/pull/53704
## What changes were proposed in this pull request? This PR adds the `sourceIdentifyingName` parameter to `StreamingRelationV2` and introduces the `HasStreamingSourceIdentifyingName` trait to provide a uniform interface for streaming source naming. Key changes: - Added `HasStreamingSourceIdentifyingName` trait in `StreamingSourceIdentifyingName.scala` - Added `sourceIdentifyingName` parameter to `StreamingRelationV2` case class with default value `Unassigned` - Implemented `withSourceIdentifyingName` method to support name propagation - Updated all pattern matches for `StreamingRelationV2` in sql/core to account for new parameter - Updated explain test golden file to include the new parameter in output ## Why are the changes needed? This change lays the groundwork for streaming source evolution by enabling sources to have stable identifying names. The parameter will be used by analyzer rules to assign and propagate names from DataFrame API calls, allowing sources to maintain their checkpoint state even when sources are added, removed, or reordered in a query. ## Does this PR introduce _any_ user-facing change? No. The parameter is added with a default value (`Unassigned`) that maintains backward compatibility. No user-facing APIs are modified. ## How was this patch tested? - Updated ProtoToPlan explain test to verify the parameter appears correctly in explain output - Verified pattern matches compile correctly with the new parameter - All existing tests pass with the new parameter ## Was this patch authored or co-authored using generative AI tooling? No. -- 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]
