pgsql: Phase 2 of project to make index operator lossiness be determined - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Phase 2 of project to make index operator lossiness be determined
Date
Msg-id 20080413191814.9F72A7559CC@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Phase 2 of project to make index operator lossiness be determined at runtime
instead of plan time.  Extend the amgettuple API so that the index AM returns
a boolean indicating whether the indexquals need to be rechecked, and make
that rechecking happen in nodeIndexscan.c (currently the only place where
it's expected to be needed; other callers of index_getnext are just erroring
out for now).  For the moment, GIN and GIST have stub logic that just always
sets the recheck flag to TRUE --- I'm hoping to get Teodor to handle pushing
that control down to the opclass consistent() functions.  The planner no
longer pays any attention to amopreqcheck, and that catalog column will go
away in due course.

Modified Files:
--------------
    pgsql/doc/src/sgml:
        indexam.sgml (r2.24 -> r2.25)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/indexam.sgml?r1=2.24&r2=2.25)
    pgsql/src/backend/access/gin:
        ginget.c (r1.11 -> r1.12)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gin/ginget.c?r1=1.11&r2=1.12)
    pgsql/src/backend/access/gist:
        gistget.c (r1.70 -> r1.71)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistget.c?r1=1.70&r2=1.71)
    pgsql/src/backend/access/hash:
        hash.c (r1.101 -> r1.102)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/hash/hash.c?r1=1.101&r2=1.102)
    pgsql/src/backend/access/index:
        genam.c (r1.67 -> r1.68)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/genam.c?r1=1.67&r2=1.68)
        indexam.c (r1.106 -> r1.107)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/indexam.c?r1=1.106&r2=1.107)
    pgsql/src/backend/access/nbtree:
        nbtree.c (r1.157 -> r1.158)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtree.c?r1=1.157&r2=1.158)
    pgsql/src/backend/commands:
        cluster.c (r1.172 -> r1.173)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/cluster.c?r1=1.172&r2=1.173)
    pgsql/src/backend/executor:
        nodeIndexscan.c (r1.126 -> r1.127)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeIndexscan.c?r1=1.126&r2=1.127)
    pgsql/src/backend/optimizer/plan:
        createplan.c (r1.237 -> r1.238)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c?r1=1.237&r2=1.238)
    pgsql/src/include/access:
        relscan.h (r1.63 -> r1.64)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/relscan.h?r1=1.63&r2=1.64)

pgsql-committers by date:

Previous
From: scrappy@postgresql.org (Marc G. Fournier)
Date:
Subject: CVSROOT: add a global cvsignore know, currently just with objfiles.txt
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Since createplan.c no longer cares whether index operators are