Query Discrepancy in Postgres HLL Test

From: Ayush Vatsa <ayushvatsa1810(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Query Discrepancy in Postgres HLL Test
Date: 2024-04-28 13:01:05
Message-ID: CACX+KaPCQAZn_+HzNEuw6qEP8Wv+p8wQpkf6dqM4ZGu5E91p-Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi PostgreSQL Community,
I'm currently delving into Postgres HLL (HyperLogLog) functionality and
have encountered an unexpected behavior while executing queries from the "
cumulative_add_sparse_edge.sql
<https://github.com/citusdata/postgresql-hll/blob/master/sql/cumulative_add_sparse_edge.sql#L28-L36>"
regress test. This particular test data file
<https://github.com/citusdata/postgresql-hll/blob/master/sql/data/cumulative_add_sparse_edge.csv#L515-L516>
involves three columns, with the last column representing an HLL
(HyperLogLog) value derived from the previous HLL value and the current raw
value.

Upon manual inspection of the query responsible for deriving the last row's
HLL value, I noticed a discrepancy. When executing the query:
"""
-- '\x148B481002....' is second last rows hll value
SELECT hll_add('\x148B481002.....', hll_hashval(2561));
"""
instead of obtaining the expected value (''\x148B481002....''), I received
a different output which is ('\x138b48000200410061008100a1 ........').

My initial assumption is that this could potentially be attributed to a
precision error. However, I'm reaching out to seek clarity on why this
disparity is occurring and to explore potential strategies for mitigating
it (as I want the behaviour to be consistent to regress test file).

Regards
Ayush Vatsa

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2024-04-28 15:07:48 Re: Query Discrepancy in Postgres HLL Test
Previous Message David G. Johnston 2024-04-27 20:01:30 Re: show fct_name of the function/procedure