Enable validation pipeline and update all test expected outputs#5215
Enable validation pipeline and update all test expected outputs#5215yuancu wants to merge 1 commit intoopensearch-project:feature/validationfrom
Conversation
PR Code Analyzer ❗AI-powered 'Code-Diff-Analyzer' found issues on commit ce09da4. 'Diff too large, requires skip by maintainers after manual review' Pull Requests Author(s): Please update your Pull Request according to the report above. Repository Maintainer(s): You can Thanks. |
PR Code Analyzer ❗AI-powered 'Code-Diff-Analyzer' found issues on commit a494a06. 'Diff too large, requires skip by maintainers after manual review' Pull Requests Author(s): Please update your Pull Request according to the report above. Repository Maintainer(s): You can Thanks. |
This PR enables the validation pipeline and updates all expected test outputs to match the validated query plans: - Enable PplTypeCoercion and PplValidator in the Calcite pipeline - Update ~500 expected output files for explain tests across calcite/, calcite_no_pushdown/, and ppl/ directories - Fix CalciteBinCommandIT and CalcitePPLBasicIT test assertions - Update yamlRestTest expected outputs - Includes validation infrastructure (sub-PR A) and operand type checkers (sub-PR B) as prerequisites Signed-off-by: Yuanchun Shen <yuanchu@amazon.com>
PR Code Analyzer ❗AI-powered 'Code-Diff-Analyzer' found issues on commit c9fc356. 'Diff too large, requires skip by maintainers after manual review' Pull Requests Author(s): Please update your Pull Request according to the report above. Repository Maintainer(s): You can Thanks. |
Summary
Sub-PR 3/4 for #4892 — splitting the large PR into reviewable pieces targeting
feature/validation.This PR enables the validation pipeline by wiring
validate()intoQueryService's execute and explain flows, and updates all test expected outputs for the structural and type changes caused by the RelNode ↔ SqlNode round-trip.What's included
Enablement:
QueryService—executeWithCalcite()andexplainWithCalcite()now callvalidate(relNode, context)beforeconvertToCalcitePlan()Test Expected Output Updates (~546 YAML files):
Integration Test Updates:
CalciteExplainIT,CalcitePPLExplainIT,ExplainIT—assertJsonEquals→assertYamlEqualsIgnoreIdCalcitePPLBasicIT—testBetweenWithMixedTypes(was error, now works with implicit cast)CalciteWhereCommandIT—testInWithMixedType(was error, now works)CalciteMultisearchCommandIT/CalcitePPLAppendCommandIT— Schema type changes (string → timestamp for UDT fields)CalcitePPLAggregationIT— Exception type changeCalcitePPLPatternsIT—@Ignorefor tests pending [FEATURE] Enhance patterns command output structure for easy type validation #4968CalciteBinCommandIT,CalciteNoMvCommandIT— Error message updatesPPLClickBenchIT— ClickBench plan updates + q41 special handlingWhereCommandIT— Removed incompatible type test (moved to Calcite-specific test)DateTimeFunctionIT— Interval semantics fixMatcherUtils— NewassertYamlEqualsIgnoreId(List, String)overloadPPL Unit Test Updates:
CalcitePPLAggregationTest,CalcitePPLChartTest,CalcitePPLJoinTest,CalcitePPLStreamstatsTest,CalcitePPLTimechartTest,CalcitePPLTransposeTest, etc.Reviewer Note
~546 of 583 files are mechanical YAML expected output updates. If CI passes, those are correct. Focus review on the ~37 source/test files.
Dependency
feature/validationSigned-off-by: Yuanchun Shen yuanchu@amazon.com