Hi,

On 2018-07-30 16:59:16 +0900, Michael Paquier wrote:
> +     /*
> +      * Mark MyProc as owning this namespace which other processes can use to
> +      * decide if a temporary namespace is in use or not. Even if this is an
> +      * atomic operation, this can be safely done lock-less as no temporary
> +      * relations associated to it can be seen yet if scanning pg_class.
> +      */
> +     MyProc->tempNamespaceId = namespaceId;

I can't parse this. "Even if this is an atomic operation, this can be
safely done lock-less" - that seems like a contradictory sentence. Is
there a "not" missing?

Also, this seems like insufficient reasoning. What guarantees the
visibility of the flag? You're going to have to talk about externally
implied memory ordering here.  Or add explicit barriers - the latter is
probably preferrable.

Greetings,

Andres Freund

Reply via email to