pgsql: Fix parameter recalculation for Limit nodes: during a ReScan call

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix parameter recalculation for Limit nodes: during a ReScan call
Date: 2007-05-17 19:35:08
Message-ID: 20070517193508.93BC09FC14A@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Log Message:
-----------
Fix parameter recalculation for Limit nodes: during a ReScan call we must
recompute the limit/offset immediately, so that the updated values are
available when the child's ReScan function is invoked. Add a regression
test for this, too. Bug is new in HEAD (due to the bounded-sorting patch)
so no need for back-patch.

I did not do anything about merging this signaling with chgParam processing,
but if we were to do that we'd still need to compute the updated values
at this point rather than during the first ProcNode call.

Per observation and test case from Greg Stark, though I didn't use his patch.

Modified Files:
--------------
pgsql/src/backend/executor:
nodeLimit.c (r1.30 -> r1.31)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeLimit.c.diff?r1=1.30&r2=1.31)
nodeSubplan.c (r1.88 -> r1.89)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSubplan.c.diff?r1=1.88&r2=1.89)
pgsql/src/include/nodes:
execnodes.h (r1.173 -> r1.174)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h.diff?r1=1.173&r2=1.174)
pgsql/src/test/regress/expected:
limit.out (r1.4 -> r1.5)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/limit.out.diff?r1=1.4&r2=1.5)
pgsql/src/test/regress/sql:
limit.sql (r1.4 -> r1.5)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/limit.sql.diff?r1=1.4&r2=1.5)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message User Korryd 2007-05-17 19:54:13 pg-migrator - src: Adding support for page-by-page conversion plugins
Previous Message Bruce Momjian 2007-05-17 19:11:25 pgsql: Add database page inspection /contrib module.

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2007-05-17 19:48:47 Re: UTF8MatchText
Previous Message Joshua D. Drake 2007-05-17 19:30:45 Async commands (like drop index)