zabetak opened a new pull request, #4630: URL: https://github.com/apache/calcite/pull/4630
1. Deprecate Strong.Policy in favor of NullPolicy 2. Add NullPolicy.NEVER for describing operators that never return null 3. Replace Strong.Policy with NullPolicy using the following mapping: Strong.Policy.ANY -> NullPolicy.STRICT Strong.Policy.AS_IS -> NullPolicy.NONE Strong.Policy.CUSTOM -> NullPolicy.NONE Strong.Policy.NOT_NULL -> NullPolicy.NEVER essentially AS_IS and CUSTOM are now handled in the same way. 4. Deprecate APIs using/returning Strong.Policy 5. Use NullPolicy mapping from RexImpTable as the primary source of truth 6. Modify NullPolicy for IsXx, NOT, and CAST operators in RexImpTable to be aligned with desired behavior 7. Define fallback mapping using SqlKind in Strong.Policy for projects that define their own operators (most likely will drop that) 8. Hardcode policy for some operators not defined in RexImpTable failing the assertion in SqlOperator#getNullPolicy 9. Update plan/sql in JdbcAdapterTest#testUnknownColumn which changes from LEFT JOIN to INNER JOIN due FilterJoinRule and in particular RelOptUtil#simplifyJoin since the CONCAT operator is now defined as STRICT so we can infer that the filter would reject nulls and thus we are able to simplify. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
