patch 4.0

This commit is contained in:
wangzelin.wzl
2022-10-24 10:34:53 +08:00
parent 4ad6e00ec3
commit 93a1074b0c
10533 changed files with 2588271 additions and 2299373 deletions

View File

@ -16,26 +16,32 @@
#include "sql/engine/expr/ob_expr_extra_info_factory.h"
#include "sql/engine/expr/ob_expr.h"
namespace oceanbase {
namespace sql {
struct ObIExprExtraInfo {
ObIExprExtraInfo(common::ObIAllocator& alloc, const ObExprOperatorType& type)
namespace oceanbase
{
namespace sql
{
struct ObIExprExtraInfo
{
ObIExprExtraInfo(common::ObIAllocator &alloc, const ObExprOperatorType &type)
: type_(type)
{
UNUSED(alloc);
OB_ASSERT(ObExprExtraInfoFactory::is_registered(type));
}
public:
virtual int serialize(char* buf, const int64_t len, int64_t& pos) const = 0;
virtual int serialize(char *buf, const int64_t len, int64_t &pos) const = 0;
virtual int deserialize(const char* buf, const int64_t len, int64_t& pos) = 0;
virtual int deserialize(const char *buf, const int64_t len, int64_t &pos) = 0;
virtual int64_t get_serialize_size() const = 0;
virtual int deep_copy(
common::ObIAllocator& allocator, const ObExprOperatorType type, ObIExprExtraInfo*& copied_info) const = 0;
virtual int deep_copy(common::ObIAllocator &allocator,
const ObExprOperatorType type,
ObIExprExtraInfo *&copied_info) const = 0;
public:
ObExprOperatorType type_;
};
} // end namespace sql
} // end namespace oceanbase
} // end namespace sql
} // end namespace oceanbase
#endif