2304 HeapTuple index_tuple;
2305 Form_pg_index index_form;
2306 int16 index_attnum = InvalidAttrNumber;
2309 index_tuple = SearchSysCache1(INDEXRELID, ObjectIdGetDatum(index_oid));
2310 if (!HeapTupleIsValid(index_tuple))
2311 elog(ERROR,
"cache lookup failed for index %u", index_oid);
2313 index_form = (Form_pg_index) GETSTRUCT(index_tuple);
2316 if (index_form->indrelid != table_oid)
2317 elog(ERROR,
"table=%u and index=%u are not related", table_oid, index_oid);
2320 for (int16 i = 0; i < (int16)(index_form->indkey.dim1); i++)
2322 if (index_form->indkey.values[i] == table_attnum)
2328 ReleaseSysCache(index_tuple);
2329 return index_attnum;