Class ResolvingProject

All Implemented Interfaces:
NamedWriteable, Writeable, Resolvable, SortAgnostic, SortPreserving, Streaming

public class ResolvingProject extends EsqlProject
This version of Project saves part of its state for computing its projections based on its child's output. This avoids the problem that once the projections are computed, we don't know which pattern was used to generate them. This is important when dealing with unmapped fields: E.g. in SET unmapped_fields="nullify"; FROM idx | KEEP foo* | WHERE foo_bar > 10, if foo_bar is not mapped, we need to inject a NULL literal for it before the KEEP. It's correct to update the projection of the KEEP to include this new attribute because the pattern foo* matches it. But if the pattern was foo_baz, it would be incorrect to do so.