Re: _USE_32BIT_TIME_T Patch

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Dave Page <dpage@pgadmin.org>
Cc: Owais Khan <owais.khan@enterprisedb.com>, pgsql-hackers@postgresql.org, Hamid Quddus <hamid.quddus@enterprisedb.com>
Date: 2012-08-31T16:37:48Z
Lists: pgsql-hackers
On 08/31/2012 12:18 PM, Dave Page wrote:
> On Fri, Aug 31, 2012 at 4:57 PM, Andrew Dunstan <andrew@dunslane.net> wrote:
>> On 08/31/2012 11:14 AM, Dave Page wrote:
>>> On Fri, Aug 31, 2012 at 4:10 PM, Andrew Dunstan <andrew@dunslane.net>
>>> wrote:
>>>> On 08/31/2012 11:05 AM, Dave Page wrote:
>>>>> I've added this to the release blockers section for 9.2 on the wiki,
>>>>> as without it, pl/perl is unusable on Win32.
>>>>
>>>>
>>>> I'll have a look at it today.
>>> Thanks Andrew - minor clarification; unusable on MSVC/Win32. I suspect
>>> Mingw builds may be fine, as they use a much older runtime. Of course,
>>> we've used MSVC++ for the installer builds for years now.
>>
>>
>> What exactly is the known combination of things that don't work, and things
>> that do work? My only 32 bit test environment for this (ASPerl 5.12.2 build
>> 1202 [293621], built Sep 6, 2010, Visual C++ Express 2008, Windows XP SP3)
>> doesn't seem to have any problem building and running plperl. That makes it
>> tough to test if I don't know what exactly needs to change to break things.
> We're using VC++ 2010 Pro with ASPerl 5.14.2.1402 for 9.2, and VC++
> 2008 Pro with ASPerl 5.14.1.1401 at present. Our CM team have tried
> multiple versions of Perl though, and seen the issue with 5.10 and
> 5.12 as well though. 5.8 seemed to be OK.

OK so from that I'm guessing the issue is probably VC++ 2010, which I 
don't have at all, let alone on a 32-bit machine :-(

Oh, well, I'll look and see if I feel comfortable about the patch anyway.

cheers

andrew






Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Replace time_t with pg_time_t (same values, but always int64) in on-disk

  2. Use _USE_32BIT_TIME_T when building with MSVC. Also, enforce that it's