ne 23. 1. 2022 v 9:10 odesÃlatel Julien Rouhaud <rjuju...@gmail.com> napsal:
> Hi, > > On Fri, Jan 21, 2022 at 09:23:34PM +0100, Pavel Stehule wrote: > > > > I am sending updated patches > > I've been looking a bit deeper at the feature and I noticed that there's no > locking involved around the session variable usage, and I don't think > that's > ok. AFAICS any variable used in a session will be cached in the local hash > table and will never try to access some catalog or cache, so I don't have > any > naive scenario that would immediately crash, but this has some other > implications that seems debatable. > > For instance, right now nothing prevents a variable from being dropped > while > another session is using it. > > Obviously we can't lock a session variable forever just because a session > assigned a value once ages ago, especially outside of the current > transaction. > But if a session set a variable in the local transaction, I don't think > that > it's ok to have a subsequent query failing because someone else > concurrently > dropped the variable. > > I only backlogged this current thread but I didn't see that being > discussed. > Isn't there enough stability of the system cache? sinval is sent at the moment when changes in the system catalog are visible. So inside query execution I don't see that the variable was dropped in another session.