• T
    Restructure parsetree representation of DECLARE CURSOR: now it's a · aa83bc04
    Tom Lane 提交于
    utility statement (DeclareCursorStmt) with a SELECT query dangling from
    it, rather than a SELECT query with a few unusual fields in it.  Add
    code to determine whether a planned query can safely be run backwards.
    If DECLARE CURSOR specifies SCROLL, ensure that the plan can be run
    backwards by adding a Materialize plan node if it can't.  Without SCROLL,
    you get an error if you try to fetch backwards from a cursor that can't
    handle it.  (There is still some discussion about what the exact
    behavior should be, but this is necessary infrastructure in any case.)
    Along the way, make EXPLAIN DECLARE CURSOR work.
    aa83bc04
postgres.c 61.3 KB