Skip to content

RecordQueryAggregateIndexPlan uses match candidate fragments #3367

Open
@normen662

Description

@normen662

Among others, RecordQueryAggregateIndexPlan uses these two fields:

    // TODO the following value should not be part of this plan
    @Nonnull
    private final Value resultValue;
    // TODO the following value should not be part of this plan
    @Nonnull
    private final Value groupByResultValue;

As the TODOs indicate these two fields should not be part of this class. Nothing in this class actually needs these fields. They are only used as breadcrumbs to other planner logic later. Those same breadcrumbs are also accessible via the match candidate that this class is linked to in planned plans and can be retrieved by calling:

public Optional<? extends MatchCandidate> getMatchCandidateMaybe() {

which delegates to the encapsulated index plan.

All users of the two fields should be rewritten to use the match candidate directly. Unfortunately, removing the fields entirely will need a plan hash bump.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions