Even after the great date/time consolidation, TypeCategory() was still
a few bricks shy of a load concerning knowing all the date/time types. This is real bad because it interferes with func_select_candidate()'s willingness to disambiguate functions --- func_select_candidate() will punt unless all the available choices have the same type category. I think this whole mechanism needs redesigned, but in the meantime this is a needed patch.
This commit is contained in:
parent
4467194b44
commit
f4d108a257
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.30 2000/02/16 17:24:37 thomas Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.31 2000/02/20 06:28:42 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -298,12 +298,15 @@ TypeCategory(Oid inType)
|
||||
result = NUMERIC_TYPE;
|
||||
break;
|
||||
|
||||
case (DATEOID):
|
||||
case (TIMEOID):
|
||||
case (ABSTIMEOID):
|
||||
case (TIMESTAMPOID):
|
||||
result = DATETIME_TYPE;
|
||||
break;
|
||||
|
||||
case (RELTIMEOID):
|
||||
case (TINTERVALOID):
|
||||
case (INTERVALOID):
|
||||
result = TIMESPAN_TYPE;
|
||||
break;
|
||||
|
@ -8,7 +8,7 @@
|
||||
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: pg_type.h,v 1.81 2000/02/16 17:26:07 thomas Exp $
|
||||
* $Id: pg_type.h,v 1.82 2000/02/20 06:28:41 tgl Exp $
|
||||
*
|
||||
* NOTES
|
||||
* the genbki.sh script reads this file and generates .bki
|
||||
@ -287,6 +287,7 @@ DESCR("relative, limited-range time interval (Unix delta time)");
|
||||
#define RELTIMEOID 703
|
||||
DATA(insert OID = 704 ( tinterval PGUID 12 47 f b t \054 0 0 tintervalin tintervalout tintervalin tintervalout i _null_ ));
|
||||
DESCR("(abstime,abstime), time interval");
|
||||
#define TINTERVALOID 704
|
||||
DATA(insert OID = 705 ( unknown PGUID -1 -1 f b t \054 0 18 textin textout textin textout i _null_ ));
|
||||
DESCR("");
|
||||
#define UNKNOWNOID 705
|
||||
|
Loading…
x
Reference in New Issue
Block a user