4.9. The external function

We’ve left the external function out of our considerations. This function moves query evaluation from a context to its external role. Surely, this is a step very similar to the role <RoleType> step? But a moment’s reflection tells us that there is no mutation of the underlying network that would add or remove an external role. Such roles come with contexts and leave with them, too. So: yes, we could trace the step, but it would never figure in computing which queries to recompute.

This is especially relevant for contexts that are not bound. Such contexts are allowed, as long as there is a Calculated Role that retrieves them directly from the database. When we remove such a context (by deleting it ‘from’ the Calculated Role), we make no effort to trace queries that depend on its external role (there can be none that come from outside of the context).