18 #include "scanner/engine/metadata.h" 19 #include "scanner/engine/table_meta_cache.h" 20 #include "scanner/util/common.h" 21 #include "scanner/util/profiler.h" 46 const std::string& name()
const {
return name_; }
48 virtual Result validate() = 0;
50 virtual Result get_upstream_rows(
const std::vector<i64>& downstream_rows,
51 std::vector<i64>& upstream_rows)
const = 0;
53 virtual Result get_num_downstream_rows(
54 i64 num_upstream_rows,
55 i64& num_downstream_rows)
const = 0;
57 virtual Result get_downstream_rows(
58 const std::vector<i64>& upstream_rows,
59 std::vector<i64>& downstream_rows,
60 std::vector<i64>& downstream_upstream_mapping)
const = 0;
67 make_domain_sampler_instance(
const std::string& sampler_type,
68 const std::vector<u8>& sampler_args,
72 std::vector<i64> rows;
78 : name_(name), num_rows_(num_rows) {}
82 const std::string& name()
const {
return name_; }
84 virtual Result validate() = 0;
86 virtual i64 total_rows()
const = 0;
88 virtual i64 total_groups()
const = 0;
90 virtual std::vector<i64> total_rows_per_group()
const = 0;
94 virtual void reset() = 0;
98 virtual i64 offset_at_group(i64 group_idx)
const = 0;
105 Result make_partitioner_instance(
const std::string& sampler_type,
106 const std::vector<u8>& sampler_args,
Definition: database.cpp:36