• Tom Lane's avatar
    Fix volatile-safety issue in dblink's materializeQueryResult(). · dabda641
    Tom Lane authored
    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.
    dabda641
dblink.c 73.3 KB