greenplumn CLeftAntiSemiJoinStatsProcessor 源码
greenplumn CLeftAntiSemiJoinStatsProcessor 代码
文件路径:/src/backend/gporca/libnaucrates/include/naucrates/statistics/CLeftAntiSemiJoinStatsProcessor.h
//---------------------------------------------------------------------------
// Greenplum Database
// Copyright (C) 2018 VMware, Inc. or its affiliates.
//
// @filename:
// CLeftAntiSemiJoinStatsProcessor.h
//
// @doc:
// Processor for computing statistics for Left Anti-Semi Join
//---------------------------------------------------------------------------
#ifndef GPNAUCRATES_CLeftAntiSemiJoinStatsProcessor_H
#define GPNAUCRATES_CLeftAntiSemiJoinStatsProcessor_H
#include "naucrates/statistics/CJoinStatsProcessor.h"
namespace gpnaucrates
{
class CLeftAntiSemiJoinStatsProcessor : public CJoinStatsProcessor
{
public:
// helper for LAS-joining histograms
static void JoinHistogramsLASJ(
const CHistogram *histogram1, const CHistogram *histogram2,
CStatsPredJoin *join_stats, CDouble num_rows1, CDouble num_rows2,
CHistogram **result_hist1, // output: histogram 1 after join
CHistogram **result_hist2, // output: histogram 2 after join
CDouble *scale_factor, // output: scale factor based on the join
BOOL is_input_empty, // if true, one of the inputs is empty
IStatistics::EStatsJoinType join_type,
BOOL DoIgnoreLASJHistComputation);
// left anti semi join with another stats structure
static CStatistics *CalcLASJoinStatsStatic(
CMemoryPool *mp, const IStatistics *outer_stats_input,
const IStatistics *inner_stats_input,
CStatsPredJoinArray *join_preds_stats,
BOOL
DoIgnoreLASJHistComputation // except for the case of LOJ cardinality estimation this flag is always
// "true" since LASJ stats computation is very aggressive
);
// compute the null frequency for LASJ
static CDouble NullFreqLASJ(CStatsPred::EStatsCmpType stats_cmp_type,
const CHistogram *outer_histogram,
const CHistogram *inner_histogram);
};
} // namespace gpnaucrates
#endif // !GPNAUCRATES_CLeftAntiSemiJoinStatsProcessor_H
// EOF
相关信息
相关文章
greenplumn CFilterStatsProcessor 源码
greenplumn CGroupByStatsProcessor 源码
greenplumn CInnerJoinStatsProcessor 源码
greenplumn CJoinStatsProcessor 源码
greenplumn CLeftOuterJoinStatsProcessor 源码
greenplumn CLeftSemiJoinStatsProcessor 源码
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦