• T
    Restructure command destination handling so that we pass around · 79913910
    Tom Lane 提交于
    DestReceiver pointers instead of just CommandDest values.  The DestReceiver
    is made at the point where the destination is selected, rather than
    deep inside the executor.  This cleans up the original kluge implementation
    of tstoreReceiver.c, and makes it easy to support retrieving results
    from utility statements inside portals.  Thus, you can now do fun things
    like Bind and Execute a FETCH or EXPLAIN command, and it'll all work
    as expected (e.g., you can Describe the portal, or use Execute's count
    parameter to suspend the output partway through).  Implementation involves
    stuffing the utility command's output into a Tuplestore, which would be
    kind of annoying for huge output sets, but should be quite acceptable
    for typical uses of utility commands.
    79913910
tstoreReceiver.c 2.0 KB