| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Peter Geoghegan <peter(at)2ndquadrant(dot)com> |
| Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, PG Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Re: pg_stat_statements normalisation without invasive changes to the parser (was: Next steps on pg_stat_statements normalisation) |
| Date: | 2012-04-09 15:18:43 |
| Message-ID: | 6185.1333984723@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Peter Geoghegan <peter(at)2ndquadrant(dot)com> writes:
> Having taken another look at the code, I wonder if we wouldn't have
> been better off just fastpathing out of pgss_store in the first call
> (in a pair of calls made by a backend as part an execution of some
> non-prepared query) iff there is already an entry in the hashtable -
> after all, we're now going to the trouble of acquiring the spinlock
> just to increment the usage for the entry by 0 (likewise, every other
> field), which is obviously superfluous. I apologise for not having
> spotted this before submitting my last patch.
On reflection, we can actually make the code a good bit simpler if
we push the responsibility for initializing the usage count correctly
into entry_alloc(), instead of having to fix it up later. Then we
can just skip the entire adjust-the-stats step in pgss_store when
building a sticky entry. See my commit just now.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Robert Haas | 2012-04-09 15:32:00 | Re: pg_prewarm |
| Previous Message | Tom Lane | 2012-04-09 13:59:28 | Re: Potential for bugs while using COPY_POINTER_FIELD to copy NULL pointer |