Re: dsm use of uint64 - Mailing list pgsql-hackers

From Robert Haas
Subject Re: dsm use of uint64
Date
Msg-id CA+TgmobHjJnn=nVQHAudv8kwEhU1RkXrd1_0NXaqxmaNyh=EEQ@mail.gmail.com
Whole thread Raw
In response to Re: dsm use of uint64  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: dsm use of uint64  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
On Fri, Nov 1, 2013 at 11:45 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
> On Mon, 2013-10-28 at 12:17 -0400, Robert Haas wrote:
>> On Sun, Oct 27, 2013 at 11:34 PM, Noah Misch <noah@leadboat.com> wrote:
>> > On Fri, Oct 25, 2013 at 10:11:41PM -0400, Robert Haas wrote:
>> >> When I wrote the dynamic shared memory patch, I used uint64 everywhere
>> >> to measure sizes - rather than, as we do for the main shared memory
>> >> segment, Size.  This now seems to me to have been the wrong decision;
>
> This change is now causing compiler warnings on 32-bit platforms.  You
> can see them here, for example:
> http://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=lapwing&dt=2013-11-01%2020%3A45%3A01&stg=make

Ah.  This is because I didn't change the format code used to print the
arguments; it's still using UINT64_FORMAT, but the argument is now a
Size.  What's the right way to print out a Size, anyway?  Should I
just try %lu?  It seems that sysv_shmem.c uses %lu, but also casts the
value to (unsigned long); I could follow that precedent here, if
there's no consistency to what format is needed to print a size_t.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: [BUGS] BUG #8573: int4range memory consumption
Next
From: Peter Eisentraut
Date:
Subject: Re: Removal of archive in wal_level