@ -1552,7 +1552,7 @@ get_object_address_opf_member(ObjectType objtype,
ObjectAddress address ;
ObjectAddress address ;
ListCell * cell ;
ListCell * cell ;
List * copy ;
List * copy ;
char * typenames [ 2 ] ;
TypeName * typenames [ 2 ] ;
Oid typeoids [ 2 ] ;
Oid typeoids [ 2 ] ;
int membernum ;
int membernum ;
int i ;
int i ;
@ -1574,8 +1574,8 @@ get_object_address_opf_member(ObjectType objtype,
{
{
ObjectAddress typaddr ;
ObjectAddress typaddr ;
typenames [ i ] = strVal ( lfirst ( cell ) ) ;
typenames [ i ] = castNode ( TypeName , lfirst ( cell ) ) ;
typaddr = get_object_address_type ( OBJECT_TYPE , castNode ( TypeName , lfirst ( cell ) ) , missing_ok ) ;
typaddr = get_object_address_type ( OBJECT_TYPE , typenames [ i ] , missing_ok ) ;
typeoids [ i ] = typaddr . objectId ;
typeoids [ i ] = typaddr . objectId ;
if ( + + i > = 2 )
if ( + + i > = 2 )
break ;
break ;
@ -1601,7 +1601,9 @@ get_object_address_opf_member(ObjectType objtype,
ereport ( ERROR ,
ereport ( ERROR ,
( errcode ( ERRCODE_UNDEFINED_OBJECT ) ,
( errcode ( ERRCODE_UNDEFINED_OBJECT ) ,
errmsg ( " operator %d (%s, %s) of %s does not exist " ,
errmsg ( " operator %d (%s, %s) of %s does not exist " ,
membernum , typenames [ 0 ] , typenames [ 1 ] ,
membernum ,
TypeNameToString ( typenames [ 0 ] ) ,
TypeNameToString ( typenames [ 1 ] ) ,
getObjectDescription ( & famaddr ) ) ) ) ;
getObjectDescription ( & famaddr ) ) ) ) ;
}
}
else
else
@ -1630,7 +1632,9 @@ get_object_address_opf_member(ObjectType objtype,
ereport ( ERROR ,
ereport ( ERROR ,
( errcode ( ERRCODE_UNDEFINED_OBJECT ) ,
( errcode ( ERRCODE_UNDEFINED_OBJECT ) ,
errmsg ( " function %d (%s, %s) of %s does not exist " ,
errmsg ( " function %d (%s, %s) of %s does not exist " ,
membernum , typenames [ 0 ] , typenames [ 1 ] ,
membernum ,
TypeNameToString ( typenames [ 0 ] ) ,
TypeNameToString ( typenames [ 1 ] ) ,
getObjectDescription ( & famaddr ) ) ) ) ;
getObjectDescription ( & famaddr ) ) ) ) ;
}
}
else
else
@ -2023,7 +2027,7 @@ pg_get_object_address(PG_FUNCTION_ARGS)
}
}
/*
/*
* get_object_name is pretty sensitive to the length its input lists ;
* get_object_address is pretty sensitive to the length its input lists ;
* check that they ' re what it wants .
* check that they ' re what it wants .
*/
*/
switch ( type )
switch ( type )
@ -2064,7 +2068,7 @@ pg_get_object_address(PG_FUNCTION_ARGS)
}
}
/*
/*
* Now build the Node type that get_object_name ( ) expects for the given
* Now build the Node type that get_object_address ( ) expects for the given
* type .
* type .
*/
*/
switch ( type )
switch ( type )