summaryrefslogtreecommitdiff
path: root/src/backend/bootstrap
diff options
context:
space:
mode:
authorTom Lane2009-12-07 05:22:23 +0000
committerTom Lane2009-12-07 05:22:23 +0000
commit0cb65564e5f855b1e9aa145fd645352130f74646 (patch)
treebadcc3ee73a16d472f9e637246589d6b803e620f /src/backend/bootstrap
parent8de7472b45859108761223fb19b396efaa8f0a4d (diff)
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/bootstrap')
-rw-r--r--src/backend/bootstrap/bootparse.y6
-rw-r--r--src/backend/bootstrap/bootstrap.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y
index 9d6f854d12..18affeb098 100644
--- a/src/backend/bootstrap/bootparse.y
+++ b/src/backend/bootstrap/bootparse.y
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/bootstrap/bootparse.y,v 1.100 2009/10/05 19:24:34 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/bootstrap/bootparse.y,v 1.101 2009/12/07 05:22:21 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -267,7 +267,7 @@ Boot_DeclareIndexStmt:
$8,
NULL,
$10,
- NULL, NIL,
+ NULL, NIL, NIL,
false, false, false, false, false,
false, false, true, false, false);
do_end();
@@ -285,7 +285,7 @@ Boot_DeclareUniqueIndexStmt:
$9,
NULL,
$11,
- NULL, NIL,
+ NULL, NIL, NIL,
true, false, false, false, false,
false, false, true, false, false);
do_end();
diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c
index 89991ea2fb..5fa07d6c2a 100644
--- a/src/backend/bootstrap/bootstrap.c
+++ b/src/backend/bootstrap/bootstrap.c
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.253 2009/09/27 01:32:11 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.254 2009/12/07 05:22:21 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1100,6 +1100,10 @@ index_register(Oid heap,
newind->il_info->ii_Predicate = (List *)
copyObject(indexInfo->ii_Predicate);
newind->il_info->ii_PredicateState = NIL;
+ /* no exclusion constraints at bootstrap time, so no need to copy */
+ Assert(indexInfo->ii_ExclusionOps == NULL);
+ Assert(indexInfo->ii_ExclusionProcs == NULL);
+ Assert(indexInfo->ii_ExclusionStrats == NULL);
newind->il_next = ILHead;
ILHead = newind;