On Fri, 16 Nov 2007, Tom Lane wrote:

> GIN index build's allocatedMemory counter needs to be long, not uint32.
> Else, in a 64-bit machine with maintenance_work_mem set to above 4Gb,
> the counter overflows

I don't know if this has been discussed before, but you are aware that it
is not dictated by the C standard that sizeof(long) == sizeof(void*)?
The best counter-example I know is Windows x64, where sizeof(long) == 4
while sizeof(void*) == 8.  The standards-compliant way to deal with this
IIRC is using size_t or ptrdiff_t, depending on whether or not you need it
to be signed.

Sorry if this has been discussed before, but this commit just struck me as
someone who has just been working at porting some software to Win64...

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to