Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit36ef34d

Browse files
committed
Added attributes for primary/unique/foreign keys...
1 parentd9d8169 commit36ef34d

File tree

4 files changed

+54
-32
lines changed

4 files changed

+54
-32
lines changed

‎src/backend/catalog/index.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.62 1998/09/09 03:42:52 vadim Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.63 1998/09/10 15:32:16 vadim Exp $
1111
*
1212
*
1313
* INTERFACE ROUTINES
@@ -762,6 +762,7 @@ UpdateIndexRelation(Oid indexoid,
762762
predLen=VARSIZE(predText);
763763
itupLen=predLen+sizeof(FormData_pg_index);
764764
indexForm= (Form_pg_index)palloc(itupLen);
765+
memset (indexForm,0,sizeof(FormData_pg_index));
765766

766767
memmove((char*)&indexForm->indpred, (char*)predText,predLen);
767768

‎src/include/catalog/pg_attribute.h

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
* Copyright (c) 1994, Regents of the University of California
99
*
10-
* $Id: pg_attribute.h,v 1.43 1998/09/01 04:34:51 momjian Exp $
10+
* $Id: pg_attribute.h,v 1.44 1998/09/10 15:32:30 vadim Exp $
1111
*
1212
* NOTES
1313
* the genbki.sh script reads this file and generates .bki
@@ -361,16 +361,20 @@ DATA(insert OID = 0 ( 1249 cmax29 0 4 -6 0 -1 -1 t f i f f));
361361
{ 1259, {"reltype"}, 26, 0,4,2, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
362362
{ 1259, {"relowner"}, 23, 0,4,3, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
363363
{ 1259, {"relam"}, 26, 0,4,4, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
364-
{ 1259, {"relpages"}, 23,0,4,5, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
365-
{ 1259, {"reltuples"}, 23,0,4,6, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
366-
{ 1259, {"relhasindex"}, 16,0,1,7, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
367-
{ 1259, {"relisshared"}, 16,0,1,8, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
368-
{ 1259, {"relkind"}, 18,0,1,9, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
369-
{ 1259, {"relnatts"}, 21,0,2, 10, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
364+
{ 1259, {"relpages"}, 23,0,4,5, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
365+
{ 1259, {"reltuples"}, 23,0,4,6, 0, -1, -1, '\001', '\0', 'i', '\0', '\0' }, \
366+
{ 1259, {"relhasindex"}, 16,0,1,7, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
367+
{ 1259, {"relisshared"}, 16,0,1,8, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
368+
{ 1259, {"relkind"}, 18,0,1,9, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
369+
{ 1259, {"relnatts"}, 21,0,2, 10, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
370370
{ 1259, {"relchecks"}, 21, 0,2, 11, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
371371
{ 1259, {"reltriggers"}, 21, 0,2, 12, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
372-
{ 1259, {"relhasrules"}, 16,0,1, 13, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
373-
{ 1259, {"relacl"}, 1034, 0, -1, 14, 0, -1, -1,'\0', '\0', 'i', '\0', '\0' }
372+
{ 1259, {"relukeys"}, 21, 0,2, 13, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
373+
{ 1259, {"relfkeys"}, 21, 0,2, 14, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
374+
{ 1259, {"relrefs"}, 21, 0,2, 15, 0, -1, -1, '\001', '\0', 's', '\0', '\0' }, \
375+
{ 1259, {"relhaspkey"}, 16, 0,1, 16, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
376+
{ 1259, {"relhasrules"}, 16, 0,1, 17, 0, -1, -1, '\001', '\0', 'c', '\0', '\0' }, \
377+
{ 1259, {"relacl"}, 1034, 0, -1, 18, 0, -1, -1,'\0', '\0', 'i', '\0', '\0' }
374378

375379
DATA(insertOID=0 (1259relname190NAMEDATALEN10-1-1ffiff));
376380
DATA(insertOID=0 (1259reltype260420-1-1tfiff));
@@ -384,8 +388,12 @@ DATA(insert OID = 0 ( 1259 relkind18 0 1 9 0 -1 -1 t f c f f));
384388
DATA(insertOID=0 (1259relnatts2102100-1-1tfsff));
385389
DATA(insertOID=0 (1259relchecks2102110-1-1tfsff));
386390
DATA(insertOID=0 (1259reltriggers2102120-1-1tfsff));
387-
DATA(insertOID=0 (1259relhasrules1601130-1-1tfcff));
388-
DATA(insertOID=0 (1259relacl10340-1140-1-1ffiff));
391+
DATA(insertOID=0 (1259relukeys2102130-1-1tfsff));
392+
DATA(insertOID=0 (1259relfkeys2102140-1-1tfsff));
393+
DATA(insertOID=0 (1259relrefs2102150-1-1tfsff));
394+
DATA(insertOID=0 (1259relhaspkey1601160-1-1tfcff));
395+
DATA(insertOID=0 (1259relhasrules1601170-1-1tfcff));
396+
DATA(insertOID=0 (1259relacl10340-1180-1-1ffiff));
389397
DATA(insertOID=0 (1259ctid2706-10-1-1ffiff));
390398
DATA(insertOID=0 (1259oid2604-20-1-1tfiff));
391399
DATA(insertOID=0 (1259xmin2804-30-1-1tfiff));

‎src/include/catalog/pg_class.h

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
* Copyright (c) 1994, Regents of the University of California
99
*
10-
* $Id: pg_class.h,v 1.24 1998/09/01 04:34:53 momjian Exp $
10+
* $Id: pg_class.h,v 1.25 1998/09/10 15:32:31 vadim Exp $
1111
*
1212
* NOTES
1313
* ``pg_relation'' is being replaced by ``pg_class''. currently
@@ -71,6 +71,10 @@ CATALOG(pg_class) BOOTSTRAP
7171
int2relchecks;/* # of CHECK constraints, not stored in
7272
* db? */
7373
int2reltriggers;/* # of TRIGGERs */
74+
int2relukeys;/* # of Unique keys */
75+
int2relfkeys;/* # of FOREIGN KEYs */
76+
int2relrefs;/* # of references to this relation */
77+
boolrelhaspkey;/* has PRIMARY KEY */
7478
boolrelhasrules;
7579
aclitemrelacl[1];/* this is here for the catalog */
7680
}FormData_pg_class;
@@ -96,8 +100,8 @@ typedef FormData_pg_class *Form_pg_class;
96100
*relacl field.
97101
* ----------------
98102
*/
99-
#defineNatts_pg_class_fixed13
100-
#defineNatts_pg_class14
103+
#defineNatts_pg_class_fixed17
104+
#defineNatts_pg_class18
101105
#defineAnum_pg_class_relname1
102106
#defineAnum_pg_class_reltype2
103107
#defineAnum_pg_class_relowner3
@@ -110,37 +114,41 @@ typedef FormData_pg_class *Form_pg_class;
110114
#defineAnum_pg_class_relnatts10
111115
#defineAnum_pg_class_relchecks11
112116
#defineAnum_pg_class_reltriggers12
113-
#defineAnum_pg_class_relhasrules13
114-
#defineAnum_pg_class_relacl14
117+
#defineAnum_pg_class_relukeys13
118+
#defineAnum_pg_class_relfkeys14
119+
#defineAnum_pg_class_relrefs15
120+
#defineAnum_pg_class_relhaspkey16
121+
#defineAnum_pg_class_relhasrules17
122+
#defineAnum_pg_class_relacl18
115123

116124
/* ----------------
117125
*initial contents of pg_class
118126
* ----------------
119127
*/
120128

121-
DATA(insertOID=1247 (pg_type71PGUID000ffr1600f_null_ ));
129+
DATA(insertOID=1247 (pg_type71PGUID000ffr1600000ff_null_ ));
122130
DESCR("");
123-
DATA(insertOID=1249 (pg_attribute75PGUID000ffr1400f_null_ ));
131+
DATA(insertOID=1249 (pg_attribute75PGUID000ffr1400000ff_null_ ));
124132
DESCR("");
125-
DATA(insertOID=1255 (pg_proc81PGUID000ffr1600f_null_ ));
133+
DATA(insertOID=1255 (pg_proc81PGUID000ffr1600000ff_null_ ));
126134
DESCR("");
127-
DATA(insertOID=1259 (pg_class83PGUID000ffr1400f_null_ ));
135+
DATA(insertOID=1259 (pg_class83PGUID000ffr1800000ff_null_ ));
128136
DESCR("");
129-
DATA(insertOID=1260 (pg_shadow86PGUID000ftr800f_null_ ));
137+
DATA(insertOID=1260 (pg_shadow86PGUID000ftr800000ff_null_ ));
130138
DESCR("");
131-
DATA(insertOID=1261 (pg_group87PGUID000fts300f_null_ ));
139+
DATA(insertOID=1261 (pg_group87PGUID000fts300000ff_null_ ));
132140
DESCR("");
133-
DATA(insertOID=1262 (pg_database88PGUID000ftr400f_null_ ));
141+
DATA(insertOID=1262 (pg_database88PGUID000ftr400000ff_null_ ));
134142
DESCR("");
135-
DATA(insertOID=1264 (pg_variable90PGUID000fts200f_null_ ));
143+
DATA(insertOID=1264 (pg_variable90PGUID000fts200000ff_null_ ));
136144
DESCR("");
137-
DATA(insertOID=1269 (pg_log99PGUID000fts100f_null_ ));
145+
DATA(insertOID=1269 (pg_log99PGUID000fts100000ff_null_ ));
138146
DESCR("");
139-
DATA(insertOID=1215 (pg_attrdef109PGUID000ttr400f_null_ ));
147+
DATA(insertOID=1215 (pg_attrdef109PGUID000ttr400000ff_null_ ));
140148
DESCR("");
141-
DATA(insertOID=1216 (pg_relcheck110PGUID000ttr400f_null_ ));
149+
DATA(insertOID=1216 (pg_relcheck110PGUID000ttr400000ff_null_ ));
142150
DESCR("");
143-
DATA(insertOID=1219 (pg_trigger111PGUID000ttr700f_null_ ));
151+
DATA(insertOID=1219 (pg_trigger111PGUID000ttr700000ff_null_ ));
144152
DESCR("");
145153

146154
#defineRelOid_pg_type1247

‎src/include/catalog/pg_index.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
* Copyright (c) 1994, Regents of the University of California
99
*
10-
* $Id: pg_index.h,v 1.9 1998/09/06 04:49:51 momjian Exp $
10+
* $Id: pg_index.h,v 1.10 1998/09/10 15:32:32 vadim Exp $
1111
*
1212
* NOTES
1313
* the genbki.sh script reads this file and generates .bki
@@ -52,6 +52,9 @@ CATALOG(pg_index)
5252
* compression)? */
5353
boolindhaskeytype;/* does key type != attribute type? */
5454
boolindisunique;/* is this a unique index? */
55+
boolindisprimary;/* is this index for primary key */
56+
Oidindreference;/* oid of index of referenced relation
57+
* (ie - this index for foreign key */
5558
textindpred;/* query plan for partial index predicate */
5659
}FormData_pg_index;
5760

@@ -69,7 +72,7 @@ typedef FormData_pg_index *Form_pg_index;
6972
*compiler constants for pg_index
7073
* ----------------
7174
*/
72-
#defineNatts_pg_index10
75+
#defineNatts_pg_index12
7376
#defineAnum_pg_index_indexrelid1
7477
#defineAnum_pg_index_indrelid2
7578
#defineAnum_pg_index_indproc3
@@ -79,6 +82,8 @@ typedef FormData_pg_index *Form_pg_index;
7982
#defineAnum_pg_index_indislossy7
8083
#defineAnum_pg_index_indhaskeytype8
8184
#defineAnum_pg_index_indisunique9
82-
#defineAnum_pg_index_indpred10
85+
#defineAnum_pg_index_indisprimary10
86+
#defineAnum_pg_index_indreference11
87+
#defineAnum_pg_index_indpred12
8388

8489
#endif/* PG_INDEX_H */

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp