Use get_am_name to find indexAM name

pull/5192/head
Onur Tirtir 2021-08-18 00:44:37 +03:00
parent dfc950ce1e
commit fa9933daf3
1 changed files with 2 additions and 7 deletions

View File

@ -888,17 +888,12 @@ GetIndexAccessMethodName(Oid indexId)
Oid indexAMId = indexForm->relam; Oid indexAMId = indexForm->relam;
ReleaseSysCache(indexTuple); ReleaseSysCache(indexTuple);
/* fetch pg_am tuple of index' access method */ char *indexAmName = get_am_name(indexAMId);
HeapTuple indexAMTuple = SearchSysCache1(AMOID, ObjectIdGetDatum(indexAMId)); if (!indexAmName)
if (!HeapTupleIsValid(indexAMTuple))
{ {
ereport(ERROR, (errmsg("access method with oid %u does not exist", indexAMId))); ereport(ERROR, (errmsg("access method with oid %u does not exist", indexAMId)));
} }
Form_pg_am indexAMForm = (Form_pg_am) GETSTRUCT(indexAMTuple);
char *indexAmName = pstrdup(indexAMForm->amname.data);
ReleaseSysCache(indexAMTuple);
return indexAmName; return indexAmName;
} }