Skip site navigation (1) Skip section navigation (2)

pgsql: Create hooks to let a loadable plugin monitor (or even replace)

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Create hooks to let a loadable plugin monitor (or even replace)
Date: 2007-05-25 17:54:25
Message-ID: 20070525175425.C1EE49FBCC8@postgresql.org (view raw or flat)
Thread:
Lists: pgsql-committerspgsql-hackers
Log Message:
-----------
Create hooks to let a loadable plugin monitor (or even replace) the planner
and/or create plans for hypothetical situations; in particular, investigate
plans that would be generated using hypothetical indexes.  This is a
heavily-rewritten version of the hooks proposed by Gurjeet Singh for his
Index Advisor project.  In this formulation, the index advisor can be
entirely a loadable module instead of requiring a significant part to be
in the core backend, and plans can be generated for hypothetical indexes
without requiring the creation and rolling-back of system catalog entries.

The index advisor patch as-submitted is not compatible with these hooks,
but it needs significant work anyway due to other 8.2-to-8.3 planner
changes.  With these hooks in the core backend, development of the advisor
can proceed as a pgfoundry project.

Modified Files:
--------------
    pgsql/src/backend/commands:
        explain.c (r1.163 -> r1.164)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c.diff?r1=1.163&r2=1.164)
        prepare.c (r1.75 -> r1.76)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/prepare.c.diff?r1=1.75&r2=1.76)
    pgsql/src/backend/executor:
        nodeBitmapIndexscan.c (r1.22 -> r1.23)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapIndexscan.c.diff?r1=1.22&r2=1.23)
        nodeIndexscan.c (r1.121 -> r1.122)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeIndexscan.c.diff?r1=1.121&r2=1.122)
    pgsql/src/backend/optimizer/plan:
        planner.c (r1.219 -> r1.220)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planner.c.diff?r1=1.219&r2=1.220)
    pgsql/src/backend/optimizer/util:
        plancat.c (r1.134 -> r1.135)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/plancat.c.diff?r1=1.134&r2=1.135)
    pgsql/src/include/commands:
        explain.h (r1.30 -> r1.31)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/commands/explain.h.diff?r1=1.30&r2=1.31)
    pgsql/src/include/optimizer:
        plancat.h (r1.43 -> r1.44)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/plancat.h.diff?r1=1.43&r2=1.44)
        planner.h (r1.39 -> r1.40)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/planner.h.diff?r1=1.39&r2=1.40)

Responses

pgsql-hackers by date

Next:From: Jaime CasanovaDate: 2007-05-25 19:02:50
Subject: Re: Reviewing temp_tablespaces GUC patch
Previous:From: Jaime CasanovaDate: 2007-05-25 16:39:03
Subject: Re: Reviewing temp_tablespaces GUC patch

pgsql-committers by date

Next:From: James William PyeDate: 2007-05-26 17:54:21
Subject: python - be: Only pfree when recoding occurs.
Previous:From: User EggyknapDate: 2007-05-25 04:41:22
Subject: pgsnmpd - pgsnmpd: Update TODO

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group