pgsql: Simplify loop logic in nodeIncrementalSort.c.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Simplify loop logic in nodeIncrementalSort.c.
Дата
Msg-id E1lBfde-0002wR-0E@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Simplify loop logic in nodeIncrementalSort.c.

The inner loop in switchToPresortedPrefixMode() can be implemented
as a conventional integer-counter for() loop, removing a couple of
redundant boolean state variables.  The old logic here was a remnant
of earlier development, but as things now stand there's no reason
for extra complexity.

Also, annotate the test case added by 82e0e2930 to explain why it
manages to hit the corner case fixed in that commit, and add an
EXPLAIN to verify that it's creating an incremental-sort plan.

Back-patch to v13, like the previous patch.

James Coleman and Tom Lane

Discussion: https://postgr.es/m/16846-ae49f51ac379a4cb@postgresql.org

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/80dc07aa361b9b0028e49bbdf7a947775211b812

Modified Files
--------------
src/backend/executor/nodeIncrementalSort.c     | 47 +++++++-------------------
src/test/regress/expected/incremental_sort.out | 15 ++++++++
src/test/regress/sql/incremental_sort.sql      |  4 +++
3 files changed, 31 insertions(+), 35 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Simplify loop logic in nodeIncrementalSort.c.
Следующее
От: Thomas Munro
Дата:
Сообщение: pgsql: Fix compiler warning in back branches (9.6, 10).