2427 char *colname = text_to_cstring(col);
2430 Oid b2d_oid = postgis_oid(BOX2DFOID);
2431 Oid gdx_oid = postgis_oid(BOX3DOID);
2433 if (!(b2d_oid && gdx_oid))
2436 tbl_rel = RelationIdGetRelation(tbl_oid);
2437 idx_list = RelationGetIndexList(tbl_rel);
2438 RelationClose(tbl_rel);
2441 foreach(lc, idx_list)
2443 Form_pg_class idx_form;
2446 Oid idx_oid = lfirst_oid(lc);
2448 idx_tup = SearchSysCache1(RELOID, ObjectIdGetDatum(idx_oid));
2449 if (!HeapTupleIsValid(idx_tup))
2450 elog(ERROR,
"%s: unable to lookup index %u in syscache", __func__, idx_oid);
2451 idx_form = (Form_pg_class) GETSTRUCT(idx_tup);
2452 idx_relam = idx_form->relam;
2453 ReleaseSysCache(idx_tup);
2456 if (idx_relam == GIST_AM_OID)
2458 Form_pg_attribute att;
2462 HeapTuple att_tup = SearchSysCache2(ATTNAME,
2463 ObjectIdGetDatum(idx_oid),
2464 PointerGetDatum(colname));
2465 if (!HeapTupleIsValid(att_tup))
2468 att = (Form_pg_attribute) GETSTRUCT(att_tup);
2469 atttypid = att->atttypid;
2470 attnum = att->attnum;
2471 ReleaseSysCache(att_tup);
2474 if (b2d_oid == atttypid || gdx_oid == atttypid)
char result[OUT_DOUBLE_BUFFER_SIZE]
#define STATISTIC_KIND_2D
#define STATISTIC_KIND_ND