|
10 | 10 | * |
11 | 11 | * |
12 | 12 | * IDENTIFICATION |
13 | | - * $PostgreSQL: pgsql/src/backend/commands/functioncmds.c,v 1.72 2006/03/05 15:58:24 momjian Exp $ |
| 13 | + * $PostgreSQL: pgsql/src/backend/commands/functioncmds.c,v 1.73 2006/03/14 22:48:18 tgl Exp $ |
14 | 14 | * |
15 | 15 | * DESCRIPTION |
16 | 16 | * These routines take the parse tree and pick out the |
@@ -75,7 +75,7 @@ compute_return_type(TypeName *returnType, Oid languageOid, |
75 | 75 | { |
76 | 76 | Oid rettype; |
77 | 77 |
|
78 | | - rettype = LookupTypeName(returnType); |
| 78 | + rettype = LookupTypeName(NULL, returnType); |
79 | 79 |
|
80 | 80 | if (OidIsValid(rettype)) |
81 | 81 | { |
@@ -174,7 +174,7 @@ examine_parameter_list(List *parameters, Oid languageOid, |
174 | 174 | TypeName *t = fp->argType; |
175 | 175 | Oid toid; |
176 | 176 |
|
177 | | - toid = LookupTypeName(t); |
| 177 | + toid = LookupTypeName(NULL, t); |
178 | 178 | if (OidIsValid(toid)) |
179 | 179 | { |
180 | 180 | if (!get_typisdefined(toid)) |
@@ -1152,33 +1152,10 @@ CreateCast(CreateCastStmt *stmt) |
1152 | 1152 | ObjectAddress myself, |
1153 | 1153 | referenced; |
1154 | 1154 |
|
1155 | | - sourcetypeid = LookupTypeName(stmt->sourcetype); |
1156 | | - if (!OidIsValid(sourcetypeid)) |
1157 | | - ereport(ERROR, |
1158 | | - (errcode(ERRCODE_UNDEFINED_OBJECT), |
1159 | | - errmsg("source data type %s does not exist", |
1160 | | - TypeNameToString(stmt->sourcetype)))); |
1161 | | - |
1162 | | - targettypeid = LookupTypeName(stmt->targettype); |
1163 | | - if (!OidIsValid(targettypeid)) |
1164 | | - ereport(ERROR, |
1165 | | - (errcode(ERRCODE_UNDEFINED_OBJECT), |
1166 | | - errmsg("target data type %s does not exist", |
1167 | | - TypeNameToString(stmt->targettype)))); |
1168 | | - |
1169 | | - /* No shells, no pseudo-types allowed */ |
1170 | | - if (!get_typisdefined(sourcetypeid)) |
1171 | | - ereport(ERROR, |
1172 | | - (errcode(ERRCODE_WRONG_OBJECT_TYPE), |
1173 | | - errmsg("source data type %s is only a shell", |
1174 | | - TypeNameToString(stmt->sourcetype)))); |
1175 | | - |
1176 | | - if (!get_typisdefined(targettypeid)) |
1177 | | - ereport(ERROR, |
1178 | | - (errcode(ERRCODE_WRONG_OBJECT_TYPE), |
1179 | | - errmsg("target data type %s is only a shell", |
1180 | | - TypeNameToString(stmt->targettype)))); |
| 1155 | + sourcetypeid = typenameTypeId(NULL, stmt->sourcetype); |
| 1156 | + targettypeid = typenameTypeId(NULL, stmt->targettype); |
1181 | 1157 |
|
| 1158 | + /* No pseudo-types allowed */ |
1182 | 1159 | if (get_typtype(sourcetypeid) == 'p') |
1183 | 1160 | ereport(ERROR, |
1184 | 1161 | (errcode(ERRCODE_WRONG_OBJECT_TYPE), |
@@ -1400,19 +1377,8 @@ DropCast(DropCastStmt *stmt) |
1400 | 1377 | HeapTuple tuple; |
1401 | 1378 | ObjectAddress object; |
1402 | 1379 |
|
1403 | | - sourcetypeid = LookupTypeName(stmt->sourcetype); |
1404 | | - if (!OidIsValid(sourcetypeid)) |
1405 | | - ereport(ERROR, |
1406 | | - (errcode(ERRCODE_UNDEFINED_OBJECT), |
1407 | | - errmsg("source data type %s does not exist", |
1408 | | - TypeNameToString(stmt->sourcetype)))); |
1409 | | - |
1410 | | - targettypeid = LookupTypeName(stmt->targettype); |
1411 | | - if (!OidIsValid(targettypeid)) |
1412 | | - ereport(ERROR, |
1413 | | - (errcode(ERRCODE_UNDEFINED_OBJECT), |
1414 | | - errmsg("target data type %s does not exist", |
1415 | | - TypeNameToString(stmt->targettype)))); |
| 1380 | + sourcetypeid = typenameTypeId(NULL, stmt->sourcetype); |
| 1381 | + targettypeid = typenameTypeId(NULL, stmt->targettype); |
1416 | 1382 |
|
1417 | 1383 | tuple = SearchSysCache(CASTSOURCETARGET, |
1418 | 1384 | ObjectIdGetDatum(sourcetypeid), |
|
0 commit comments