Обсуждение: pgsql: Tweak SPI_cursor_open to allow INSERT/UPDATE/DELETE RETURNING;

Поиск
Список
Период
Сортировка

pgsql: Tweak SPI_cursor_open to allow INSERT/UPDATE/DELETE RETURNING;

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Tweak SPI_cursor_open to allow INSERT/UPDATE/DELETE RETURNING; this was
merely a matter of fixing the error check, since the underlying Portal
infrastructure already handles it.  This in turn allows these statements
to be used in some existing plpgsql and plperl contexts, such as a
plpgsql FOR loop.  Also, do some marginal code cleanup in places that
were being sloppy about distinguishing SELECT from SELECT INTO.

Modified Files:
--------------
    pgsql/doc/src/sgml:
        plperl.sgml (r2.55 -> r2.56)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/plperl.sgml.diff?r1=2.55&r2=2.56)
        plpgsql.sgml (r1.97 -> r1.98)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/plpgsql.sgml.diff?r1=1.97&r2=1.98)
        spi.sgml (r1.45 -> r1.46)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/spi.sgml.diff?r1=1.45&r2=1.46)
    pgsql/src/backend/commands:
        portalcmds.c (r1.49 -> r1.50)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/portalcmds.c.diff?r1=1.49&r2=1.50)
    pgsql/src/backend/executor:
        execMain.c (r1.278 -> r1.279)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execMain.c.diff?r1=1.278&r2=1.279)
        functions.c (r1.104 -> r1.105)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/functions.c.diff?r1=1.104&r2=1.105)
        spi.c (r1.154 -> r1.155)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/spi.c.diff?r1=1.154&r2=1.155)
    pgsql/src/backend/optimizer/prep:
        prepjointree.c (r1.41 -> r1.42)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepjointree.c.diff?r1=1.41&r2=1.42)
    pgsql/src/backend/optimizer/util:
        clauses.c (r1.218 -> r1.219)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c.diff?r1=1.218&r2=1.219)
    pgsql/src/backend/parser:
        analyze.c (r1.345 -> r1.346)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/analyze.c.diff?r1=1.345&r2=1.346)
        parse_clause.c (r1.155 -> r1.156)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_clause.c.diff?r1=1.155&r2=1.156)
        parse_expr.c (r1.196 -> r1.197)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_expr.c.diff?r1=1.196&r2=1.197)
    pgsql/src/backend/rewrite:
        rewriteDefine.c (r1.111 -> r1.112)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteDefine.c.diff?r1=1.111&r2=1.112)
    pgsql/src/backend/tcop:
        utility.c (r1.264 -> r1.265)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/utility.c.diff?r1=1.264&r2=1.265)
    pgsql/src/include/nodes:
        parsenodes.h (r1.322 -> r1.323)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/parsenodes.h.diff?r1=1.322&r2=1.323)
    pgsql/src/include/tcop:
        utility.h (r1.27 -> r1.28)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/tcop/utility.h.diff?r1=1.27&r2=1.28)