Skip to content

[V1] Function and aggregation improvements for typing and implementations. #1585

Open
@rchowell

Description

A couple of function things..

  • Functions (and aggregations) should be typed on their families rather than specific PTypes.
  • FnSignature (and AggSignature) should be removed in favor of the interface methods.
  • Functions (and aggregations) should have an implementation provider rather than a single invoke method.
  • Use type families rather than PTypes
  • Use a computeReturnType method like Calcite for function typing (massively simplifies PlanType logic...)
    /**
     * TODO REPLACE ME WITH `getInstance(args: Array<PType>)` which returns an invocable instance of this function.
     *
     * Invoke the function with the given arguments. Required.
     *
     * @param args the arguments to the function
     * @return the result of the function
     */
    public fun invoke(args: Array<Datum>): Datum

Metadata

Assignees

Labels

V1This is related to the V1 release of PartiQL.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions