Skip to content

Missing parameter machinery for MultiRange input types #1304

@scotttrinh

Description

@scotttrinh

We do not currently support building a parameterized query with MultiRange input types.

    const query = e.params(
      { in_range: e.multirange(e.datetime) },
      (params) => {
        return e.select(
          e.op(e.datetime_current(), ">", params.in_range)
        );
      }
    );

Gives the type error:

Type 'multirangeλFuncExpr<TypeSet<ArrayType<RangeType<$anypoint, "range<std::number>" | "range<cal::local_date>" | "range<std::datetime>" | "range<std::duration>" | "range<std::decimal>" | "range<cal::local_datetime>">, "array<range<std::number>>" | ... 4 more ... | "array<range<cal::local_datetime>>">, Cardinality>>' is not assignable to type 'Param'.
  Type 'multirangeλFuncExpr<TypeSet<ArrayType<RangeType<$anypoint, "range<std::number>" | "range<cal::local_date>" | "range<std::datetime>" | "range<std::duration>" | "range<std::decimal>" | "range<cal::local_datetime>">, "array<range<std::number>>" | ... 4 more ... | "array<range<cal::local_datetime>>">, Cardinality>>' is not assignable to type 'ScalarType<string, any, any, any> | EnumType<string, [string, ...string[]]> | TupleType<tupleOf<ParamType>> | NamedTupleType<{ [k: string]: ParamType; }>'.
    Property '__shape__' is missing in type 'multirangeλFuncExpr<TypeSet<ArrayType<RangeType<$anypoint, "range<std::number>" | "range<cal::local_date>" | "range<std::datetime>" | "range<std::duration>" | "range<std::decimal>" | "range<cal::local_datetime>">, "array<range<std::number>>" | ... 4 more ... | "array<range<cal::local_datetime>>">, Cardinality>>' but required in type 'NamedTupleType<{ [k: string]: ParamType; }>'.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions