Re: enable pg_stat_statements to track rows processed by REFRESH MATERIALIZED VIEW

From: Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>
To: Seino Yuki <seinoyu(at)oss(dot)nttdata(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: enable pg_stat_statements to track rows processed by REFRESH MATERIALIZED VIEW
Date: 2020-11-10 08:29:22
Message-ID: b07129b6-b211-8d48-f328-e2e517d97e1c@oss.nttdata.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2020/11/05 23:54, Seino Yuki wrote:
> 2020-11-02 20:01 に Fujii Masao さんは書きました:
>> On 2020/11/02 14:02, Yuki Seino wrote:
>>> The following review has been posted through the commitfest application:
>>> make installcheck-world:  tested, passed
>>> Implements feature:       tested, passed
>>> Spec compliant:           tested, passed
>>> Documentation:            tested, passed
>>>
>>> +1.
>>> I checked the patch and there were no problems.
>>
>> +        PG_END_TRY();
>> +        SetQueryCompletion(qc, CMDTAG_REFRESH_MATERIALIZED_VIEW, processed);
>>
>> Isn't it better to call SetQueryCompletion() in ExecRefreshMatView()
>> instead of ProcessUtilitySlow() (e.g., ExecCreateTableAs() does)?
>>
>> Regards,
>
>
> Sorry. I missed it.
> I've incorporated your point into this patch.
> So the changes to "matview.h" and "utility.c" have been canceld.
>
> We also confirmed that the new patch passed the regression test.

Thanks for updating the patch!

+ /* save the rowcount if we're given a qc to fill */
+ SetQueryCompletion(qc, CMDTAG_REFRESH_MATERIALIZED_VIEW, processed);

I added the check "if (qc)" into the above. I also added the following
comments about that we don't display the rowcount in the command
completion tag output though we save it in qc. There is the discussion
related to this topic, at [1]. Thought?

+ * Save the rowcount so that pg_stat_statements can track the total number
+ * of rows processed by REFRESH MATERIALIZED VIEW command. Note that we
+ * still don't display the rowcount in the command completion tag output,
+ * i.e., the display_rowcount flag of CMDTAG_REFRESH_MATERIALIZED_VIEW
+ * command tag is left false in cmdtaglist.h. Otherwise, the change of
+ * completion tag output might break applications using it.

Attached is the updated version of the patch.
Barring no objection, I will commit that.

Regards,

[1]
https://postgr.es/m/aadbfba9-e4bb-9531-6b3a-d13c31c8f4fe@oss.nttdata.com

--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION

Attachment Content-Type Size
pg_stat_statements_mt_refresh_v3.patch text/plain 4.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andreas Karlsson 2020-11-10 08:50:15 Re: Prefer TG_TABLE_NAME over TG_RELNAME in tests
Previous Message Tatsuro Yamada 2020-11-10 08:12:19 Re: list of extended statistics on psql