PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ pg_get_nd_stats_by_name()

static ND_STATS* pg_get_nd_stats_by_name ( const Oid  table_oid,
const text *  att_text,
int  mode,
bool  only_parent 
)
static

Pull the stats object from the PgSQL system catalogs.

The debugging functions are taking human input (table names) and columns, so we have to look those up first. In case of parent tables with INHERITS, when "only_parent" is true this function only searches for stats in the parent table ignoring any statistic collected from the children.

Definition at line 997 of file gserialized_estimate.c.

998 {
999  const char *att_name = text_to_cstring(att_text);
1000  AttrNumber att_num;
1001 
1002  /* We know the name? Look up the num */
1003  if ( att_text )
1004  {
1005  /* Get the attribute number */
1006  att_num = get_attnum(table_oid, att_name);
1007  if ( ! att_num ) {
1008  elog(ERROR, "attribute \"%s\" does not exist", att_name);
1009  return NULL;
1010  }
1011  }
1012  else
1013  {
1014  elog(ERROR, "attribute name is null");
1015  return NULL;
1016  }
1017 
1018  return pg_get_nd_stats(table_oid, att_num, mode, only_parent);
1019 }
static ND_STATS * pg_get_nd_stats(const Oid table_oid, AttrNumber att_num, int mode, bool only_parent)
Pull the stats object from the PgSQL system catalogs.

References pg_get_nd_stats().

Referenced by _postgis_gserialized_joinsel(), _postgis_gserialized_sel(), _postgis_gserialized_stats(), and gserialized_estimated_extent().

Here is the call graph for this function:
Here is the caller graph for this function: