PostGIS 3.0.6dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ 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 992 of file gserialized_estimate.c.

993{
994 const char *att_name = text_to_cstring(att_text);
995 AttrNumber att_num;
996
997 /* We know the name? Look up the num */
998 if ( att_text )
999 {
1000 /* Get the attribute number */
1001 att_num = get_attnum(table_oid, att_name);
1002 if ( ! att_num ) {
1003 elog(ERROR, "attribute \"%s\" does not exist", att_name);
1004 return NULL;
1005 }
1006 }
1007 else
1008 {
1009 elog(ERROR, "attribute name is null");
1010 return NULL;
1011 }
1012
1013 return pg_get_nd_stats(table_oid, att_num, mode, only_parent);
1014}
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.
char * text_to_cstring(const text *textptr)

References pg_get_nd_stats(), and text_to_cstring().

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: