You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #220 admits scalar overloads that older tests still require to fall back. This makes both Java CI jobs fail on routing assertions, and one ELT test fails on an outdated fallback-reason assertion. Track the test-contract updates here; the function implementation work is already tracked by the linked issues.
Typical assertion: query unexpectedly routed to native ==> expected: <0> but was: <1>.
BOOLEAN IF: the encoder now returns an expression where the old test expects null.
Fixed-length binary ELT still falls back, but its reason is now Calc: unsupported generated-expression result type BINARY(1) instead of a reason containing ELT.
These logs show admission/reason assertion failures, not demonstrated wrong results. NativeParity.assertFallbackReasonContains checks the substitution count before comparing collected host/native rows; a failed routing assertion prevents the equality assertion from running. Updating routing expectations must therefore be accompanied by actual result/type/NULL/error parity checks.
Update routing expectations and verify varying widths, NULL/error behavior, and decoded output bytes. The Base64 failure is FROM_BASE64, although the class is named FlinkToBase64SqlHarnessTest.
Related ABS fallout: PaimonSourceSharingTest uses ABS as a fallback branch, so it expects NativeShare(consumers=[2]) while the admitted ABS branch makes the plan share three consumers. Update that fixture's intended native/fallback contract and verify sink results as part of the same CI cleanup.
For newly admitted cases, assert native execution and compare values, resolved result types, NULLs, and relevant error/short-circuit behavior with released Flink. Do not only remove the failing assertions.
Keep the fixed-length BINARY ELT result restriction and oversized BIGINT ELT index restriction covered unless separately implemented and verified.
Run the affected suites on Flink 2.2 and 1.18; mark host-unavailable functions explicitly rather than treating skips as parity proof. Verify the ABS-dependent Paimon source-sharing tests as well.
Keep docs/operators/calc-filter.md aligned if the work changes an admission boundary.
Suggested priority: P2; complete the basic numeric, STRING and BOOLEAN checks before optional binary-overload expansion. This issue records CI/test-contract follow-up only and does not claim any new implementation or parity rerun.
PR #220 admits scalar overloads that older tests still require to fall back. This makes both Java CI jobs fail on routing assertions, and one ELT test fails on an outdated fallback-reason assertion. Track the test-contract updates here; the function implementation work is already tracked by the linked issues.
Evidence
Observed on PR #220 head
cf27931e, based on main89da01cd, in CI run 35580118438:query unexpectedly routed to native ==> expected: <0> but was: <1>.null.Calc: unsupported generated-expression result type BINARY(1)instead of a reason containingELT.These logs show admission/reason assertion failures, not demonstrated wrong results.
NativeParity.assertFallbackReasonContainschecks the substitution count before comparing collected host/native rows; a failed routing assertion prevents the equality assertion from running. Updating routing expectations must therefore be accompanied by actual result/type/NULL/error parity checks.Function checklist
ABS(v),WHERE ABS(v) > 20GREATEST(s, <supplementary-character literal>),LEAST(s, <same literal>)IF(condition, boolean_value, boolean_value)PARSE_URL(s, 'HOST'),PARSE_URL(u, 'HOST')LTRIM(s,p),RTRIM(s,p),BTRIM(s,p)SHA2(s,bits);FROM_BASE64(CASE WHEN s IS NULL THEN CAST(NULL AS STRING) ELSE 'YQ==' END)STARTSWITH(binary_value,X'FF'),ENDSWITH(binary_value,X'FF'),ELT(i,X'AB',X'CD')Exact failed tests
The following 11 fail on both release lines:
FlinkCalcSqlHarnessTest.absIntegerFallsBackFlinkCalcSqlHarnessTest.unsupportedProjectionFunctionFallsBack(PARSE_URL)FlinkFilterSqlHarnessTest.unsupportedFunctionFallsBack(ABS)FlinkGreatestSqlHarnessTest.unrestrictedUnicodeStringsFallBackFlinkLeastSqlHarnessTest.unrestrictedUnicodeStringsFallBackFlinkLtrimSqlHarnessTest.dynamicTrimSetsFallBackFlinkRtrimSqlHarnessTest.dynamicTrimSetsFallBackFlinkStringHashSqlHarnessTest.dynamicSha2BitLengthFallsBackFlinkToBase64SqlHarnessTest.unverifiedOverloadsFallBack(FROM_BASE64)IfAdmissionTest.unregisteredHostOverloadsStayOutsideNativeCaseLowering(BOOLEAN)NativePlannerTest.leavesUnsupportedProjectionToHostEngine(ABS)Five additional failures appear in the Flink 2.2 job:
FlinkBtrimSqlHarnessTest.dynamicTrimSetsFallBackFlinkEndsWithSqlHarnessTest.unverifiedOverloadsFallBackFlinkStartsWithSqlHarnessTest.unverifiedOverloadsFallBackFlinkUrlDecodeSqlHarnessTest.unverifiedOverloadsFallBack(PARSE_URL)FlinkEltSqlHarnessTest.unverifiedOverloadsFallBack(second assertion, fixed-length BINARY result)Related ABS fallout:
PaimonSourceSharingTestuses ABS as a fallback branch, so it expectsNativeShare(consumers=[2])while the admitted ABS branch makes the plan share three consumers. Update that fixture's intended native/fallback contract and verify sink results as part of the same CI cleanup.Acceptance
docs/operators/calc-filter.mdaligned if the work changes an admission boundary.Suggested priority: P2; complete the basic numeric, STRING and BOOLEAN checks before optional binary-overload expansion. This issue records CI/test-contract follow-up only and does not claim any new implementation or parity rerun.