typedefstruct
{
Oid eqopr; /* '=' operator for datatype, if any */
Oid eqfunc; /* and associated function */
Oid ltopr; /* '<' operator for datatype, if any */
} StdAnalyzeData;
typedefstruct
{
Datum value; /* a data value */ int tupno; /* position index for tuple it came from */
} ScalarItem;
/* (de)serialization info */ typedefstruct DimensionInfo
{ int nvalues; /* number of deduplicated values */ int nbytes; /* number of bytes (serialized) */ int nbytes_aligned; /* size of deserialized data with alignment */ int typlen; /* pg_type.typlen */ bool typbyval; /* pg_type.typbyval */
} DimensionInfo;
/* multi-sort */ typedefstruct MultiSortSupportData
{ int ndims; /* number of dimensions */ /* sort support data for each dimension: */
SortSupportData ssup[FLEXIBLE_ARRAY_MEMBER];
} MultiSortSupportData;
typedef MultiSortSupportData *MultiSortSupport;
typedefstruct SortItem
{
Datum *values; bool *isnull; int count;
} SortItem;
/* a unified representation of the data the statistics is built on */ typedefstruct StatsBuildData
{ int numrows; int nattnums;
AttrNumber *attnums;
VacAttrStats **stats;
Datum **values; bool **nulls;
} StatsBuildData;
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.