Thread: pgsql: Replace pg_class.reltriggers with relhastriggers, which is just a

pgsql: Replace pg_class.reltriggers with relhastriggers, which is just a

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Replace pg_class.reltriggers with relhastriggers, which is just a boolean hint
("there might be triggers") rather than an exact count.  This is necessary
catalog infrastructure for the upcoming patch to reduce the strength of
locking needed for trigger addition/removal.  Split out and committed
separately for ease of reviewing/testing.

In passing, also get rid of the unused pg_class columns relukeys, relfkeys,
and relrefs, which haven't been maintained in many years and now have no
chance of ever being maintained (because of wishing to avoid locking).

Simon Riggs

Modified Files:
--------------
    pgsql/doc/src/sgml:
        catalogs.sgml (r2.180 -> r2.181)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/catalogs.sgml?r1=2.180&r2=2.181)
    pgsql/src/backend/catalog:
        heap.c (r1.342 -> r1.343)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c?r1=1.342&r2=1.343)
        system_views.sql (r1.55 -> r1.56)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/system_views.sql?r1=1.55&r2=1.56)
    pgsql/src/backend/commands:
        trigger.c (r1.239 -> r1.240)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/trigger.c?r1=1.239&r2=1.240)
    pgsql/src/backend/rewrite:
        rewriteDefine.c (r1.131 -> r1.132)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteDefine.c?r1=1.131&r2=1.132)
    pgsql/src/backend/utils/cache:
        relcache.c (r1.274 -> r1.275)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c?r1=1.274&r2=1.275)
    pgsql/src/bin/pg_dump:
        pg_dump.c (r1.504 -> r1.505)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.c?r1=1.504&r2=1.505)
        pg_dump.h (r1.142 -> r1.143)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.h?r1=1.142&r2=1.143)
    pgsql/src/bin/psql:
        describe.c (r1.187 -> r1.188)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/psql/describe.c?r1=1.187&r2=1.188)
    pgsql/src/include/catalog:
        catversion.h (r1.502 -> r1.503)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h?r1=1.502&r2=1.503)
        pg_attribute.h (r1.140 -> r1.141)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_attribute.h?r1=1.140&r2=1.141)
        pg_class.h (r1.107 -> r1.108)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_class.h?r1=1.107&r2=1.108)
    pgsql/src/test/regress/expected:
        rules.out (r1.143 -> r1.144)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/rules.out?r1=1.143&r2=1.144)