Expand description

Threshold planning logic.

The threshold operator produces only rows with a positive cardinality, for example required to provide SQL except and intersect semantics.

We build a plan (ThresholdPlan) encapsulating all decisions and requirements on the specific threshold implementation. The idea is to decouple the logic deciding which plan to select from the actual implementation of each variant available.

Currently, we provide two variants:

  • The BasicThresholdPlan maintains all its outputs as an arrangement. It is beneficial if the threshold is the final operation, or a downstream operators expects arranged inputs.
  • The RetractionsThresholdPlan maintains retractions, i.e. rows that are not in the output. It is beneficial to use this operator if the number of retractions is expected to be small, and if a potential downstream operator does not expect its input to be arranged.

Modules

Nested message and enum types in ProtoArrangement.

Nested message and enum types in ProtoThresholdPlan.

Structs

A plan to maintain all inputs with positive counts.

A plan to maintain all inputs with negative counts, which are subtracted from the output in order to maintain an equivalent collection compared to BasicThresholdPlan.

Enums

A plan describing how to compute a threshold operation.