Re: Reproducible coliisions in jsonb_hash - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Reproducible coliisions in jsonb_hash
Date
Msg-id bb6d4616-4edd-3f98-09ce-05a22e3fd1d6@dunslane.net
Whole thread Raw
In response to Reproducible coliisions in jsonb_hash  (Valeriy Meleshkin <valeriy@meleshk.in>)
Responses Re: Reproducible coliisions in jsonb_hash
List pgsql-hackers
On 2022-05-12 Th 07:02, Valeriy Meleshkin wrote:
> 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?
>

It does look rather like a bug, but I'm unclear about the implications
of fixing it.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com




pgsql-hackers by date:

Previous
From: "osumi.takamichi@fujitsu.com"
Date:
Subject: RE: First draft of the PG 15 release notes
Next
From: Bruce Momjian
Date:
Subject: Re: First draft of the PG 15 release notes