Skip to content

[bug][multistage] IN/NOT_IN function issue #12035

@walterddr

Description

@walterddr

IN and NOT_IN operation has several caveats

  1. it can be compiled into Sarg range search for example
    • floatField NOT IN (3, 5) --> Sarg{(-INF, 3) OR (3, 5) OR (5, +INF)}
    • intField IN(1,2,3,4,10,11) --> Sarg{[1,4] OR [10,11]}
  2. it should be compiled without range search as non-range operation (just IN(field, literal_array) and NOT_IN(field, literal_array))
    • currently it is not possible b/c SqlToRelConverter will always convert it into or. see: SqlToRelConverter#convertInToOr

Because --> not all range searches are efficient in Pinot, this post a problem

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugmulti-stageRelated to the multi-stage query engine

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions