Skip to content

[SPARK-54810] Path#54869

Open
srielau wants to merge 42 commits intoapache:masterfrom
srielau:SPARK-54810-path
Open

[SPARK-54810] Path#54869
srielau wants to merge 42 commits intoapache:masterfrom
srielau:SPARK-54810-path

Conversation

@srielau
Copy link
Contributor

@srielau srielau commented Mar 17, 2026

What changes were proposed in this pull request?

Support SQL Standard

  • SET PATH
  • CURRENT_PATH()

SPARK-54810-path-plan.md

Why are the changes needed?

Give users control over the order in which to resolev objecst in different schemas.

Does this PR introduce any user-facing change?

Yes, this is a new feature

How was this patch tested?

Added a new test suite

Was this patch authored or co-authored using generative AI tooling?

Yes, Claude Opus 4.6 high

srielau and others added 30 commits March 11, 2026 22:07
Remove dropFunctionsInDatabase and DROP DATABASE registry clearing from
this branch; they live on SPARK-55964-cache-coherence. This branch
keeps only system-catalog priority / resolution-order changes.
…tifiers.scala

Co-authored-by: Wenchen Fan <cloud0fan@gmail.com>
…log/SessionCatalog.scala

Co-authored-by: Wenchen Fan <cloud0fan@gmail.com>
…ixin

- normalizeFuncName asserts fully qualified 3-part identifiers and lowercases all parts
- BuiltinRegistryMixin lets builtin/internal registries accept simple names
- Simplify resolutionCandidates: flat if/else, no inline qualification
- Rename resolveQualifiedFunction -> resolveFunctionCandidate
- Remove namespaceToIdentifier, TEMP_FUNCTION_DB; reuse SESSION_NAMESPACE_TEMPLATE
- identifierFromSystemNameParts reuses FunctionResolution.sessionNamespaceKind
- Simplify listBuiltinAndTempFunctions, isBuiltinFunction(String)
- SparkSessionExtensions: only register 1-part names for backward compatibility

Co-authored-by: Isaac
srielau and others added 6 commits March 17, 2026 18:20
…patibility

The function registry requires fully qualified (3-part: catalog.database.funcName)
identifiers. Update 'fork new session and inherit function registry and udf' test
to use tempFuncId with SYSTEM_CATALOG_NAME and SESSION_NAMESPACE so dropFunction
and lookupFunction receive 3-part identifiers.
…ysis/FunctionResolution.scala

Co-authored-by: Wenchen Fan <cloud0fan@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants