Skip to content

[refine](storage) deduplicate in-list predicate creator by extracting shared impl header#62812

Open
Mryange wants to merge 1 commit intoapache:masterfrom
Mryange:refine-creator-in-list-pre
Open

[refine](storage) deduplicate in-list predicate creator by extracting shared impl header#62812
Mryange wants to merge 1 commit intoapache:masterfrom
Mryange:refine-creator-in-list-pre

Conversation

@Mryange
Copy link
Copy Markdown
Contributor

@Mryange Mryange commented Apr 24, 2026

What problem does this PR solve?

Issue Number: N/A

Problem Summary:
predicate_creator_in_list_in.cpp and predicate_creator_in_list_not_in.cpp each
contained an identical create_in_list_predicate_impl helper and a 20+ case
primitive-type switch, differing only in the PredicateType::IN_LIST vs
PredicateType::NOT_IN_LIST template argument. Any new supported type or CHAR-handling
change had to be synchronized across both files.

This PR extracts the shared template body into
predicate_creator_in_list_impl.h. Each .cpp file now only contains a single
explicit instantiation, keeping parallel compilation intact. The switch is further
simplified by replacing the scalar cases with dispatch_switch_scalar, leaving only
three string-type cases (TYPE_CHAR, TYPE_VARCHAR, TYPE_STRING) that cannot be
collapsed because they carry distinct template arguments or a runtime char_length.

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@Mryange
Copy link
Copy Markdown
Contributor Author

Mryange commented Apr 24, 2026

/review

@github-actions
Copy link
Copy Markdown
Contributor

OpenCode automated review failed and did not complete.

Error: Review step was failure (possibly timeout or cancelled)
Workflow run: https://github.com/apache/doris/actions/runs/24881059855

Please inspect the workflow logs and rerun the review after the underlying issue is resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant