]> granicus.if.org Git - postgresql/commit
Tweak portal (cursor) code so that it will not call the executor again
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 27 Feb 2001 22:07:34 +0000 (22:07 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 27 Feb 2001 22:07:34 +0000 (22:07 +0000)
commit778a21ca947a60a64a29925322941267512b030c
tree5c59d7875c1ef26b132f89b5254f69ad66b847c9
parentf5ea88ac6e7d927b9d29f5cc44aad4032f20a036
Tweak portal (cursor) code so that it will not call the executor again
when user does another FETCH after reaching end of data, or another
FETCH backwards after reaching start.  This is needed because some plan
nodes are not very robust about being called again after they've already
returned NULL; for example, MergeJoin will crash in some states but not
others.  While the ideal approach would be for them all to handle this
correctly, it seems foolish to assume that no such bugs would creep in
again once cleaned up.  Therefore, the most robust answer is to prevent
the situation from arising at all.
src/backend/commands/command.c
src/backend/tcop/pquery.c
src/backend/utils/mmgr/portalmem.c
src/include/utils/portal.h