Selections use Scalar.convertValue given the string value from a selection expression. Unlike other non-numeric strings that will result in a error, "NaN".toDouble does produce a Double.NaN. This is fine in general but not for selections which need to have a well defined ordering. We could arguably handle "foo=NaN", but we can worry about that later, not forgetting that NaN != NaN.
In lieu of standard Operation validation, we could do something in the predicate method. We wouldn't want to simply look for the string "NaN" since it could be a valid value for a text variable.
Related to #305
Selections use Scalar.convertValue given the string value from a selection expression. Unlike other non-numeric strings that will result in a error, "NaN".toDouble does produce a Double.NaN. This is fine in general but not for selections which need to have a well defined ordering. We could arguably handle "foo=NaN", but we can worry about that later, not forgetting that NaN != NaN.
In lieu of standard Operation validation, we could do something in the
predicatemethod. We wouldn't want to simply look for the string "NaN" since it could be a valid value for a text variable.Related to #305