On Thu, Feb 12, 2015 at 9:54 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> On 2015-02-12 04:48:00 -0800, Michael Paquier wrote:
>> I didn't follow much the thread implementing this feature, but this
>> commit has somewhat not taken into account the fact that the contents
>> of src/port could as well be used for the frontends, per se the
>> comments on top of init_win32_gettimeofday mentioning only the backend
>> startup, something not wrong in itself, but not completely right
>> either. So what we have now is an unpleasant crash trigger for any
>> client applications on Windows < 2k12 linking to libpqport that call
>> gettimeofday(). I would not be surprised that we would get bug reports
>> of the type "why my client binary crashes suddendly with 9.5" if we
>> keep the code as-is.
>
>> So ISTM that your patch does the correct thing by setting
>> pg_get_system_time to &GetSystemTimeAsFileTime to not break any
>> existing applications, and that we should as well update any in-core
>> binary tools to switch to the precise API
>
> I think I'd rather have it crash so people are forced to adjust the
> client applications. The number of things linking to pgport should be
> rather low.
I'd take it on the safe side, not the hard one :)
FWIW, applications are not broken if they use GetSystemTimeAsFileTime,
simply less precise. So we should push for improvements, not mandatory
moves without a deprecation period.
--
Michael