pgsql: Repair bug #2839: the various ExecReScan functions need to reset - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Repair bug #2839: the various ExecReScan functions need to reset
Date
Msg-id 20061226192646.36C2A9FA06E@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Repair bug #2839: the various ExecReScan functions need to reset
ps_TupFromTlist in plan nodes that make use of it.  This was being done
correctly in join nodes and Result nodes but not in any relation-scan nodes.
Bug would lead to bogus results if a set-returning function appeared in the
targetlist of a subquery that could be rescanned after partial execution,
for example a subquery within EXISTS().  Bug has been around forever :-(
... surprising it wasn't reported before.

Modified Files:
--------------
    pgsql/src/backend/executor:
        nodeBitmapHeapscan.c (r1.14 -> r1.15)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapHeapscan.c.diff?r1=1.14&r2=1.15)
        nodeFunctionscan.c (r1.40 -> r1.41)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeFunctionscan.c.diff?r1=1.40&r2=1.41)
        nodeIndexscan.c (r1.118 -> r1.119)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeIndexscan.c.diff?r1=1.118&r2=1.119)
        nodeResult.c (r1.34 -> r1.35)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeResult.c.diff?r1=1.34&r2=1.35)
        nodeSeqscan.c (r1.61 -> r1.62)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSeqscan.c.diff?r1=1.61&r2=1.62)
        nodeSubqueryscan.c (r1.32 -> r1.33)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSubqueryscan.c.diff?r1=1.32&r2=1.33)
        nodeTidscan.c (r1.51 -> r1.52)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeTidscan.c.diff?r1=1.51&r2=1.52)
        nodeValuesscan.c (r1.3 -> r1.4)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeValuesscan.c.diff?r1=1.3&r2=1.4)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Repair bug #2836: SPI_execute_plan returned zero if none of the
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Repair bug #2839: the various ExecReScan functions need to reset