Re: Replication vs. float timestamps is a disaster
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Andres Freund <andres@anarazel.de>,
Petr Jelinek <petr.jelinek@2ndquadrant.com>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2017-02-20T19:20:44Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > On Mon, Feb 20, 2017 at 7:37 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> The question to be asked is whether there is still anybody out there >> using float timestamps. I'm starting to get dubious about it myself. > I'm wondering if it has any effect that pg_config.h.win32 says > /* Define to 1 if you want 64-bit integer timestamp and interval support. > (--enable-integer-datetimes) */ > /* #undef USE_INTEGER_DATETIMES */ > Whereas pg_config.h.win32 says: > /* Define to 1 if you want 64-bit integer timestamp and interval support. > (--enable-integer-datetimes) */ > #define USE_INTEGER_DATETIMES 1 Er, what? For me, grep finds src/include/pg_config.h.in: 836: #undef USE_INTEGER_DATETIMES src/include/pg_config.h.win32: 630: /* #undef USE_INTEGER_DATETIMES */ > It looks like it was commit 2169e42bef9db7e0bdd1bea00b81f44973ad83c8 > that enabled integer datetimes by default, but that commit seems to > not to have touched the Windows build scripts. Commit > fcf053d7829f2d83829256153e856f9a36c83ffd changed MSVC over to use > integer datetimes by default, but I'm not clear if there's any build > environment where we rely on config.h.win32 but not Solution.pm? Any such build would find itself without a defined value of BLCKSZ, to mention just one of the settings that get appended by Solution.pm. It does look like we expect pg_config.h.win32 to be usable standalone for libpq-only Windows compiles, but it would never work for building the backend. (I dunno whether the libpq-only scripts still work at all or have bitrotted, but it's irrelevant for the question at hand.) > If not, what exactly is pg_config.h.win32 for and to what degree does it > need to be in sync with pg_config.h.in? The list of differences > appears to be far more extensive than the header comment at the top of > pg_config.h.win32 would lead one to believe. Yeah, I think the maintenance of pg_config.h.win32 has been a bit more haphazard than one could wish. regards, tom lane
Commits
-
Consistently declare timestamp variables as TimestampTz.
- c29aff959dc6 10.0 landed
-
Remove now-dead code for !HAVE_INT64_TIMESTAMP.
- b9d092c962ea 10.0 landed
-
Remove pg_control's enableIntTimes field.
- d28aafb6dda3 10.0 landed
-
De-support floating-point timestamps.
- b6aa17e0ae36 10.0 landed
-
Make integer_datetimes the default for MSVC even if not mentioned in config.pl.
- fcf053d7829f 8.4.0 cited
-
Enable 64-bit integer datetimes by default, per previous discussion.
- 2169e42bef9d 8.4.0 cited