On Mon, Dec 13, 2010 at 3:19 AM, Greg Smith <g...@2ndquadrant.com> wrote: > Robert Haas wrote: >> >> I'm wondering why md.c is converting the results from an exact value to a >> floating >> point, only to have xlog.c turn around and convert back to an integer. >> I think it could just return milliseconds directly, or if you're >> worried about a checkpoint that takes more than 24 days to complete, >> seconds and microseconds. > > md.c is printing the value as a float, so I converted early to a double and > then percolated it upward from there. More an artifact of how the code grew > from its initial form than an intentional decision. I see your point that > making elapsed, total_elapsed, ckpt_agg_sync_time, and ckpt_longest_sync all > the same type of integer that INSTR_TIME_GET_MICROSEC returns would reduce > the potential for rounding abberations. I could do another rev of the patch > tomorrow with that change if you'd prefer it that way. I don't have a > strong opinion about that implementation detail; given that xlog.c is > printing a less fine-grained time anyway (seconds with 3 digits vs. msec > with 3 digits) it seems unlikely to run into a real problem here.
Yeah, it'd probably be OK anyway, but I think it doesn't really cost us anything to avoid the unnecessary conversion steps, so count me as a vote for doing it that way. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers