Re: REFRESH MATERIALIZED VIEW and completion tag output
Mark Dilger <mark.dilger@enterprisedb.com>
From: Mark Dilger <mark.dilger@enterprisedb.com>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-11-06T05:07:27Z
Lists: pgsql-hackers
> On Nov 5, 2020, at 4:45 PM, Fujii Masao <masao.fujii@oss.nttdata.com> wrote: > > > > On 2020/11/06 1:56, Mark Dilger wrote: >>> On Nov 5, 2020, at 8:20 AM, Fujii Masao <masao.fujii@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
Commits
-
pg_stat_statements: track number of rows processed by REFRESH MATERIALIZED VIEW.
- b62e6056a05c 14.0 landed