A rule that moves a
RecordQueryUnorderedPrimaryKeyDistinctPlan
below a
RecordQueryFilterPlan
. While this doesn't make a
difference in terms of plan semantics it ensures that the generated plans have the same form as those produced by
the
RecordQueryPlanner
.
+----------------------------------------------+ +----------------------------------+
| | | |
| RecordQueryUnorderedPrimaryKeyDistinctPlan | | RecordQueryPredicateFilterPlan |
| | | pred' |
+---------------------+------------------------+ | |
| +---------------+------------------+
| +-----> |
| | newQun
+---------------+------------------+ |
| | +---------------------+------------------------+
| RecordQueryPredicateFilterPlan | | |
| pred | | RecordQueryUnorderedPrimaryKeyDistinctPlan |
| | | |
+---------------+------------------+ +---------------------+------------------------+
| /
| qun /
| /
+------+------+ /
| | /
| any ref | ---------------------------------------+
| |
+-------------+
where pred' is rebased along the translation from qun to newQun.