> On Nov 5, 2020, at 4:45 PM, Fujii Masao <masao.fu...@oss.nttdata.com> wrote:
> 
> 
> 
> On 2020/11/06 1:56, Mark Dilger wrote:
>>> On Nov 5, 2020, at 8:20 AM, Fujii Masao <masao.fu...@oss.nttdata.com> wrote:
>>> 
>>> The patch that makes pg_stat_statements track the number of rows that
>>> REFRESH MATERIALIZED VIEW command processes was proposed at [1].
>>> When reviewing the patch, I just wondered why the completion tag output
>>> for REFRESH MATERIALIZED VIEW doesn't include the row count. Is this
>>> an intentional behavior? I've not found the past discussion about this yet.
>> Of 191 command tags, only 7 return the number of rows.  See 
>> src/include/tcop/cmdtaglist.h.  REFRESH MATERIALIZED VIEW is similar to 
>> CREATE MATERIALIZED VIEW and also CREATE TABLE AS, which also do not return 
>> the row count.
> 
> Yes, so I was wondering if REFRESH MATERIALIZED VIEW also should use
> CMDTAG_SELECT like CREATE MATERIALIZED VIEW does.

For both CREATE MATERIALIZED VIEW and CREATE TABLE AS, ExecCreateTableAs() does:

  SetQueryCompletion(qc, CMDTAG_SELECT, queryDesc->estate->es_processed);

but ExecRefreshMatView() does nothing with it's QueryCompletion parameter.   I 
don't know why this case should behave differently than the other two.

—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company





Reply via email to