|
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