Skip to content

Fix PPL Calcite all-fields resolution for disabled objects - #2

Closed
penghuo wants to merge 1 commit into
mainfrom
bugFix/5746-disable-objects-duplicate-fields
Closed

Fix PPL Calcite all-fields resolution for disabled objects#2
penghuo wants to merge 1 commit into
mainfrom
bugFix/5746-disable-objects-duplicate-fields

Conversation

@penghuo

@penghuo penghuo commented Sep 10, 2026

Copy link
Copy Markdown
Owner

Related to opensearch-project#5746.

Summary

  • Derive field ancestor relationships from the same OpenSearch mapping tree used by getFieldTypes.
  • Use mapping ancestry plus Calcite column lineage when resolving bare * in PPL on Calcite.
  • Preserve computed dotted columns and avoid cross-table/repeated-scan ambiguity.
  • Keep SQL and legacy PPL behavior unchanged.

Tests

  • ./gradlew spotlessCheck :core:test :opensearch:test
  • ./gradlew :integ-test:integTest -Dtests.class="*DisableObjectsIT" -DignorePrometheus
  • ./gradlew :integ-test:integTest -Dtests.class="*CalciteEvalCommandIT" -DignorePrometheus
  • ./gradlew :integ-test:integTest -Dtests.class="*CalciteExpandCommandIT" -DignorePrometheus
  • ./gradlew :integ-test:integTest -Dtests.class="*NestedIT" -DignorePrometheus

Signed-off-by: Peng Huo <penghuo@gmail.com>
@penghuo
penghuo requested a review from dai-chen as a code owner September 10, 2026 16:01
@penghuo

penghuo commented Sep 10, 2026

Copy link
Copy Markdown
Owner Author

Closing this version. The implementation is being redesigned around a unified structured schema in getFieldTypes rather than projection-specific ancestry logic in CalciteRelNodeVisitor.

@penghuo penghuo closed this Sep 10, 2026
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