Timestamps used as map fields can overflow
Issue #24
new
The issue is that integer map fields are signed but timestamps are not, so large timestamp values will overflow the type and change the sign. This can be seen in the following code
C :- A before B map { ts1 -> A.end, ts2 -> B.begin }
If A.end = 1515429917347 then ts1 = -693538141
Comments (1)
-
reporter - Log in to comment
I think the right way to fix this is to add a timestamp type to the map, which is a pretty major endeavor since it has repercussions all over the DSL. However, I don’t think there is a better solution that still supports copying timestamps to map fields.