[FEAT MERGE] impl vectorization 2.0

Co-authored-by: Naynahs <cfzy002@126.com>
Co-authored-by: hwx65 <1780011298@qq.com>
Co-authored-by: oceanoverflow <oceanoverflow@gmail.com>
This commit is contained in:
obdev
2023-12-22 03:43:19 +00:00
committed by ob-robot
parent 1178245448
commit b6773084c6
592 changed files with 358124 additions and 303288 deletions

View File

@ -820,17 +820,21 @@ public:
struct ObSqlDatumInfo {
public:
ObSqlDatumInfo() : datum_ptr_(nullptr), map_type_(OBJ_DATUM_MAPPING_MAX) {}
ObSqlDatumInfo(common::ObDatum* datum_ptr, const ObObjDatumMapType map_type)
: datum_ptr_(datum_ptr), map_type_(map_type)
ObSqlDatumInfo() :
datum_ptr_(nullptr),
expr_(nullptr)
{}
ObSqlDatumInfo(common::ObDatum* datum_ptr, sql::ObExpr *expr)
: datum_ptr_(datum_ptr), expr_(expr)
{}
~ObSqlDatumInfo() = default;
OB_INLINE void reset() { datum_ptr_ = nullptr; map_type_ = OBJ_DATUM_MAPPING_MAX; }
OB_INLINE bool is_valid() const { return datum_ptr_ != nullptr && map_type_ != OBJ_DATUM_MAPPING_MAX; }
TO_STRING_KV(KP_(datum_ptr), K_(map_type));
OB_INLINE void reset() { datum_ptr_ = nullptr; expr_ = nullptr; }
OB_INLINE bool is_valid() const { return datum_ptr_ != nullptr && expr_ != nullptr; }
OB_INLINE common::ObObjDatumMapType get_obj_datum_map() const { return expr_->obj_datum_map_; }
TO_STRING_KV(KP_(datum_ptr), KP_(expr));
common::ObDatum *datum_ptr_;
ObObjDatumMapType map_type_;
const sql::ObExpr *expr_;
};
} // namespace blocksstable