jzhuge opened a new pull request, #59743: URL: https://github.com/apache/spark/pull/59743
### What changes were proposed in this pull request? Add `spark.sql.extensions.defaultList`, a static SQL conf whose value is always prepended to the user-provided `spark.sql.extensions` list, mirroring `spark.plugins.defaultList` from SPARK-29397. Implemented as an unregistered config name handled by `ConfigBuilder.withPrepended` (same pattern as the plugins default list), so no new registered ConfigEntry is created. ### Why are the changes needed? Platform or cluster operators often need a set of SparkSessionExtensions active for every application, but a user-supplied `spark.sql.extensions` value replaces the operator's value, silently dropping operator extensions. This config lets operators guarantee a baseline set of extensions while users still add their own. Proposal: https://issues.apache.org/jira/browse/SPARK-60483 ### Does this PR introduce _any_ user-facing change? Yes, a new static SQL config `spark.sql.extensions.defaultList` (empty by default). Behavior is unchanged when it is not set. ### How was this patch tested? New unit tests in `SparkSessionExtensionSuite`: - default list applied ahead of user-specified extensions - default list honored when user-specified `spark.sql.extensions` is unset - an extension listed in both configs is applied twice (no dedup, consistent with `spark.plugins.defaultList` semantics) ### Generated-by This PR was drafted with AI assistance (Aimee) on behalf of John Zhuge. -- 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]
