MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
载入中...
搜索中...
未找到
Public 成员函数 | Private 属性 | 所有成员列表
ComparisonExpr类 参考

比较表达式 更多...

#include <expression.h>

类 ComparisonExpr 继承关系图:
Expression

Public 成员函数

 ComparisonExpr (CompOp comp, std::unique_ptr< Expression > left, std::unique_ptr< Expression > right)
 
ExprType type () const override
 表达式的类型 可以根据表达式类型来转换为具体的子类 更多...
 
RC get_value (const Tuple &tuple, Value &value) const override
 根据具体的tuple,来计算当前表达式的值。tuple有可能是一个具体某个表的行数据 更多...
 
AttrType value_type () const override
 表达式值的类型 更多...
 
CompOp comp () const
 
std::unique_ptr< Expression > & left ()
 
std::unique_ptr< Expression > & right ()
 
RC try_get_value (Value &value) const override
 
RC compare_value (const Value &left, const Value &right, bool &value) const
 
- Public 成员函数 继承自 Expression
virtual RC get_value (const Tuple &tuple, Value &value) const =0
 根据具体的tuple,来计算当前表达式的值。tuple有可能是一个具体某个表的行数据 更多...
 
virtual RC try_get_value (Value &value) const
 在没有实际运行的情况下,也就是无法获取tuple的情况下,尝试获取表达式的值 更多...
 
virtual ExprType type () const =0
 表达式的类型 可以根据表达式类型来转换为具体的子类 更多...
 
virtual AttrType value_type () const =0
 表达式值的类型 更多...
 
virtual std::string name () const
 表达式的名字,比如是字段名称,或者用户在执行SQL语句时输入的内容
 
virtual void set_name (std::string name)
 

Private 属性

CompOp comp_
 
std::unique_ptr< Expressionleft_
 
std::unique_ptr< Expressionright_
 

详细描述

比较表达式

成员函数说明

◆ compare_value()

RC ComparisonExpr::compare_value ( const Value left,
const Value right,
bool &  value 
) const

compare the two tuple cells

参数
valuethe result of comparison

◆ get_value()

RC ComparisonExpr::get_value ( const Tuple tuple,
Value value 
) const
overridevirtual

根据具体的tuple,来计算当前表达式的值。tuple有可能是一个具体某个表的行数据

实现了 Expression.

◆ try_get_value()

RC ComparisonExpr::try_get_value ( Value value) const
overridevirtual

尝试在没有tuple的情况下获取当前表达式的值 在优化的时候,可能会使用到

重载 Expression .

◆ type()

ExprType ComparisonExpr::type ( ) const
inlineoverridevirtual

表达式的类型 可以根据表达式类型来转换为具体的子类

实现了 Expression.

◆ value_type()

AttrType ComparisonExpr::value_type ( ) const
inlineoverridevirtual

表达式值的类型

一个表达式运算出结果后,只有一个值

实现了 Expression.


该类的文档由以下文件生成: