diff --git a/src/backend/parser/parse_coerce.c b/src/backend/parser/parse_coerce.c index e96473721ec010e16e8ff8f8d507569f57bac603..acdf0439c47cf8238d237a83bb07d7a026dd7d9c 100644 --- a/src/backend/parser/parse_coerce.c +++ b/src/backend/parser/parse_coerce.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.3 1998/07/08 14:04:10 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.4 1998/08/14 16:06:52 thomas Exp $ * *------------------------------------------------------------------------- */ @@ -271,6 +271,7 @@ TypeCategory(Oid inType) result = STRING_TYPE; break; + case (OIDOID): case (INT2OID): case (INT4OID): case (INT8OID): @@ -338,7 +339,10 @@ PreferredType(CATEGORY category, Oid type) break; case (NUMERIC_TYPE): - result = FLOAT8OID; + if (type == OIDOID) + result = OIDOID; + else + result = FLOAT8OID; break; case (DATETIME_TYPE): diff --git a/src/include/parser/parse_coerce.h b/src/include/parser/parse_coerce.h index 3b12054b6e04f9e25a52514e3a32b3b2ee25be1f..cf701a4c95f1ee55e19377bbd80ded2e199660ec 100644 --- a/src/include/parser/parse_coerce.h +++ b/src/include/parser/parse_coerce.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_coerce.h,v 1.3 1998/07/08 14:18:45 thomas Exp $ + * $Id: parse_coerce.h,v 1.4 1998/08/14 16:07:00 thomas Exp $ * *------------------------------------------------------------------------- */ @@ -34,7 +34,8 @@ typedef enum CATEGORY { * - thomas 1998-05-13 */ #define IS_BUILTIN_TYPE(t) \ - (((t) == BOOLOID) \ + (((t) == OIDOID) \ + || ((t) == BOOLOID) \ || ((t) == BPCHAROID) \ || ((t) == VARCHAROID) \ || ((t) == TEXTOID) \ @@ -69,12 +70,15 @@ typedef enum CATEGORY { || ((a) == VARCHAROID && (b) == BPCHAROID) \ || ((a) == TEXTOID && (b) == BPCHAROID) \ || ((a) == TEXTOID && (b) == VARCHAROID) \ + || ((a) == OIDOID && (b) == INT4OID) \ + || ((a) == INT4OID && (b) == TIMESTAMPOID) \ || ((a) == DATETIMEOID && (b) == FLOAT8OID) \ || ((a) == FLOAT8OID && (b) == DATETIMEOID) \ || ((a) == ABSTIMEOID && (b) == TIMESTAMPOID) \ || ((a) == ABSTIMEOID && (b) == INT4OID) \ || ((a) == TIMESTAMPOID && (b) == ABSTIMEOID) \ || ((a) == TIMESTAMPOID && (b) == INT4OID) \ + || ((a) == INT4OID && (b) == OIDOID) \ || ((a) == INT4OID && (b) == ABSTIMEOID) \ || ((a) == INT4OID && (b) == TIMESTAMPOID) \ || ((a) == RELTIMEOID && (b) == INT4OID) \