-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
-
Fully Compatible
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The static Id currently only exists on DocumentSourceExtension and is shared between the Expandable and Optimizable child classes. This is a slight mistake in the implementation because Expandable stages can be desugared (using the id) and Optimizable stages can be converted to ExtensionStages (using the id).
However, the inverse is not true for both stages (Expandable cannot be converted to executable and Optimizable cannot be desugared). We should have a separate ids for these DocumentSources to ensure that one cannot perform the tasks of the other.