Is your feature request related to a problem? Please describe.
HashJoin and DistinctHashJoin expose equivalent concepts but differ in Java accessor naming and ordering, Javadocs, leak logging, superficial JNI implementation details, diagnostics, and test coverage.
Describe the solution you would like
- Add
HashJoin.getCompareNullsEqual(), retaining and deprecating getCompareNulls() for compatibility.
- Fix the
HashJoin.getNumberOfColumns() Javadoc typo.
- Align accessor ordering and leak-log formatting, including equivalent formatting in
KeyRemapping and ast/CompiledExpression.
- Normalize superficial JNI differences such as local naming, allocation style, load-factor spelling, null checks, and formatting.
- Normalize column-count mismatch messages in the reusable join APIs, including labels, spacing, and capitalization.
- Add focused coverage for:
- reusing one
DistinctHashJoin across multiple inner-join probe tables;
- column-count mismatch guards across the reusable
HashJoin and DistinctHashJoin Table overloads.
Describe alternatives you have considered
Leave the differences and coverage gaps in place and address them opportunistically, at the cost of some inconsistency and weaker regression protection.
Additional context
Follow-up to #22392, particularly the review discussions about JNI symmetry, Java API symmetry, join diagnostics, inner-join reuse coverage, and column-count guard coverage.
Is your feature request related to a problem? Please describe.
HashJoinandDistinctHashJoinexpose equivalent concepts but differ in Java accessor naming and ordering, Javadocs, leak logging, superficial JNI implementation details, diagnostics, and test coverage.Describe the solution you would like
HashJoin.getCompareNullsEqual(), retaining and deprecatinggetCompareNulls()for compatibility.HashJoin.getNumberOfColumns()Javadoc typo.KeyRemappingandast/CompiledExpression.DistinctHashJoinacross multiple inner-join probe tables;HashJoinandDistinctHashJoinTable overloads.Describe alternatives you have considered
Leave the differences and coverage gaps in place and address them opportunistically, at the cost of some inconsistency and weaker regression protection.
Additional context
Follow-up to #22392, particularly the review discussions about JNI symmetry, Java API symmetry, join diagnostics, inner-join reuse coverage, and column-count guard coverage.