]> 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:41 +0000 (15:17 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 26 Jan 2015 20:17:41 +0000 (15:17 -0500)
commit8abd0e2a9cf191f51caebe8e38c38027f6954ddc
treeaaeccc90c37c9ff7baff2783a2878c36c3dd3201
parent3dd084c7fe4a2596ddb695d52e2d65910ac9206e
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