Re: Signed vs. Unsigned (some)

From: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, ranier(dot)vf(at)gmail(dot)com
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Signed vs. Unsigned (some)
Date: 2021-07-02 10:09:23
Message-ID: 8723fc93-e894-49fc-364d-b12f5a76496c@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 16.06.21 10:48, Peter Eisentraut wrote:
> On 15.06.21 10:17, Kyotaro Horiguchi wrote:
>> The definitions are not ((type) -1) but ((type) 0xFFFFFFFF) so
>> actually they might be different if we forget to widen the constant
>> when widening the types.  Regarding to the compiler behavior, I think
>> we are assuming C99[1] and C99 defines that -1 is converted to
>> Uxxx_MAX. (6.3.1.3 Singed and unsigned integers)
>>
>> I'm +0.2 on it.  It might be worthwhile as a matter of style.
>
> I think since we have the constants we should use them.

I have pushed the InvalidBucket changes.

The use of InvalidBlockNumber with vac_update_relstats() looks a bit
fishy to me. We are using in the same call 0 as the default for
num_all_visible_pages, and we generally elsewhere also use 0 as the
starting value for relpages, so it's not clear to me why it should be -1
or InvalidBlockNumber here. I'd rather leave it "slightly wrong" for
now so it can be checked again.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message tanghy.fnst@fujitsu.com 2021-07-02 10:17:55 RE: [HACKERS] logical decoding of two-phase transactions
Previous Message vignesh C 2021-07-02 09:40:02 Re: Added schema level support for publication.