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

Commitb99f300

Browse files
committed
Move INDEX_MAX_KEYS to postgres.h, and make it configurable for users.
1 parent8cc9d84 commitb99f300

File tree

3 files changed

+26
-30
lines changed

3 files changed

+26
-30
lines changed

‎src/backend/utils/adt/oid.c

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/utils/adt/oid.c,v 1.28 1999/07/17 20:17:58 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/oid.c,v 1.29 2000/01/10 04:36:34 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -30,26 +30,23 @@ Oid *
3030
oid8in(char*oidString)
3131
{
3232
Oid*result;
33-
intnums;
33+
intslot;
3434

3535
if (oidString==NULL)
3636
returnNULL;
3737

38-
result= (Oid*)palloc(sizeof(Oid[8]));
39-
if ((nums=sscanf(oidString,"%u%u%u%u%u%u%u%u",
40-
&result[0],
41-
&result[1],
42-
&result[2],
43-
&result[3],
44-
&result[4],
45-
&result[5],
46-
&result[6],
47-
&result[7]))!=8)
38+
result= (Oid*)palloc(sizeof(Oid[INDEX_MAX_KEYS]));
39+
40+
for (slot=0;*oidString&&slot<INDEX_MAX_KEYS;slot++)
4841
{
49-
do
50-
result[nums++]=0;
51-
while (nums<8);
42+
if (sscanf(oidString,"%u",&result[slot])!=1)
43+
break;
44+
while (*oidString&&*oidString!=' ')
45+
oidString++;
5246
}
47+
while (slot<INDEX_MAX_KEYS)
48+
result[slot++]=0;
49+
5350
returnresult;
5451
}
5552

@@ -73,9 +70,9 @@ oid8out(Oid *oidArray)
7370
}
7471

7572
/* assumes sign, 10 digits, ' ' */
76-
rp=result= (char*)palloc(8*12);
73+
rp=result= (char*)palloc(INDEX_MAX_KEYS*12);
7774
sp=oidArray;
78-
for (num=8;num!=0;num--)
75+
for (num=INDEX_MAX_KEYS;num!=0;num--)
7976
{
8077
ltoa(*sp++,rp);
8178
while (*++rp!='\0')
@@ -121,21 +118,21 @@ oidne(Oid arg1, Oid arg2)
121118
bool
122119
oid8eq(Oid*arg1,Oid*arg2)
123120
{
124-
return (bool) (memcmp(arg1,arg2,8*sizeof(Oid))==0);
121+
return (bool) (memcmp(arg1,arg2,INDEX_MAX_KEYS*sizeof(Oid))==0);
125122
}
126123

127124
bool
128125
oid8ne(Oid*arg1,Oid*arg2)
129126
{
130-
return (bool) (memcmp(arg1,arg2,8*sizeof(Oid))!=0);
127+
return (bool) (memcmp(arg1,arg2,INDEX_MAX_KEYS*sizeof(Oid))!=0);
131128
}
132129

133130
bool
134131
oid8lt(Oid*arg1,Oid*arg2)
135132
{
136133
inti;
137134

138-
for (i=0;i<8;i++)
135+
for (i=0;i<INDEX_MAX_KEYS;i++)
139136
if (!int4eq(arg1[i],arg2[i]))
140137
returnint4lt(arg1[i],arg2[i]);
141138
return false;
@@ -146,7 +143,7 @@ oid8le(Oid *arg1, Oid *arg2)
146143
{
147144
inti;
148145

149-
for (i=0;i<8;i++)
146+
for (i=0;i<INDEX_MAX_KEYS;i++)
150147
if (!int4eq(arg1[i],arg2[i]))
151148
returnint4le(arg1[i],arg2[i]);
152149
return true;
@@ -157,7 +154,7 @@ oid8ge(Oid *arg1, Oid *arg2)
157154
{
158155
inti;
159156

160-
for (i=0;i<8;i++)
157+
for (i=0;i<INDEX_MAX_KEYS;i++)
161158
if (!int4eq(arg1[i],arg2[i]))
162159
returnint4ge(arg1[i],arg2[i]);
163160
return true;
@@ -168,7 +165,7 @@ oid8gt(Oid *arg1, Oid *arg2)
168165
{
169166
inti;
170167

171-
for (i=0;i<8;i++)
168+
for (i=0;i<INDEX_MAX_KEYS;i++)
172169
if (!int4eq(arg1[i],arg2[i]))
173170
returnint4gt(arg1[i],arg2[i]);
174171
return false;

‎src/include/catalog/pg_index.h

Lines changed: 1 addition & 4 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.12 1999/05/25 16:13:45 momjian Exp $
10+
* $Id: pg_index.h,v 1.13 2000/01/10 04:36:37 momjian Exp $
1111
*
1212
* NOTES
1313
* the genbki.sh script reads this file and generates .bki
@@ -58,9 +58,6 @@ CATALOG(pg_index)
5858
textindpred;/* query plan for partial index predicate */
5959
}FormData_pg_index;
6060

61-
#defineINDEX_MAX_KEYS 8/* maximum number of keys in an index
62-
* definition */
63-
6461
/* ----------------
6562
*Form_pg_index corresponds to a pointer to a tuple with
6663
*the format of pg_index relation.

‎src/include/postgres.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1995, Regents of the University of California
88
*
9-
* $Id: postgres.h,v 1.31 1999/12/21 00:06:41 wieck Exp $
9+
* $Id: postgres.h,v 1.32 2000/01/10 04:36:36 momjian Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -101,8 +101,10 @@ struct varlena
101101
typedefstructvarlenabytea;
102102
typedefstructvarlenatext;
103103

104-
typedefint2int28[8];
105-
typedefOidoid8[8];
104+
#defineINDEX_MAX_KEYS 8/* maximum number of keys in an index
105+
* definition */
106+
typedefint2int28[INDEX_MAX_KEYS];
107+
typedefOidoid8[INDEX_MAX_KEYS];
106108

107109

108110
/*

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp