]> granicus.if.org Git - postgresql/commit
Fix volatile-safety issue in dblink's materializeQueryResult().
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 26 Jan 2015 20:17:36 +0000 (15:17 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 26 Jan 2015 20:17:36 +0000 (15:17 -0500)
commite4021a2ba647e61340b096d49b1a657eeafdc617
tree36fb8a86204b157fd3d6161a28dbd93b83a66c91
parentdd9d78f595a124591eadb97d71813fc71fd767a5
Fix volatile-safety issue in dblink's materializeQueryResult().

Some fields of the sinfo struct are modified within PG_TRY and then
referenced within PG_CATCH, so as with recent patch to async.c, "volatile"
is necessary for strict POSIX compliance; and that propagates to a couple
of subroutines as well as materializeQueryResult() itself.  I think the
risk of actual issues here is probably higher than in async.c, because
storeQueryResult() is likely to get inlined into materializeQueryResult(),
leaving the compiler free to conclude that its stores into sinfo fields are
dead code.
contrib/dblink/dblink.c