Обсуждение: pgsql: Merge the Constraint and FkConstraint node types into a single

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

pgsql: Merge the Constraint and FkConstraint node types into a single

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Merge the Constraint and FkConstraint node types into a single type.

This was foreseen to be a good idea long ago, but nobody had got round
to doing it.  The recent patch for deferred unique constraints made
transformConstraintAttrs() ugly enough that I decided it was time.
This change will also greatly simplify parsing of deferred CHECK constraints,
if anyone ever gets around to implementing that.

While at it, add a location field to Constraint, and use that to provide
an error cursor for some of the constraint-related error messages.

Modified Files:
--------------
    pgsql/src/backend/catalog:
        heap.c (r1.355 -> r1.356)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c?r1=1.355&r2=1.356)
    pgsql/src/backend/commands:
        tablecmds.c (r1.293 -> r1.294)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c?r1=1.293&r2=1.294)
        trigger.c (r1.250 -> r1.251)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/trigger.c?r1=1.250&r2=1.251)
        typecmds.c (r1.136 -> r1.137)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/typecmds.c?r1=1.136&r2=1.137)
    pgsql/src/backend/nodes:
        copyfuncs.c (r1.436 -> r1.437)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c?r1=1.436&r2=1.437)
        equalfuncs.c (r1.359 -> r1.360)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/equalfuncs.c?r1=1.359&r2=1.360)
        nodeFuncs.c (r1.41 -> r1.42)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/nodeFuncs.c?r1=1.41&r2=1.42)
        outfuncs.c (r1.362 -> r1.363)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c?r1=1.362&r2=1.363)
    pgsql/src/backend/parser:
        gram.y (r2.674 -> r2.675)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y?r1=2.674&r2=2.675)
        parse_utilcmd.c (r2.24 -> r2.25)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_utilcmd.c?r1=2.24&r2=2.25)
    pgsql/src/include/nodes:
        nodes.h (r1.223 -> r1.224)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/nodes.h?r1=1.223&r2=1.224)
        parsenodes.h (r1.399 -> r1.400)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/parsenodes.h?r1=1.399&r2=1.400)