13#include "sql/operator/physical_operator.h"
28 RC open(
Trx *trx)
override;
29 RC next(
Chunk &chunk)
override;
33 template <
class STATE,
typename T>
34 void update_aggregate_state(
void *state,
const Column &column);
36 template <
class STATE,
typename T>
37 void append_to_column(
void *state,
Column &column)
39 STATE *state_ptr =
reinterpret_cast<STATE *
>(state);
40 column.append_one((
char *)&state_ptr->value);
49 void insert(
void *aggr_value) { data_.push_back(aggr_value); }
51 void *at(
size_t index)
53 ASSERT(index <= data_.size(),
"index out of range");
57 size_t size() {
return data_.size(); }
60 for (
auto &aggr_value : data_) {
69 vector<Expression *> aggregate_expressions_;
Definition: aggregate_vec_physical_operator.h:45
聚合物理算子 (Vectorized)
Definition: aggregate_vec_physical_operator.h:20
vector< Expression * > value_expressions_
聚合表达式
Definition: aggregate_vec_physical_operator.h:70
A Chunk represents a set of columns.
Definition: chunk.h:23
A column contains multiple values in contiguous memory with a specified type.
Definition: column.h:22
与LogicalOperator对应,物理算子描述执行计划将如何执行
Definition: physical_operator.h:63
事务接口
Definition: trx.h:141
PhysicalOperatorType
物理算子类型
Definition: physical_operator.h:36