diff options
author | Bruce Momjian <bruce@momjian.us> | 2003-06-25 04:32:03 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2003-06-25 04:32:03 +0000 |
commit | ff4c69e02183e5330529990871f2c4dfb745a838 (patch) | |
tree | 4605fde25f4f3b38d119b02e5822ecc3ad80ad85 /src | |
parent | faa8c757998deed70eb40e225b1fd776c2444c7c (diff) | |
download | postgresql-ff4c69e02183e5330529990871f2c4dfb745a838.tar.gz postgresql-ff4c69e02183e5330529990871f2c4dfb745a838.zip |
Fix up JOIN .. USING with domains
The attached fixes select_common_type() to support the below case:
create table t1( c1 int);
create domain dom_c1 int;
create table t2(c1 dom_c1);
select * from t1 join t2 using( c1 );
I didn't see a need for maintaining the domain as the preferred type. A
simple getBaseType() call on all elements of the list seems to be
enough.
--
Rod Taylor <rbt@rbt.ca>
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/parser/parse_coerce.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/parser/parse_coerce.c b/src/backend/parser/parse_coerce.c index 9861d18fdb0..7fd831ca916 100644 --- a/src/backend/parser/parse_coerce.c +++ b/src/backend/parser/parse_coerce.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.98 2003/06/24 23:14:45 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.99 2003/06/25 04:32:03 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -599,11 +599,11 @@ select_common_type(List *typeids, const char *context) List *l; Assert(typeids != NIL); - ptype = lfirsto(typeids); + ptype = getBaseType(lfirsto(typeids)); pcategory = TypeCategory(ptype); foreach(l, lnext(typeids)) { - Oid ntype = lfirsto(l); + Oid ntype = getBaseType(lfirsto(l)); /* move on to next one if no new information... */ if ((ntype != InvalidOid) && (ntype != UNKNOWNOID) && (ntype != ptype)) |