Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Skip deserialization in ST_EqualsIdentical when both geometry buffers are byte-identical

Closed
#3,456 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

A pull request for this has already been merged.

  • #3457 by @jiayuasu — merged

Assessment

Difficulty
3/5
Estimated time
Half a day
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
java, sql

Research direction

The work is in the ST_EqualsIdentical SQL function, which currently deserializes both geometry buffers into JTS objects before comparing them. The payload names no files, so locate the function's implementation first. Pull request #3457 is already open against this issue, so review it before starting. Done means a byte-identical pair returns true without deserializing, while pairs with differing bytes still go through the existing structural comparison.

Written by the indexing model from the issue text.

Description

ST_EqualsIdentical deserializes both serialized geometry buffers into JTS objects before comparing them. For stored geometry columns that are often equal (for example round-trip validation), that deserialization dominates the cost: about 104 KB are allocated per equal 1,000-vertex XYZM pair, while the comparison itself allocates nothing.

A byte-identical pair of buffers always encodes identical geometries, so the function can return true for it without deserializing. Pairs whose bytes differ still need the structural comparison, because identical geometries can be encoded differently (different SRIDs, NaN payloads, signed zeros).

Dominant language
Java
Stars
2.4k
Forks
794
Avg merge
1d 20h
Merged PRs (30d)
52

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/sedona

All issues in apache/sedona

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.