PostGIS  2.3.8dev-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 whith INHERITS, when "only_parent" is TRUE this function only searchs for stats in the parent table ignoring any statistic collected from the children.

Definition at line 935 of file gserialized_estimate.c.

References pg_get_nd_stats(), and text2cstring().

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

936 {
937  const char *att_name = text2cstring(att_text);
938  AttrNumber att_num;
939 
940  /* We know the name? Look up the num */
941  if ( att_text )
942  {
943  /* Get the attribute number */
944  att_num = get_attnum(table_oid, att_name);
945  if ( ! att_num ) {
946  elog(ERROR, "attribute \"%s\" does not exist", att_name);
947  return NULL;
948  }
949  }
950  else
951  {
952  elog(ERROR, "attribute name is null");
953  return NULL;
954  }
955 
956  return pg_get_nd_stats(table_oid, att_num, mode, only_parent);
957 }
char * text2cstring(const text *textptr)
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.
Here is the call graph for this function:
Here is the caller graph for this function: