<div dir="ltr"><div dir="ltr">On Fri, Oct 31, 2025 at 12:01 AM Stuart Marks <<a href="mailto:stuart.marks@oracle.com">stuart.marks@oracle.com</a>> wrote:</div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

  
  <div><p>Unfortunately the CatalogImpl object is mutated to hold temporary
      state that's used during the resolution process. This temporary
      state doesn't really belong in the object itself, so it seems
      likely that a fix would involve refactoring this temporary state
      out of the Catalog itself into an object owned by some resolver
      object (or similar).</p></div></blockquote><div>This reminds me of a similar situation with the XML DOM classes like <span style="font-family:monospace">org.w3c.dom.Element</span>: instances are not thread safe even if the threads are only accessing them read-only. This was surprising to me to discover at the time.</div><div><br></div><div>Be careful out there! :)</div><div><br></div>-Archie</div><div class="gmail_quote gmail_quote_container"><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Archie L. Cobbs<br></div></div>