-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Query Optimization
-
Fully Compatible
-
QO 2023-07-10, QO 2023-07-24
-
0
Once the optimizer starts generating physical plans which perform shard filtering, we will need to update the lowering code to generate the corresponding SBE plan.
The ABT representation is an n-ary FunctionCall, with each parameter corresponding to a Variable representing a field of the shard key. The SBE representation is a 2-arg function with the first parameter pointer to a slot in the runtime environment representing the ShardFilterer and the second parameter being an expression evaluating to a BSONObj representing the shard key.