aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/oid.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2000-01-10 04:36:37 +0000
committerBruce Momjian <bruce@momjian.us>2000-01-10 04:36:37 +0000
commitb99f3006756e6fe32f411533bc40d9cd9987b009 (patch)
treee708feb66a9ed8181910e6da0b3b414721b27daa /src/backend/utils/adt/oid.c
parent8cc9d8454b53cdd4a3f192f304162cc47bd2fe93 (diff)
downloadpostgresql-b99f3006756e6fe32f411533bc40d9cd9987b009.tar.gz
postgresql-b99f3006756e6fe32f411533bc40d9cd9987b009.zip
Move INDEX_MAX_KEYS to postgres.h, and make it configurable for users.
Diffstat (limited to 'src/backend/utils/adt/oid.c')
-rw-r--r--src/backend/utils/adt/oid.c43
1 files changed, 20 insertions, 23 deletions
diff --git a/src/backend/utils/adt/oid.c b/src/backend/utils/adt/oid.c
index ab53a4e86c0..5ca8061339b 100644
--- a/src/backend/utils/adt/oid.c
+++ b/src/backend/utils/adt/oid.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/oid.c,v 1.28 1999/07/17 20:17:58 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/oid.c,v 1.29 2000/01/10 04:36:34 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -30,26 +30,23 @@ Oid *
oid8in(char *oidString)
{
Oid *result;
- int nums;
+ int slot;
if (oidString == NULL)
return NULL;
- result = (Oid *) palloc(sizeof(Oid[8]));
- if ((nums = sscanf(oidString, "%u%u%u%u%u%u%u%u",
- &result[0],
- &result[1],
- &result[2],
- &result[3],
- &result[4],
- &result[5],
- &result[6],
- &result[7])) != 8)
+ result = (Oid *) palloc(sizeof(Oid[INDEX_MAX_KEYS]));
+
+ for (slot=0; *oidString && slot < INDEX_MAX_KEYS; slot++)
{
- do
- result[nums++] = 0;
- while (nums < 8);
+ if (sscanf(oidString, "%u", &result[slot]) != 1)
+ break;
+ while (*oidString && *oidString != ' ')
+ oidString++;
}
+ while (slot < INDEX_MAX_KEYS)
+ result[slot++] = 0;
+
return result;
}
@@ -73,9 +70,9 @@ oid8out(Oid *oidArray)
}
/* assumes sign, 10 digits, ' ' */
- rp = result = (char *) palloc(8 * 12);
+ rp = result = (char *) palloc(INDEX_MAX_KEYS * 12);
sp = oidArray;
- for (num = 8; num != 0; num--)
+ for (num = INDEX_MAX_KEYS; num != 0; num--)
{
ltoa(*sp++, rp);
while (*++rp != '\0')
@@ -121,13 +118,13 @@ oidne(Oid arg1, Oid arg2)
bool
oid8eq(Oid *arg1, Oid *arg2)
{
- return (bool) (memcmp(arg1, arg2, 8 * sizeof(Oid)) == 0);
+ return (bool) (memcmp(arg1, arg2, INDEX_MAX_KEYS * sizeof(Oid)) == 0);
}
bool
oid8ne(Oid *arg1, Oid *arg2)
{
- return (bool) (memcmp(arg1, arg2, 8 * sizeof(Oid)) != 0);
+ return (bool) (memcmp(arg1, arg2, INDEX_MAX_KEYS * sizeof(Oid)) != 0);
}
bool
@@ -135,7 +132,7 @@ oid8lt(Oid *arg1, Oid *arg2)
{
int i;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < INDEX_MAX_KEYS; i++)
if (!int4eq(arg1[i], arg2[i]))
return int4lt(arg1[i], arg2[i]);
return false;
@@ -146,7 +143,7 @@ oid8le(Oid *arg1, Oid *arg2)
{
int i;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < INDEX_MAX_KEYS; i++)
if (!int4eq(arg1[i], arg2[i]))
return int4le(arg1[i], arg2[i]);
return true;
@@ -157,7 +154,7 @@ oid8ge(Oid *arg1, Oid *arg2)
{
int i;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < INDEX_MAX_KEYS; i++)
if (!int4eq(arg1[i], arg2[i]))
return int4ge(arg1[i], arg2[i]);
return true;
@@ -168,7 +165,7 @@ oid8gt(Oid *arg1, Oid *arg2)
{
int i;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < INDEX_MAX_KEYS; i++)
if (!int4eq(arg1[i], arg2[i]))
return int4gt(arg1[i], arg2[i]);
return false;