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]

Reply via email to