Skip to content

refactor(sedona-spatial-join): split SpatialPredicate rewrite logic#567

Closed
Kontinuation wants to merge 7 commits intoapache:mainfrom
Kontinuation:pr-spatial-join-planner
Closed

refactor(sedona-spatial-join): split SpatialPredicate rewrite logic#567
Kontinuation wants to merge 7 commits intoapache:mainfrom
Kontinuation:pr-spatial-join-planner

Conversation

@Kontinuation
Copy link
Member

@Kontinuation Kontinuation commented Feb 1, 2026

Summary

  • Refactor spatial predicate swap and projection-rewrite logic into per-predicate impls via SpatialPredicateTrait.
  • Keep SpatialPredicate API intact while reducing large match blocks.
  • Preserve existing behavior for relation, distance, and KNN predicates.

Testing

  • cargo test -p sedona-spatial-join

Notes

  • No functional changes intended; this is a code-structure refactor.

A working version

At least, it is working

Reworked compute_properties to faithfully reflect the actual properties of join outputs

docs(rust/sedona-spatial-join): annotate forked join_utils changes

Add tests for plan properties computation utilities

Reorganized planner code

More refactoring, now it is in a good state

docs(rust/sedona-spatial-join): document planner modules

Don't fallback to the default planner to generate nested loop join. Implement our own logical join filter -> physical join filter transformation

Skeleton for implementing projection pushdown and input swapping
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant