A basic algorithm has been implemented to map the binding sets across shards. This is essentially a nested index subquery using range iterator against the remote metadata service.
A variety of special cases exist where we can do substantially better than this basic algorithm, including when the target predicate will not get inherit any bindings from the intermediate results (this is true for the first join in a query), when the query optimizer knows that target predicate will be fully bound (this is true for many query plans
- they tend to wind up doing point tests after several joins), etc.
A number of such variations have been identified. They should be implemented together with unit tests which focus on their different edge conditions and condition logic to select the best approach based on a mixture of annotations in the query plan and metadata about the target scale-out index.