aboutsummaryrefslogtreecommitdiff
path: root/src/include/access/commit_ts.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2017-08-14 11:48:59 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2017-08-14 11:48:59 -0400
commit3883be3eae9741f7d99862ea0be1657f6dc3e92a (patch)
tree8ad5b9aef4c68eda4873b496b0c3e2d6c0240957 /src/include/access/commit_ts.h
parenta64b5a9927e982d26244a9f92e0155e47ab44336 (diff)
downloadpostgresql-3883be3eae9741f7d99862ea0be1657f6dc3e92a.tar.gz
postgresql-3883be3eae9741f7d99862ea0be1657f6dc3e92a.zip
Absorb -D_USE_32BIT_TIME_T switch from Perl, if relevant.
Commit 3c163a7fc's original choice to ignore all #define symbols whose names begin with underscore turns out to be too simplistic. On Windows, some Perl installations are built with -D_USE_32BIT_TIME_T, and we must absorb that or we get the wrong result for sizeof(PerlInterpreter). This effectively re-reverts commit ef58b87df, which injected that symbol in a hacky way, making it apply to all of Postgres not just PL/Perl. More significantly, it did so on *all* 32-bit Windows builds, even when the Perl build to be used did not select this option; so that it fails to work properly with some newer Perl builds. By making this change, we would be introducing an ABI break in 32-bit Windows builds; but fortunately we have not used type time_t in any exported Postgres APIs in a long time. So it should be OK, both for PL/Perl itself and for third-party extensions, if an extension library is built with a different _USE_32BIT_TIME_T setting than the core code. Patch by me, based on research by Ashutosh Sharma and Robert Haas. Back-patch to all supported branches, as commit 3c163a7fc was. Discussion: https://postgr.es/m/CANFyU97OVQ3+Mzfmt3MhuUm5NwPU=-FtbNH5Eb7nZL9ua8=rcA@mail.gmail.com
Diffstat (limited to 'src/include/access/commit_ts.h')
0 files changed, 0 insertions, 0 deletions