@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
* $ PostgreSQL : pgsql / src / backend / commands / opclasscmds . c , v 1.64 2009 / 01 / 01 17 : 23 : 39 momjian Exp $
* $ PostgreSQL : pgsql / src / backend / commands / opclasscmds . c , v 1.64 .2 .1 2010 / 07 / 03 13 : 53 : 26 rhaas Exp $
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
@ -1993,6 +1993,27 @@ AlterOpClassOwner(List *name, const char *access_method, Oid newOwnerId)
heap_close ( rel , NoLock ) ;
}
/*
* Change operator class owner , specified by OID
*/
void
AlterOpClassOwner_oid ( Oid opclassOid , Oid newOwnerId )
{
HeapTuple tup ;
Relation rel ;
rel = heap_open ( OperatorClassRelationId , RowExclusiveLock ) ;
tup = SearchSysCacheCopy ( CLAOID , ObjectIdGetDatum ( opclassOid ) , 0 , 0 , 0 ) ;
if ( ! HeapTupleIsValid ( tup ) )
elog ( ERROR , " cache lookup failed for opclass %u " , opclassOid ) ;
AlterOpClassOwner_internal ( rel , tup , newOwnerId ) ;
heap_freetuple ( tup ) ;
heap_close ( rel , NoLock ) ;
}
/*
* The first parameter is pg_opclass , opened and suitably locked . The second
* parameter is a copy of the tuple from pg_opclass we want to modify .
@ -2120,6 +2141,28 @@ AlterOpFamilyOwner(List *name, const char *access_method, Oid newOwnerId)
heap_close ( rel , NoLock ) ;
}
/*
* Change operator family owner , specified by OID
*/
void
AlterOpFamilyOwner_oid ( Oid opfamilyOid , Oid newOwnerId )
{
HeapTuple tup ;
Relation rel ;
rel = heap_open ( OperatorFamilyRelationId , RowExclusiveLock ) ;
tup = SearchSysCacheCopy ( OPFAMILYOID , ObjectIdGetDatum ( opfamilyOid ) ,
0 , 0 , 0 ) ;
if ( ! HeapTupleIsValid ( tup ) )
elog ( ERROR , " cache lookup failed for opfamily %u " , opfamilyOid ) ;
AlterOpFamilyOwner_internal ( rel , tup , newOwnerId ) ;
heap_freetuple ( tup ) ;
heap_close ( rel , NoLock ) ;
}
/*
* The first parameter is pg_opfamily , opened and suitably locked . The second
* parameter is a copy of the tuple from pg_opfamily we want to modify .