You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@polaris.apache.org by Dmitri Bourlatchkov <di...@apache.org> on 2026/06/10 19:27:51 UTC

[DISCUSS] Semantic JSON comparison in PolarisBaseEntity

Hi All,

PR [4602] expands test coverage for PostgreSQL.

As part of that PR it came to light that using the JSONB type may lead to
actual JSON strings being reformatted on a roundtrip through the database.

As a result this PR adjusts some core types to perform semantic
comparisons on their JSON data instead of literal string comparisons.

I do not expect this to cause any functional changes. This email is for
general awareness. Please feel free to contribute the PR review.

[4602] https://github.com/apache/polaris/pull/4602

Thanks,
Dmitri.

Re: [DISCUSS] Semantic JSON comparison in PolarisBaseEntity

Posted by Venkateshwaran Shanmugham <ve...@gmail.com>.
Hi,

Thanks Dmitri for raising this on dev@.

A bit of additional context from the PostgreSQL testing: besides JSONB
reformatting serialized JSON strings, we also saw logically equivalent
JSON-backed values (for example, null vs "{}") compare differently after a
persistence roundtrip. PR #4602 updates equals()/hashCode() on the affected
types to compare parsed map content via the existing *AsMap() accessors
rather than raw serialized strings.

The PostgreSQL coverage also exposed one test-only assumption around list
result ordering that H2 happened to satisfy. That assertion was relaxed in
the test fixture, but no query or persistence behavior was changed.

Serialization on write and stored data are unchanged.

Thanks,
Venkateshwaran Shanmugham


On Thu, Jun 11, 2026 at 12:58 AM Dmitri Bourlatchkov <di...@apache.org>
wrote:

> Hi All,
>
> PR [4602] expands test coverage for PostgreSQL.
>
> As part of that PR it came to light that using the JSONB type may lead to
> actual JSON strings being reformatted on a roundtrip through the database.
>
> As a result this PR adjusts some core types to perform semantic
> comparisons on their JSON data instead of literal string comparisons.
>
> I do not expect this to cause any functional changes. This email is for
> general awareness. Please feel free to contribute the PR review.
>
> [4602] https://github.com/apache/polaris/pull/4602
>
> Thanks,
> Dmitri.
>