
Type: Bug

Status: Closed

Priority: Major

Resolution: Fixed

Affects Version/s: V4.01_CSD01, V4.0_CSD03

Fix Version/s: V4.01_CSD02

Component/s: URL Conventions

Labels:None

Environment:
Applied

Proposal:

Resolution:
We describe comparison operations with null, but not with NaN, INF and INF.
For NaN IEEE754, says that NaN is unordered and not equal to itself, meaning that NaN compared to anything, including NaN, is false except for != which is true.
This makes sense mathematically; however, this makes it very hard to find all resources with a property value of NaN (we would have to add a separate IsNaN() operator, and comparisons would have to account for this in their expressions). We could say that NaN==NaN, similar to how we say Null==Null to make it easier to search for Null values.
For INF, INF, IEEE754 appears to define INF==INF and INF==INF, so we would have:
INF == INF: True
INF != INF: False
INF < INF: False
INF <= INF: True
INF > INF: False
INF >= INF: True
INF < <valid number>: False
INF <= <valid number>: False
INF > <valid number: True
INF >= <valid number>: True
INF > INF: True
INF == INF: True
INF != INF: False
INF < INF: False
INF <= INF: True
INF > INF: False
INF >= INF: Tru
INF < <valid number>: True
INF <= <valid number>: True
INF > <valid number>: False
INF >= <valid number>: False
INF > INF: False