Skip to content

Conversation

@kyleconroy
Copy link
Collaborator

Add support for parsing user-defined type property access syntax (e.g., t::a, (c1).SomeProperty) with optional COLLATE clause, and basic OVER clause support for window functions.

Key changes:

  • Add UserDefinedTypePropertyAccess AST type for UDT property access
  • Add OverClause AST type to FunctionCall
  • Handle :: syntax for property access (not just method calls)
  • Parse chained property access via ExpressionCallTarget
  • Parse COLLATE clause on property access expressions
  • Parse ALL/DISTINCT modifiers in function calls
  • Add JSON marshaling for new types

Enables tests:

  • Baselines100_ExpressionTests100
  • ExpressionTests100

Add support for parsing user-defined type property access syntax
(e.g., t::a, (c1).SomeProperty) with optional COLLATE clause, and
basic OVER clause support for window functions.

Key changes:
- Add UserDefinedTypePropertyAccess AST type for UDT property access
- Add OverClause AST type to FunctionCall
- Handle :: syntax for property access (not just method calls)
- Parse chained property access via ExpressionCallTarget
- Parse COLLATE clause on property access expressions
- Parse ALL/DISTINCT modifiers in function calls
- Add JSON marshaling for new types

Enables tests:
- Baselines100_ExpressionTests100
- ExpressionTests100
@kyleconroy kyleconroy merged commit 5690b37 into main Dec 23, 2025
1 check passed
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.

3 participants