DValue is an enum that can represent any of the supported data types.
It is based on serde_json::Number, which comes with the limitation
that it cannot represent infinities or NaN values. Need to determine
whether this is an issue.
Missing is an enum that represents the missing data value(s).
When used in RequestData the type parameter T is DValue, allowing any
dtype to be represented. When used in numeric calculations, the type
parameter T is a primitive numeric type, i32, u64, etc.
Each supported operation (count, sum etc.) now supports missing data.
Typically there is a separate code path for this, because the filter
condition slows down the calculation significantly.
Adds support for specifying missing data in multiple ways:
Currently these are mutually exclusive - exactly one must be used.
This change passes the compliance tests in https://github.com/stackhpc/s3-active-storage-compliance-suite/pull/17.
Two new types are introduced:
DValue is an enum that can represent any of the supported data types. It is based on serde_json::Number, which comes with the limitation that it cannot represent infinities or NaN values. Need to determine whether this is an issue.
Missing is an enum that represents the missing data value(s).
When used in RequestData the type parameter T is DValue, allowing any
dtype to be represented. When used in numeric calculations, the type
parameter T is a primitive numeric type, i32, u64, etc.
Each supported operation (count, sum etc.) now supports missing data. Typically there is a separate code path for this, because the filter condition slows down the calculation significantly.