patch 4.0
This commit is contained in:
@ -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
|
||||
|
||||
Reference in New Issue
Block a user