> I also later found that we are missing not only notion of '+' or '-', > but also notion of 'zero value' in our catalog. Per spec, RANGE BETWEEN > needs to detect ERROR if the offset value is negative, but it is not > always easy if you think about interval, numeric types as opposed to > int64 used in ROWS BETWEEN.
Zero can be tested for with `val = (@ val)` ie `val = abs(val)`. That should make sense for any type in which the concept of zero makes sense.
Yeah, I mean, it needs to know if offset is negative or not by testing with zero. So we need "zero value" or "is_negative function" for each type.