[PATCH] pg_stat_statements dealloc field ignores manual deallocation - Mailing list pgsql-hackers

From Андрей Зубков
Subject [PATCH] pg_stat_statements dealloc field ignores manual deallocation
Date
Msg-id 9fc0ff02b9b6f12e92657e594d32c997aa8a13cb.camel@moonset.ru
Whole thread Raw
Responses Re: [PATCH] pg_stat_statements dealloc field ignores manual deallocation
List pgsql-hackers
Hi,

This is a proposal of a patch for pg_stat_statements extension. It
corrects deallocation events accounting.

Since 2e0fedf there is a view pg_stat_statements_info is available in
pg_stat_statements extension. It has a dealloc field, that should be a
counter of deallocation events happened.
Right now it accounts only automatic deallocation events, happened when
we need a place for a new statement, but manual deallocation events
caused by pg_stat_statements_reset() function for some subset of
collected statements is not accounted.
My opinion is that manual deallocation is a deallocation too and it
must be accounted in dealloc field of pg_stat_statements_info view.

Let's see how it happens:

postgres=# select pg_stat_statements_reset();
postgres=# select 1;
 ?column?
----------
        1
(1 row)
postgres=# select dealloc from pg_stat_statements_info ;
 dealloc
---------
       0
(1 row)

postgres=# select pg_stat_statements_reset(userid,dbid,queryid)
postgres-# from pg_stat_statements where query = 'select $1';
 pg_stat_statements_reset
--------------------------

(1 row)

postgres=# select dealloc from pg_stat_statements_info ;
 dealloc
---------
       0  -- Here must be a one now, as deallocation happened
(1 row)

This patch adds accounting of manual deallocation events.

-- 
Andrei Zubkov
Postgres Professional
The Russian Postgres Company

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Allow an alias to be attached directly to a JOIN ... USING
Next
From: David Steele
Date:
Subject: Re: support for MERGE