• T
    Modify processing of DECLARE CURSOR and EXPLAIN so that they can resolve the · bbbe825f
    Tom Lane 提交于
    types of unspecified parameters when submitted via extended query protocol.
    This worked in 8.2 but I had broken it during plancache changes.  DECLARE
    CURSOR is now treated almost exactly like a plain SELECT through parse
    analysis, rewrite, and planning; only just before sending to the executor
    do we divert it away to ProcessUtility.  This requires a special-case check
    in a number of places, but practically all of them were already special-casing
    SELECT INTO, so it's not too ugly.  (Maybe it would be a good idea to merge
    the two by treating IntoClause as a form of utility statement?  Not going to
    worry about that now, though.)  That approach doesn't work for EXPLAIN,
    however, so for that I punted and used a klugy solution of running parse
    analysis an extra time if under extended query protocol.
    bbbe825f
parse_expr.c 63.8 KB