detached
A lookup on the same database with no session behind it.
TypeLookup.catalog reads live, as it does here, but nothing holds the connection this one was reached through - which is what makes it safe to keep past the session that handed it out. The catalog is one object per database, so what it reads is what every session on that database reads.
It has no search path of its own, so TypeLookup.resolveOid on it resolves only fully qualified names. For reading registrations, which is what something outliving a session wants it for.