Re: \timing interval - Mailing list pgsql-hackers
From | Corey Huinker |
---|---|
Subject | Re: \timing interval |
Date | |
Msg-id | CADkLM=cdWod1M_2_8H1PjPxxF0qZ+-prmrs2BTT8Y6nbyXUhUw@mail.gmail.com Whole thread Raw |
In response to | Re: \timing interval (Tom Lane <tgl@sss.pgh.pa.us>) |
Responses |
Re: \timing interval
|
List | pgsql-hackers |
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Sep 1, 2016 at 2:43 PM, Tom Lane <span dir="ltr"><<ahref="mailto:tgl@sss.pgh.pa.us" target="_blank">tgl@sss.pgh.pa.us</a>></span> wrote:<br /><blockquoteclass="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><spanclass="gmail-">I wrote:<br /> > Sorry, that probably added no clarity at all,I was confusing<br /> > seconds with milliseconds in the example values :-(<br /><br /></span>After a bit of furtherfooling with sample values, I propose this<br /> progression:<br /><br /> Time: 0.100 ms<br /> Time: 1.200 ms<br />Time: 1001.200 ms (0:01.001)<br /> Time: 12001.200 ms (0:12.001)<br /> Time: 60001.200 ms (1:00.001)<br /> Time: 720001.200ms (12:00.001)<br /> Time: 3660001.200 ms (1:01:00.001)<br /> Time: 43920001.200 ms (12:12:00.001)<br /> Time:176460001.200 ms (2 01:01:00.001)<br /> Time: 216720001.200 ms (2 12:12:00.001)<br /> Time: 10000000000000000000.000ms (115740740740 17:46:40.000)<br /><br /> Note that times from 1 second to 1 hour all get the nn:nn.nnn<br/> treatment. I experimented with these variants for sub-minute times:<br /><br /> Time: 1001.200 ms (1.001)<br/> Time: 12001.200 ms (12.001)<br /> Time: 1001.200 ms (1.001 s)<br /> Time: 12001.200 ms (12.001 s)<br /><br />but it seems like the first variant is not terribly intelligible and<br /> the second variant is inconsistent with whathappens for longer times.<br /> Adding a zero minutes field is a subtler way of cueing the reader that<br /> it's mm:ss.<br/><br /> regards, tom lane<br /></blockquote></div><br />Well, if we're looking to be consistent,here's what interval does now:<br /><br /><div class="gmail_extra"><span style="font-family:monospace,monospace">#select '1 second 1 millisecond'::interval, '1 minute 2 milliseconds'::interval,'1 hour 30 milliseconds'::interval, '1 day 1 hour 999 milliseconds'::interval, '1 week 1 day 1 hour'::interval;</span><br/></div><div class="gmail_extra"><font face="monospace, monospace"><div class="gmail_extra"> interval | interval | interval | interval | interval</div><div class="gmail_extra">--------------+--------------+-------------+--------------------+-----------------</div><div class="gmail_extra"> 00:00:01.001| 00:01:00.002 | 01:00:00.03 | 1 day 01:00:00.999 | 8 days 01:00:00</div><div class="gmail_extra">(1row)</div><br /></font><br />Should we just plug into whatever code that uses? It's slightly different:<br/><br /><div class="gmail_extra"><font face="monospace, monospace"># select interval '10000000000000000000.001milliseconds'::interval;</font></div><div class="gmail_extra"><font face="monospace, monospace">ERROR: interval field value out of range: "10000000000000000000.001 milliseconds"</font></div><div class="gmail_extra"><fontface="monospace, monospace">LINE 1: select interval '10000000000000000000.001 milliseconds'::int...</font></div><divclass="gmail_extra"><font face="monospace, monospace"> ^</font></div><divclass="gmail_extra"><font face="monospace, monospace"># select interval '216720001.200 milliseconds';</font></div><divclass="gmail_extra"><font face="monospace, monospace"> interval</font></div><div class="gmail_extra"><fontface="monospace, monospace">---------------</font></div><div class="gmail_extra"><font face="monospace,monospace"> 60:12:00.0012</font></div><div class="gmail_extra"><font face="monospace, monospace">(1 row)</font></div><divclass="gmail_extra"><font face="monospace, monospace"><br /></font></div><div class="gmail_extra"><fontface="monospace, monospace"># select interval '176460001.200 ms';</font></div><div class="gmail_extra"><fontface="monospace, monospace"> interval</font></div><div class="gmail_extra"><font face="monospace,monospace">---------------</font></div><div class="gmail_extra"><font face="monospace, monospace"> 49:01:00.0012</font></div><divclass="gmail_extra"><font face="monospace, monospace">(1 row)</font></div><br /></div></div></div>
pgsql-hackers by date: