Bruce Momjian <pgman@candle.pha.pa.us> writes: > OK, I have a new patch, which simplifies the code by using > TrimTrailingZeros(), gives more consistent subsecond display, and > subpresses the rounding problem:
Does anyone have any idea why the existing code is designed to keep the number of displayed fractional digits even? It seems a bit silly to me too, but we probably ought not remove what was clearly an intentional behavior without understanding why it was intentional. Also, I will point out once more that the problem is not "we only have nine digits of precision not ten". The problem is that the precision degrades as the interval gets larger. regression=# select '20 days 15 hours 57 mins 12.1 secs ago'::interval; interval ------------------------------- -20 days -15:57:12.1000000001 (1 row) regression=# select '100020 days 15 hours 57 mins 12.1 secs ago'::interval; interval ----------------------------------- -100020 days -15:57:12.1000003815 (1 row) regression=# select '100000020 days 15 hours 57 mins 12.1 secs ago'::interval; interval ------------------------------------- -100000020 days -15:57:12.099609375 (1 row) regression=# Without accounting for that fundamental fact, you will not have a solution, only a kluge. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])