pgsql: Change the division of labor between grouping_planner and

Поиск
Список
Период
Сортировка
От tgl@svr1.postgresql.org (Tom Lane)
Тема pgsql: Change the division of labor between grouping_planner and
Дата
Msg-id 20050827221344.4B243D7216@svr1.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Log Message:
-----------
Change the division of labor between grouping_planner and query_planner
so that the latter estimates the number of groups that grouping will
produce.  This is needed because it is primarily query_planner that
makes the decision between fast-start and fast-finish plans, and in the
original coding it was unable to make more than a crude rule-of-thumb
choice when the query involved grouping.  This revision helps us make
saner choices for queries like SELECT ... GROUP BY ... LIMIT, as in a
recent example from Mark Kirkwood.  Also move the responsibility for
canonicalizing sort_pathkeys and group_pathkeys into query_planner;
this information has to be available anyway to support the first change,
and doing it this way lets us get rid of compare_noncanonical_pathkeys
entirely.

Modified Files:
--------------
    pgsql/src/backend/nodes:
        outfuncs.c (r1.259 -> r1.260)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.259&r2=1.260)
    pgsql/src/backend/optimizer/path:
        pathkeys.c (r1.71 -> r1.72)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/pathkeys.c.diff?r1=1.71&r2=1.72)
    pgsql/src/backend/optimizer/plan:
        planmain.c (r1.86 -> r1.87)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planmain.c.diff?r1=1.86&r2=1.87)
        planner.c (r1.191 -> r1.192)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planner.c.diff?r1=1.191&r2=1.192)
    pgsql/src/include/nodes:
        relation.h (r1.117 -> r1.118)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h.diff?r1=1.117&r2=1.118)
    pgsql/src/include/optimizer:
        paths.h (r1.86 -> r1.87)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/paths.h.diff?r1=1.86&r2=1.87)
        planmain.h (r1.87 -> r1.88)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/planmain.h.diff?r1=1.87&r2=1.88)

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

Предыдущее
От: tgl@svr1.postgresql.org (Tom Lane)
Дата:
Сообщение: pgsql: Windows needs WSAStartup() before getaddrinfo() will work.
Следующее
От: tgl@svr1.postgresql.org (Tom Lane)
Дата:
Сообщение: pgsql: cost_agg really ought to charge something per output tuple; else