Closed nigoroll closed 5 months ago
It looks to me like this might be related to use of SF_Parse_Decimal() since 05e10eee3076e4c416ebd460cfa70f4fa8fcdb67.
Questions:
Are structured field semantics a good fit for vsl queries?
Even if they were, is the behavior correct? Do I understand correctly that according to RFC8941, three digits of the fractional component should be significant without any rounding involved? It looks to me like, in the example, 84.677 got rounded to 84.678 ?
Edit: I was wrong in the above. In the example, both Numbers 84.677353 and 84.677 get rounded to 84.677, such that >
evaluates to false.
In retrospect, SF_Parse_Decimal() is too brutal for delta-T values in VSL records.
from 1:1 conversation with phk: we should probably just use strtod()
in vsl
Expected Behavior
Comparisons involving floats should behave as documented:
Current Behavior
Comparisons fail in unexpected ways
OK:
not OK:
Possible Solution
No response
Steps to Reproduce (for bugs)
No response
Context
Varnish Cache version
No response
Operating system
No response
Source of binary packages used (if any)
No response