diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2009-12-07 05:22:23 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2009-12-07 05:22:23 +0000 |
| commit | 0cb65564e5f855b1e9aa145fd645352130f74646 (patch) | |
| tree | badcc3ee73a16d472f9e637246589d6b803e620f /src/backend/nodes/copyfuncs.c | |
| parent | 8de7472b45859108761223fb19b396efaa8f0a4d (diff) | |
| download | postgresql-0cb65564e5f855b1e9aa145fd645352130f74646.tar.gz | |
Add exclusion constraints, which generalize the concept of uniqueness to
support any indexable commutative operator, not just equality. Two rows
violate the exclusion constraint if "row1.col OP row2.col" is TRUE for
each of the columns in the constraint.
Jeff Davis, reviewed by Robert Haas
Diffstat (limited to 'src/backend/nodes/copyfuncs.c')
| -rw-r--r-- | src/backend/nodes/copyfuncs.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index 35656d8656..c0bb01f141 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -15,7 +15,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/nodes/copyfuncs.c,v 1.452 2009/11/20 20:38:10 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/nodes/copyfuncs.c,v 1.453 2009/12/07 05:22:22 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -2157,8 +2157,11 @@ _copyConstraint(Constraint *from) COPY_NODE_FIELD(raw_expr); COPY_STRING_FIELD(cooked_expr); COPY_NODE_FIELD(keys); + COPY_NODE_FIELD(exclusions); COPY_NODE_FIELD(options); COPY_STRING_FIELD(indexspace); + COPY_STRING_FIELD(access_method); + COPY_NODE_FIELD(where_clause); COPY_NODE_FIELD(pktable); COPY_NODE_FIELD(fk_attrs); COPY_NODE_FIELD(pk_attrs); @@ -2595,6 +2598,7 @@ _copyIndexStmt(IndexStmt *from) COPY_NODE_FIELD(indexParams); COPY_NODE_FIELD(options); COPY_NODE_FIELD(whereClause); + COPY_NODE_FIELD(excludeOpNames); COPY_SCALAR_FIELD(unique); COPY_SCALAR_FIELD(primary); COPY_SCALAR_FIELD(isconstraint); |
