diff options
author | Fujii Masao <fujii@postgresql.org> | 2020-11-12 11:26:55 +0900 |
---|---|---|
committer | Fujii Masao <fujii@postgresql.org> | 2020-11-12 11:26:55 +0900 |
commit | b62e6056a05c60ce9edf93e87e1487ae50245a04 (patch) | |
tree | 4918dec839ecce30ecc983147e9ae5267c723c33 /contrib/pg_stat_statements/pg_stat_statements.c | |
parent | 03f9cd93eaa5e3385b075bb1a17d2adde3e23edd (diff) | |
download | postgresql-b62e6056a05c60ce9edf93e87e1487ae50245a04.tar.gz postgresql-b62e6056a05c60ce9edf93e87e1487ae50245a04.zip |
pg_stat_statements: track number of rows processed by REFRESH MATERIALIZED VIEW.
Commit 6023b7ea71 allowed pg_stat_statements to track the number
of rows retrieved or affected by some utility commands including
CREATE MATERIALIZED VIEW. However it did not track the rowcount
of REFRESH MATERIALIZED VIEW. This commit allows pg_stat_statements
to track that.
To track that, this commit changes the query completion for
REFRESH MATERIALIZED VIEW so that it saves the rowcount. But note that
the rowcount is still not displayed in the command completion tag output.
That is, 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.
Author: Katsuragi Yuta, Seino Yuki
Reviewed-by: Fujii Masao
Discussion: https://postgr.es/m/71f6bc72f8bbaa06e701f8bd2562c347@oss.nttdata.com
Discussion: https://postgr.es/m/aadbfba9-e4bb-9531-6b3a-d13c31c8f4fe@oss.nttdata.com
Diffstat (limited to 'contrib/pg_stat_statements/pg_stat_statements.c')
-rw-r--r-- | contrib/pg_stat_statements/pg_stat_statements.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/contrib/pg_stat_statements/pg_stat_statements.c b/contrib/pg_stat_statements/pg_stat_statements.c index 1eac9edaee7..dd963c4644a 100644 --- a/contrib/pg_stat_statements/pg_stat_statements.c +++ b/contrib/pg_stat_statements/pg_stat_statements.c @@ -1171,13 +1171,14 @@ pgss_ProcessUtility(PlannedStmt *pstmt, const char *queryString, INSTR_TIME_SUBTRACT(duration, start); /* - * Track the total number of rows retrieved or affected by - * the utility statements of COPY, FETCH, CREATE TABLE AS, - * CREATE MATERIALIZED VIEW and SELECT INTO. + * Track the total number of rows retrieved or affected by the utility + * statements of COPY, FETCH, CREATE TABLE AS, CREATE MATERIALIZED + * VIEW, REFRESH MATERIALIZED VIEW and SELECT INTO. */ rows = (qc && (qc->commandTag == CMDTAG_COPY || qc->commandTag == CMDTAG_FETCH || - qc->commandTag == CMDTAG_SELECT)) ? + qc->commandTag == CMDTAG_SELECT || + qc->commandTag == CMDTAG_REFRESH_MATERIALIZED_VIEW)) ? qc->nprocessed : 0; /* calc differences of buffer counters. */ |