/* MVNDistinctItem represents a single combination of columns */ typedefstruct MVNDistinctItem
{ double ndistinct; /* ndistinct value for this combination */ int nattributes; /* number of attributes */
AttrNumber *attributes; /* attribute numbers */
} MVNDistinctItem;
/* A MVNDistinct object, comprising all possible combinations of columns */ typedefstruct MVNDistinct
{
uint32 magic; /* magic constant marker */
uint32 type; /* type of ndistinct (BASIC) */
uint32 nitems; /* number of items in the statistic */
MVNDistinctItem items[FLEXIBLE_ARRAY_MEMBER];
} MVNDistinct;
/* Multivariate functional dependencies */ #define STATS_DEPS_MAGIC 0xB4549A2C /* marks serialized bytea */ #define STATS_DEPS_TYPE_BASIC 1/* basic dependencies type */
/* *Functionaldependencies,trackingcolumn-levelrelationships(values *inonecolumndeterminevaluesinanotherone).
*/ typedefstruct MVDependency
{ double degree; /* degree of validity (0-1) */
AttrNumber nattributes; /* number of attributes */
AttrNumber attributes[FLEXIBLE_ARRAY_MEMBER]; /* attribute numbers */
} MVDependency;
typedefstruct MVDependencies
{
uint32 magic; /* magic constant marker */
uint32 type; /* type of MV Dependencies (BASIC) */
uint32 ndeps; /* number of dependencies */
MVDependency *deps[FLEXIBLE_ARRAY_MEMBER]; /* dependencies */
} MVDependencies;
/* used to flag stats serialized to bytea */ #define STATS_MCV_MAGIC 0xE1A651C2 /* marks serialized bytea */ #define STATS_MCV_TYPE_BASIC 1/* basic MCV list type */
/* max items in MCV list */ #define STATS_MCVLIST_MAX_ITEMS MAX_STATISTICS_TARGET
/* *MultivariateMCV(most-commonvalue)lists * *AstraightforwardextensionofMCVitems-i.e.alist(array)of *combinationsofattributevalues,togetherwithafrequencyandnullflags.
*/ typedefstruct MCVItem
{ double frequency; /* frequency of this combination */ double base_frequency; /* frequency if independent */ bool *isnull; /* NULL flags */
Datum *values; /* item values */
} MCVItem;
/* multivariate MCV list - essentially an array of MCV items */ typedefstruct MCVList
{
uint32 magic; /* magic constant marker */
uint32 type; /* type of MCV list (BASIC) */
uint32 nitems; /* number of MCV items in the array */
AttrNumber ndimensions; /* number of dimensions */
Oid types[STATS_MAX_DIMENSIONS]; /* OIDs of data types */
MCVItem items[FLEXIBLE_ARRAY_MEMBER]; /* array of MCV items */
} MCVList;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.