Added attributes for primary/unique/foreign keys...

This commit is contained in:
Vadim B. Mikheev 1998-09-10 15:32:32 +00:00
parent d9d8169858
commit 36ef34d73c
4 changed files with 54 additions and 32 deletions

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.62 1998/09/09 03:42:52 vadim Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.63 1998/09/10 15:32:16 vadim Exp $
*
*
* INTERFACE ROUTINES
@ -762,6 +762,7 @@ UpdateIndexRelation(Oid indexoid,
predLen = VARSIZE(predText);
itupLen = predLen + sizeof(FormData_pg_index);
indexForm = (Form_pg_index) palloc(itupLen);
memset (indexForm, 0, sizeof(FormData_pg_index));
memmove((char *) &indexForm->indpred, (char *) predText, predLen);

View File

@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_attribute.h,v 1.43 1998/09/01 04:34:51 momjian Exp $
* $Id: pg_attribute.h,v 1.44 1998/09/10 15:32:30 vadim Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@ -361,16 +361,20 @@ DATA(insert OID = 0 ( 1249 cmax 29 0 4 -6 0 -1 -1 t f i f f));
{ 1259, {"reltype"}, 26, 0, 4, 2, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"relowner"}, 23, 0, 4, 3, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"relam"}, 26, 0, 4, 4, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"relpages"}, 23, 0, 4, 5, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"reltuples"}, 23, 0, 4, 6, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"relhasindex"}, 16, 0, 1, 7, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relisshared"}, 16, 0, 1, 8, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relkind"}, 18, 0, 1, 9, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relnatts"}, 21, 0, 2, 10, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1259, {"relpages"}, 23, 0, 4, 5, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"reltuples"}, 23, 0, 4, 6, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
{ 1259, {"relhasindex"}, 16, 0, 1, 7, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relisshared"}, 16, 0, 1, 8, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relkind"}, 18, 0, 1, 9, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relnatts"}, 21, 0, 2, 10, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1259, {"relchecks"}, 21, 0, 2, 11, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1259, {"reltriggers"}, 21, 0, 2, 12, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1259, {"relhasrules"}, 16, 0, 1, 13, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relacl"}, 1034, 0, -1, 14, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }
{ 1259, {"relukeys"}, 21, 0, 2, 13, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1259, {"relfkeys"}, 21, 0, 2, 14, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1259, {"relrefs"}, 21, 0, 2, 15, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
{ 1259, {"relhaspkey"}, 16, 0, 1, 16, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relhasrules"}, 16, 0, 1, 17, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
{ 1259, {"relacl"}, 1034, 0, -1, 18, 0, -1, -1, '\0', '\0', 'i', '\0', '\0' }
DATA(insert OID = 0 ( 1259 relname 19 0 NAMEDATALEN 1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1259 reltype 26 0 4 2 0 -1 -1 t f i f f));
@ -384,8 +388,12 @@ DATA(insert OID = 0 ( 1259 relkind 18 0 1 9 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1259 relnatts 21 0 2 10 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1259 relchecks 21 0 2 11 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1259 reltriggers 21 0 2 12 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1259 relhasrules 16 0 1 13 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1259 relacl 1034 0 -1 14 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1259 relukeys 21 0 2 13 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1259 relfkeys 21 0 2 14 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1259 relrefs 21 0 2 15 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1259 relhaspkey 16 0 1 16 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1259 relhasrules 16 0 1 17 0 -1 -1 t f c f f));
DATA(insert OID = 0 ( 1259 relacl 1034 0 -1 18 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1259 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1259 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1259 xmin 28 0 4 -3 0 -1 -1 t f i f f));

View File

@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_class.h,v 1.24 1998/09/01 04:34:53 momjian Exp $
* $Id: pg_class.h,v 1.25 1998/09/10 15:32:31 vadim Exp $
*
* NOTES
* ``pg_relation'' is being replaced by ``pg_class''. currently
@ -71,6 +71,10 @@ CATALOG(pg_class) BOOTSTRAP
int2 relchecks; /* # of CHECK constraints, not stored in
* db? */
int2 reltriggers; /* # of TRIGGERs */
int2 relukeys; /* # of Unique keys */
int2 relfkeys; /* # of FOREIGN KEYs */
int2 relrefs; /* # of references to this relation */
bool relhaspkey; /* has PRIMARY KEY */
bool relhasrules;
aclitem relacl[1]; /* this is here for the catalog */
} FormData_pg_class;
@ -96,8 +100,8 @@ typedef FormData_pg_class *Form_pg_class;
* relacl field.
* ----------------
*/
#define Natts_pg_class_fixed 13
#define Natts_pg_class 14
#define Natts_pg_class_fixed 17
#define Natts_pg_class 18
#define Anum_pg_class_relname 1
#define Anum_pg_class_reltype 2
#define Anum_pg_class_relowner 3
@ -110,37 +114,41 @@ typedef FormData_pg_class *Form_pg_class;
#define Anum_pg_class_relnatts 10
#define Anum_pg_class_relchecks 11
#define Anum_pg_class_reltriggers 12
#define Anum_pg_class_relhasrules 13
#define Anum_pg_class_relacl 14
#define Anum_pg_class_relukeys 13
#define Anum_pg_class_relfkeys 14
#define Anum_pg_class_relrefs 15
#define Anum_pg_class_relhaspkey 16
#define Anum_pg_class_relhasrules 17
#define Anum_pg_class_relacl 18
/* ----------------
* initial contents of pg_class
* ----------------
*/
DATA(insert OID = 1247 ( pg_type 71 PGUID 0 0 0 f f r 16 0 0 f _null_ ));
DATA(insert OID = 1247 ( pg_type 71 PGUID 0 0 0 f f r 16 0 0 0 0 0 f f _null_ ));
DESCR("");
DATA(insert OID = 1249 ( pg_attribute 75 PGUID 0 0 0 f f r 14 0 0 f _null_ ));
DATA(insert OID = 1249 ( pg_attribute 75 PGUID 0 0 0 f f r 14 0 0 0 0 0 f f _null_ ));
DESCR("");
DATA(insert OID = 1255 ( pg_proc 81 PGUID 0 0 0 f f r 16 0 0 f _null_ ));
DATA(insert OID = 1255 ( pg_proc 81 PGUID 0 0 0 f f r 16 0 0 0 0 0 f f _null_ ));
DESCR("");
DATA(insert OID = 1259 ( pg_class 83 PGUID 0 0 0 f f r 14 0 0 f _null_ ));
DATA(insert OID = 1259 ( pg_class 83 PGUID 0 0 0 f f r 18 0 0 0 0 0 f f _null_ ));
DESCR("");
DATA(insert OID = 1260 ( pg_shadow 86 PGUID 0 0 0 f t r 8 0 0 f _null_ ));
DATA(insert OID = 1260 ( pg_shadow 86 PGUID 0 0 0 f t r 8 0 0 0 0 0 f f _null_ ));
DESCR("");
DATA(insert OID = 1261 ( pg_group 87 PGUID 0 0 0 f t s 3 0 0 f _null_ ));
DATA(insert OID = 1261 ( pg_group 87 PGUID 0 0 0 f t s 3 0 0 0 0 0 f f _null_ ));
DESCR("");
DATA(insert OID = 1262 ( pg_database 88 PGUID 0 0 0 f t r 4 0 0 f _null_ ));
DATA(insert OID = 1262 ( pg_database 88 PGUID 0 0 0 f t r 4 0 0 0 0 0 f f _null_ ));
DESCR("");
DATA(insert OID = 1264 ( pg_variable 90 PGUID 0 0 0 f t s 2 0 0 f _null_ ));
DATA(insert OID = 1264 ( pg_variable 90 PGUID 0 0 0 f t s 2 0 0 0 0 0 f f _null_ ));
DESCR("");
DATA(insert OID = 1269 ( pg_log 99 PGUID 0 0 0 f t s 1 0 0 f _null_ ));
DATA(insert OID = 1269 ( pg_log 99 PGUID 0 0 0 f t s 1 0 0 0 0 0 f f _null_ ));
DESCR("");
DATA(insert OID = 1215 ( pg_attrdef 109 PGUID 0 0 0 t t r 4 0 0 f _null_ ));
DATA(insert OID = 1215 ( pg_attrdef 109 PGUID 0 0 0 t t r 4 0 0 0 0 0 f f _null_ ));
DESCR("");
DATA(insert OID = 1216 ( pg_relcheck 110 PGUID 0 0 0 t t r 4 0 0 f _null_ ));
DATA(insert OID = 1216 ( pg_relcheck 110 PGUID 0 0 0 t t r 4 0 0 0 0 0 f f _null_ ));
DESCR("");
DATA(insert OID = 1219 ( pg_trigger 111 PGUID 0 0 0 t t r 7 0 0 f _null_ ));
DATA(insert OID = 1219 ( pg_trigger 111 PGUID 0 0 0 t t r 7 0 0 0 0 0 f f _null_ ));
DESCR("");
#define RelOid_pg_type 1247

View File

@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_index.h,v 1.9 1998/09/06 04:49:51 momjian Exp $
* $Id: pg_index.h,v 1.10 1998/09/10 15:32:32 vadim Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@ -52,6 +52,9 @@ CATALOG(pg_index)
* compression)? */
bool indhaskeytype; /* does key type != attribute type? */
bool indisunique; /* is this a unique index? */
bool indisprimary; /* is this index for primary key */
Oid indreference; /* oid of index of referenced relation
* (ie - this index for foreign key */
text indpred; /* query plan for partial index predicate */
} FormData_pg_index;
@ -69,7 +72,7 @@ typedef FormData_pg_index *Form_pg_index;
* compiler constants for pg_index
* ----------------
*/
#define Natts_pg_index 10
#define Natts_pg_index 12
#define Anum_pg_index_indexrelid 1
#define Anum_pg_index_indrelid 2
#define Anum_pg_index_indproc 3
@ -79,6 +82,8 @@ typedef FormData_pg_index *Form_pg_index;
#define Anum_pg_index_indislossy 7
#define Anum_pg_index_indhaskeytype 8
#define Anum_pg_index_indisunique 9
#define Anum_pg_index_indpred 10
#define Anum_pg_index_indisprimary 10
#define Anum_pg_index_indreference 11
#define Anum_pg_index_indpred 12
#endif /* PG_INDEX_H */