Skip to content

ESQL: ProjectAwayColumns rule not handling synthetic attribute correctly #105821

@alex-spies

Description

@alex-spies

The logical optimizer rules PushdownEval, PushdownRegexExtract and PushdownEnrich create temporary attributes when an EVAL, GROK/DISSECT or ENRICH is pushed past a SORT with conflicting names; e.g. SORT x | EVAL x = y essentially becomes EVAL $$x = x, x = y | SORT $$x | DROP $$x.

The temporary attribute $$x should be synthetic, but currently that results in inconsistent physical plans as the rule ProjectAwayColumns will wrongly eliminate this attribute from the execution plan.

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions