Skip to content

[DRAFT, EPIC] Full lambda support #21172

@gstvg

Description

@gstvg

Some features haven't been implement and other pulled out from #18921 to keep it from getting too large (>4k LOC) and should be implemented in follow on PR's:

Major features:

  • Column capture support, as well as variable capture from outer lambdas
  • array_transform index parameter
  • Substrait producing and consuming
  • Making logical LambdaVariable field optional to make it easier for expr_api users
  • Protobuf support

Minor features:

  • Named parameters like ScalarUDF already supports: func(a => 3)
  • Expr simplifier optimizations for LambdaVariable
  • AliasedLambdaUDF to add more aliases to an existing LambdaUDF
  • Optional ScalarUDFImpl methods not present on LambdaUDF(some are unlikely to be used and could be added on demand only):
    • simplify
    • with_updated_config
    • preimage
    • placement
    • evaluate_bounds
    • propagate_constraints
    • output_ordering
    • preserves_lex_ordering

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions