refactor(core)!: remove deprecated Join.JoinType.SEMI/ANTI#1006
Open
nielspardon wants to merge 1 commit into
Open
refactor(core)!: remove deprecated Join.JoinType.SEMI/ANTI#1006nielspardon wants to merge 1 commit into
nielspardon wants to merge 1 commit into
Conversation
These constants were exact aliases of LEFT_SEMI/LEFT_ANTI (same proto value, same mapping at every usage site) and have been deprecated for a while. Remove them along with their now-redundant handling in the isthmus Calcite converter and the Spark ToLogicalPlan converter, where the LEFT_* variants already produce identical results. BREAKING CHANGE: Join.JoinType.SEMI and Join.JoinType.ANTI are removed. Use Join.JoinType.LEFT_SEMI and Join.JoinType.LEFT_ANTI instead.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes the two long-deprecated
Join.JoinTypeconstants,SEMIandANTI. They were exact aliases ofLEFT_SEMI/LEFT_ANTI— same proto value (JOIN_TYPE_LEFT_SEMI/JOIN_TYPE_LEFT_ANTI) and the same result at every usage site — kept only for backward compatibility and ordered last in the enum sofromProto()resolved the canonicalLEFT_*variant.Because each was redundant with its
LEFT_*neighbor, this is pure deletion with no behavior change on any surviving path:coreJoin.java— drop theSEMI/ANTIconstants and the two deadcaselabels ingetRightTypes()(the adjacentLEFT_SEMI/LEFT_ANTIcases already cover them).fromProto()needs no change: the proto values now resolve straight toLEFT_SEMI/LEFT_ANTI.isthmusSubstraitRelNodeConverter— drop the twoifbranches inasJoinRelType(); theLEFT_SEMI/LEFT_ANTIbranches already return the sameJoinRelType.sparkToLogicalPlan— drop the twocasearms; theLEFT_*arms already map toLeftSemi/LeftAnti.Breaking change
Join.JoinType.SEMIandJoin.JoinType.ANTIare removed. Downstream code should useJoin.JoinType.LEFT_SEMIandJoin.JoinType.LEFT_ANTIinstead.Verification
./gradlew :core:compileJava :isthmus:compileJava :spark:spark-3.5_2.12:compileScala :spark:spark-4.0_2.13:compileScala— all compile (both Scala 2.12 and 2.13)../gradlew :core:test :isthmus:test— pass../gradlew :core:check :isthmus:check— PMD + javadoc doclint pass.🤖 Generated with AI