14 #ifndef EXTENDED_STATS_INTERNAL_H
15 #define EXTENDED_STATS_INTERNAL_H
81 double totalrows,
int stattarget);
103 Const **cstp,
bool *expronleftp);
#define FLEXIBLE_ARRAY_MEMBER
MVDependencies * statext_dependencies_deserialize(bytea *data)
int multi_sort_compare_dims(int start, int end, const SortItem *a, const SortItem *b, MultiSortSupport mss)
MultiSortSupportData * MultiSortSupport
Selectivity mcv_clauselist_selectivity(PlannerInfo *root, StatisticExtInfo *stat, List *clauses, int varRelid, JoinType jointype, SpecialJoinInfo *sjinfo, RelOptInfo *rel, Selectivity *basesel, Selectivity *totalsel)
struct DimensionInfo DimensionInfo
int multi_sort_compare_dim(int dim, const SortItem *a, const SortItem *b, MultiSortSupport mss)
bytea * statext_ndistinct_serialize(MVNDistinct *ndistinct)
int compare_scalars_simple(const void *a, const void *b, void *arg)
MCVList * statext_mcv_deserialize(bytea *data)
bytea * statext_dependencies_serialize(MVDependencies *dependencies)
SortItem * build_sorted_items(StatsBuildData *data, int *nitems, MultiSortSupport mss, int numattrs, AttrNumber *attnums)
int compare_datums_simple(Datum a, Datum b, SortSupport ssup)
MVNDistinct * statext_ndistinct_deserialize(bytea *data)
struct StatsBuildData StatsBuildData
Selectivity mcv_combine_selectivities(Selectivity simple_sel, Selectivity mcv_sel, Selectivity mcv_basesel, Selectivity mcv_totalsel)
Selectivity mcv_clause_selectivity_or(PlannerInfo *root, StatisticExtInfo *stat, MCVList *mcv, Node *clause, bool **or_matches, Selectivity *basesel, Selectivity *overlap_mcvsel, Selectivity *overlap_basesel, Selectivity *totalsel)
MVNDistinct * statext_ndistinct_build(double totalrows, StatsBuildData *data)
AttrNumber * build_attnums_array(Bitmapset *attrs, int nexprs, int *numattrs)
MCVList * statext_mcv_build(StatsBuildData *data, double totalrows, int stattarget)
MVDependencies * statext_dependencies_build(StatsBuildData *data)
int multi_sort_compare(const void *a, const void *b, void *arg)
MultiSortSupport multi_sort_init(int ndims)
bytea * statext_mcv_serialize(MCVList *mcvlist, VacAttrStats **stats)
struct MultiSortSupportData MultiSortSupportData
void multi_sort_add_dimension(MultiSortSupport mss, int sortdim, Oid oper, Oid collation)
bool examine_opclause_args(List *args, Node **exprp, Const **cstp, bool *expronleftp)
Operator oper(ParseState *pstate, List *opname, Oid ltypeId, Oid rtypeId, bool noError, int location)
SortSupportData ssup[FLEXIBLE_ARRAY_MEMBER]