[GH-3042] Flink Box3D predicates: ST_Intersects / ST_Contains + ST_3DDWithin#3043
Open
jiayuasu wants to merge 1 commit into
Open
[GH-3042] Flink Box3D predicates: ST_Intersects / ST_Contains + ST_3DDWithin#3043jiayuasu wants to merge 1 commit into
jiayuasu wants to merge 1 commit into
Conversation
… ST_3DDWithin Final Flink Box3D slice, bringing the Flink predicate surface to parity with Spark's Box3D predicates. - ST_Intersects / ST_Contains: Box3D eval overloads wrapping Predicates.box3dIntersects / box3dContains, mirroring the Box2D overloads already on these classes. - New ST_3DDWithin scalar function: (Geometry, Geometry, Double) → dWithin3D (missing Z folds to 0) and (Box3D, Box3D, Double) → dWithin3D. NULL-guarded. - Registered ST_3DDWithin in Catalog. Tests: - PredicateTest.testIntersectsOnBox3D / testContainsOnBox3D: the XY-overlapping-but-Z-disjoint rows confirm the Z axis is enforced. - PredicateTest.test3DDWithin: Geometry POINT Z within / just-outside, plus Box3D-on-Box3D faces-apart-in-Z within / just-outside. This completes Flink Box3D parity with the Spark surface.
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.
Did you read the Contributor Guide?
Is this PR related to a ticket?
What changes were proposed in this PR?
Final Flink Box3D slice. Brings the Flink predicate surface to parity with Spark's Box3D predicates (consolidated into
ST_Intersects/ST_Containsplus the standaloneST_3DDWithin).ST_Intersects/ST_Contains: Box3Devaloverloads wrappingPredicates.box3dIntersects/box3dContains. Mirrors the Box2D overloads already on these classes.ST_3DDWithin: new scalar function with two overloads —(Geometry, Geometry, Double)→dWithin3D(missing Z folds to 0), and(Box3D, Box3D, Double)→dWithin3D. NULL-guarded like the Box overloads. Registered inCatalog.How was this patch tested?
PredicateTest.testIntersectsOnBox3D/testContainsOnBox3D— XY-overlapping-but-Z-disjoint rows confirm the Z axis is enforced (not just an XY-footprint check).PredicateTest.test3DDWithin— Geometry POINT Z within / just-outside the threshold, plus Box3D-on-Box3D faces-apart-in-Z within / just-outside.PredicateTest: 21 pass.Did this PR include necessary documentation updates?
Completion
This completes Flink Box3D parity with the shipped Spark surface: type + serializer, constructors, accessors,
ST_AsText,ST_3DExtent, and predicates.