<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>