MiniOB
1
MiniOB is one mini database, helping developers to learn how database works.
载入中...
搜索中...
未找到
src
observer
sql
expr
aggregator.h
1
/* Copyright (c) 2021 OceanBase and/or its affiliates. All rights reserved.
2
miniob is licensed under Mulan PSL v2.
3
You can use this software according to the terms and conditions of the Mulan PSL v2.
4
You may obtain a copy of Mulan PSL v2 at:
5
http://license.coscl.org.cn/MulanPSL2
6
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
7
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
8
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
9
See the Mulan PSL v2 for more details. */
10
11
//
12
// Created by Wangyunlai on 2024/05/29.
13
//
14
15
#pragma once
16
17
#include "common/value.h"
18
#include "common/sys/rc.h"
19
20
class
Aggregator
21
{
22
public
:
23
virtual
~Aggregator
() =
default
;
24
25
virtual
RC accumulate(
const
Value
&value) = 0;
26
virtual
RC evaluate(
Value
&result) = 0;
27
28
protected
:
29
Value
value_;
30
};
31
32
class
SumAggregator
:
public
Aggregator
33
{
34
public
:
35
RC accumulate(
const
Value
&value)
override
;
36
RC evaluate(
Value
&result)
override
;
37
};
Aggregator
Definition:
aggregator.h:21
SumAggregator
Definition:
aggregator.h:33
Value
属性的值
Definition:
value.h:30
制作者
1.9.5