Re: Add comment explaining why queryid is int64 in pg_stat_statements

Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>

From: Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>
To: Shaik Mohammad Mujeeb <mujeeb.sk@zohocorp.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: mujeebskdev <mujeeb.sk.dev@gmail.com>, pgsql-hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-05-16T09:42:41Z
Lists: pgsql-hackers
On 15.05.2025 10:08, Shaik Mohammad Mujeeb wrote:
> Hi Developers,
>
> In pg_stat_statements.c, the function /pg_stat_statements_internal()/ 
> declares the /queryid/ variable as *int64*, but assigns it a value of 
> type *uint64*. At first glance, this might appear to be an overflow 
> issue. However, I think this is intentional - the queryid is cast to 
> /int64/ *to match the bigint type of the queryid column in the 
> pg_stat_statements view*.
>
> Please find the attached patch, which adds a clarifying comment to 
> make the rationale explicit and avoid potential confusion for future 
> readers.
>
>
>
> Thanks and Regards,
> Shaik Mohammad Mujeeb
> Member Technical Staff
> Zoho Corp
>
>

I don't think the comment is necessary here. There are no arithmetic or 
logical operations performed on it. It is only passed as a Datum.

--
Best regards,
Ilia Evdokimov,
Tantor Labs LLC.