• Tom Lane's avatar
    Fix oversight in getParamDescriptions(), and improve comments. · 23066960
    Tom Lane authored
    When getParamDescriptions was changed to handle out-of-memory better
    by cribbing error recovery logic from getRowDescriptions/getAnotherTuple,
    somebody omitted to copy the stanza about checking for excess data in
    the message.  But you need to do that, since continue'ing out of the
    switch in pqParseInput3 means no such check gets applied there anymore.
    Noted while looking at Michael Paquier's patch that made yet another
    copy of this advance_and_error logic.
    
    (This whole business desperately needs refactoring, because I sure don't
    want to see a dozen copies of this code, but that's where we seem to be
    headed.  What's more, the "suspend parsing on EOF return" convention is a
    holdover from protocol 2 and shouldn't exist at all in protocol 3, because
    we don't process partial messages anymore.  But for now, just fix the
    obvious bug.)
    
    Also, fix some wrong/missing comments about what the API spec is
    for these three functions.
    
    This doesn't seem worthy of back-patching, even though it's a bug;
    the case shouldn't ever arise in the field.
    23066960
fe-protocol3.c 56.4 KB