Обсуждение: pgsql: Change addRangeTableEntryForRelation() to take a Relation pointer

Поиск
Список
Период
Сортировка

pgsql: Change addRangeTableEntryForRelation() to take a Relation pointer

От
tgl@svr1.postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Change addRangeTableEntryForRelation() to take a Relation pointer instead
of just a relation OID, thereby not having to open the relation for itself.
This actually saves code rather than adding it for most of the existing
callers, which had the rel open already.  The main point though is to be
able to use this rather than plain addRangeTableEntry in setTargetTable,
thus saving one relation_openrv/relation_close cycle for every INSERT,
UPDATE, or DELETE.  Seems to provide a several percent win on simple
INSERTs.

Modified Files:
--------------
    pgsql/src/backend/catalog:
        heap.c (r1.281 -> r1.282)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c.diff?r1=1.281&r2=1.282)
    pgsql/src/backend/commands:
        tablecmds.c (r1.152 -> r1.153)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c.diff?r1=1.152&r2=1.153)
        view.c (r1.88 -> r1.89)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/view.c.diff?r1=1.88&r2=1.89)
    pgsql/src/backend/parser:
        analyze.c (r1.318 -> r1.319)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/analyze.c.diff?r1=1.318&r2=1.319)
        parse_clause.c (r1.139 -> r1.140)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_clause.c.diff?r1=1.139&r2=1.140)
        parse_relation.c (r1.105 -> r1.106)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_relation.c.diff?r1=1.105&r2=1.106)
    pgsql/src/include/parser:
        parse_relation.h (r1.48 -> r1.49)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/parse_relation.h.diff?r1=1.48&r2=1.49)