From: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
---|---|
To: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: psql \watch versus \timing |
Date: | 2014-08-18 07:12:11 |
Message-ID: | CAHGQGwHajztbvLd7ERUWorYDdPO3Jg8CqHgbxPeaGpGAa-RBag@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Aug 18, 2014 at 3:19 PM, Michael Paquier
<michael(dot)paquier(at)gmail(dot)com> wrote:
> On Thu, Aug 14, 2014 at 11:10 PM, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
>> Attached patch changes \watch so that it displays how long the query takes
>> if \timing is enabled.
>>
>> I didn't refactor PSQLexec and SendQuery into one routine because
>> the contents of those functions are not so same. I'm not sure how much
>> it's worth doing that refactoring. Anyway this feature is quite useful
>> even without that refactoring, I think.
>
> The patch applies correctly and it does correctly what it is made for:
> =# \timing
> Timing is on.
> =# select 1;
> ?column?
> ----------
> 1
> (1 row)
> Time: 0.407 ms
> =# \watch 1
> Watch every 1s Mon Aug 18 15:17:41 2014
> ?column?
> ----------
> 1
> (1 row)
> Time: 0.397 ms
> Watch every 1s Mon Aug 18 15:17:42 2014
> ?column?
> ----------
> 1
> (1 row)
> Time: 0.615 ms
>
> Refactoring it would be worth it thinking long-term... And printing
> the timing in PSQLexec code path is already done in SendQuery, so
> that's doing two times the same thing IMHO.
>
> Now, looking at the patch, introducing the new function
> PSQLexecInternal with an additional parameter to control the timing is
> correct choosing the non-refactoring way of doing. But I don't think
> that printing the time outside PSQLexecInternal is consistent with
> SendQuery. Why not simply control the timing with a boolean flag and
> print the timing directly in PSQLexecInternal?
Because the timing needs to be printed after the query result.
Regards,
--
Fujii Masao
From | Date | Subject | |
---|---|---|---|
Next Message | 土卜皿 | 2014-08-18 07:42:05 | how to understand these macro defines such as ObjectIdAttributeNumber in sysattr.h? |
Previous Message | Michael Paquier | 2014-08-18 07:01:01 | Re: pg_receivexlog and replication slots |