Vitaly Burovoy <vitaly.burovoy@gmail.com> writes:
>> I've written a patch which fixes that bug (in attachment).
>> Should it be registered in the CF?
> Oops. Forgot to attach the patch. Fixed.
I suspect that many of these SAMESIGN() tests you've added are not
actually adequate/useful. That's only sufficient when the output could be
at most a factor of 2 out-of-range. If it could overflow past the sign
bit then you need to work harder.
(By the same token, the existing SAMESIGN test in interval2tm is
wrong.)
Possibly we should consider alternatives before plowing ahead in this
direction, since adding guards to interval_in and interval computations
doesn't help with oversize values that are already stored in a database.
We could think about replacing interval2tm's output format with some
other struct that uses a TimeOffset for hours and so cannot overflow.
I'm not sure though how far the effects would propagate; it might be
more work than we want to put into this.
regards, tom lane