st 13. 11. 2024 v 15:24 odesÃlatel Laurenz Albe <laurenz.a...@cybertec.at> napsal:
> Thanks for the updated patch set. > > Here is my review of patch 0005: > > > --- a/src/backend/access/transam/xact.c > > +++ b/src/backend/access/transam/xact.c > > +#include "commands/session_variable.h" > > You probably forgot to move that to the patch for temporary variables. > I did that. > +1 > > --- a/src/backend/commands/session_variable.c > > +++ b/src/backend/commands/session_variable.c > > @@ -83,6 +92,19 @@ static HTAB *sessionvars = NULL; /* hash table for > session variables */ > > > > static MemoryContext SVariableMemoryContext = NULL; > > > > +/* true after accepted sinval message */ > > +static bool needs_validation = false; > > + > > +/* > > + * The content of session variables is not removed immediately. When it > > + * is possible we do this at the transaction end. But when the > transaction failed, > > + * we cannot do it, because we lost access to the system catalog. So we > > + * try to do it in the next transaction before any get or set of any > session > > + * variable. We don't want to repeat this opening cleaning in > transaction, > > + * So we store the id of the transaction where opening validation was > done. > > + */ > > +static LocalTransactionId validated_lxid = InvalidLocalTransactionId; > > I have moved the reference to the transaction end to the temporary variable > patch. > +1 > I have gone over the comments in patch 0005 and 0006. > I hope I got everything right. Attached is an updated patch set. > Thank you Pavel > > Yours, > Laurenz Albe >