Hi,
On 2023-03-25 11:56:22 +0900, Michael Paquier wrote:
> On Thu, Mar 16, 2023 at 02:13:45PM +0100, Drouvot, Bertrand wrote:
> > On 3/16/23 12:46 PM, Michael Paquier wrote:
> >>> I don't think we should pay any particular attention to those 2 ones
> >>> as anyway nothing prevent the 7 others to be called outside of the
> >>> pg_stat_xact_all_tables view.
> >>
> >> I am not quite sure, TBH. Did you look at the difference with a long
> >> chain of subtrans, like savepoints? The ODBC driver "loves" producing
> >> a lot of savepoints, for example.
> >
> > No, I did not measure the impact.
>
> I have been thinking again about this particular point, and I would be
> fine with an additional boolean flag to compute the subtrans data in
> the global counter when only necessary. This would not make the
> macros for the stat functions that much more complicated, while being
> sure that we don't do unnecessary computations when we know that we
> don't need them..
I don't understand what we're optimizing for here. These functions are very
very very far from being a hot path. The xact functions are barely ever
used. Compared to the cost of query evaluation the cost of iterating throught
he subxacts is neglegible.
Greetings,
Andres Freund