Reproducible coliisions in jsonb_hash - Mailing list pgsql-hackers

From Valeriy Meleshkin
Subject Reproducible coliisions in jsonb_hash
Date
Msg-id 36664F41-C640-428B-93EA-2282B16197FD@meleshk.in
Whole thread Raw
Responses Re: Reproducible coliisions in jsonb_hash
List pgsql-hackers
Hello,

I've noticed that

jsonb_hash_extended(jsonb_v,0) = jsonb_hash_extended(jsonb_build_array(jsonb_v),0)

for any jsonb value jsonb_v.

AFAICT it happens because when iterating over a jsonb the hash function makes no distinction between raw scalars and
arrays(it doesn't inspect v.val.array.rawScalar) 

https://github.com/postgres/postgres/blob/27b77ecf9f4d5be211900eda54d8155ada50d696/src/backend/utils/adt/jsonb_op.c#L326

Is this an intended behaviour or a bug?

Cheers,
Valeriy







pgsql-hackers by date:

Previous
From: Amul Sul
Date:
Subject: Re: Make relfile tombstone files conditional on WAL level
Next
From: Amit Kapila
Date:
Subject: Re: First draft of the PG 15 release notes