/* ------------------------------------------------------------------------- * * expr_distinct.h * functions for get number of distinct of expressions. * * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * Copyright (c) Huawei Technologies Co., Ltd. 2012-2021. All rights reserved. * * src/include/utils/expr_distinct.h * * ------------------------------------------------------------------------- */ #ifndef EXPR_DISTINCT_H #define EXPR_DISTINCT_H #include "postgres.h" #include "nodes/relation.h" #include "utils/selfuncs.h" #include "utils/be_module.h" extern double GetExprNumDistinctRouter(VariableStatData *varData, bool needAdjust, STATS_EST_TYPE eType, bool isJoinVar); extern bool IsFunctionTransferNumDistinct(FuncExpr *funcExpr); /* * The array collects all of the type-cast functions which can transfer number of distinct from any one of * its arguments, other parameters are viewed as Const. */ extern Oid g_typeCastFuncOids[]; #endif /* EXPR_DISTINCT_H */