summaryrefslogtreecommitdiff
path: root/src/include/catalog/pg_index.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-01-25 17:51:59 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2011-01-25 17:51:59 -0500
commitbd1ad1b019cda851a3e925133c056930368e6424 (patch)
tree7a0457da38302b33a9ffb79f2904174b22b1805c /src/include/catalog/pg_index.h
parent88452d5ba6b3e8ad49133ac1a660ce0725710f8c (diff)
downloadpostgresql-bd1ad1b019cda851a3e925133c056930368e6424.tar.gz
Replace pg_class.relhasexclusion with pg_index.indisexclusion.
There isn't any need to track this state on a table-wide basis, and trying to do so introduces undesirable semantic fuzziness. Move the flag to pg_index, where it clearly describes just a single index and can be immutable after index creation.
Diffstat (limited to 'src/include/catalog/pg_index.h')
-rw-r--r--src/include/catalog/pg_index.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/include/catalog/pg_index.h b/src/include/catalog/pg_index.h
index 9bdf4da043..0dcae6963c 100644
--- a/src/include/catalog/pg_index.h
+++ b/src/include/catalog/pg_index.h
@@ -35,6 +35,7 @@ CATALOG(pg_index,2610) BKI_WITHOUT_OIDS BKI_SCHEMA_MACRO
int2 indnatts; /* number of columns in index */
bool indisunique; /* is this a unique index? */
bool indisprimary; /* is this index for primary key? */
+ bool indisexclusion; /* is this index for exclusion constraint? */
bool indimmediate; /* is uniqueness enforced immediately? */
bool indisclustered; /* is this the index last clustered by? */
bool indisvalid; /* is this index valid for use by queries? */
@@ -63,22 +64,23 @@ typedef FormData_pg_index *Form_pg_index;
* compiler constants for pg_index
* ----------------
*/
-#define Natts_pg_index 15
+#define Natts_pg_index 16
#define Anum_pg_index_indexrelid 1
#define Anum_pg_index_indrelid 2
#define Anum_pg_index_indnatts 3
#define Anum_pg_index_indisunique 4
#define Anum_pg_index_indisprimary 5
-#define Anum_pg_index_indimmediate 6
-#define Anum_pg_index_indisclustered 7
-#define Anum_pg_index_indisvalid 8
-#define Anum_pg_index_indcheckxmin 9
-#define Anum_pg_index_indisready 10
-#define Anum_pg_index_indkey 11
-#define Anum_pg_index_indclass 12
-#define Anum_pg_index_indoption 13
-#define Anum_pg_index_indexprs 14
-#define Anum_pg_index_indpred 15
+#define Anum_pg_index_indisexclusion 6
+#define Anum_pg_index_indimmediate 7
+#define Anum_pg_index_indisclustered 8
+#define Anum_pg_index_indisvalid 9
+#define Anum_pg_index_indcheckxmin 10
+#define Anum_pg_index_indisready 11
+#define Anum_pg_index_indkey 12
+#define Anum_pg_index_indclass 13
+#define Anum_pg_index_indoption 14
+#define Anum_pg_index_indexprs 15
+#define Anum_pg_index_indpred 16
/*
* Index AMs that support ordered scans must support these two indoption