opensource bigfix patch
This commit is contained in:
25
deps/oblib/src/common/object/ob_object.cpp
vendored
25
deps/oblib/src/common/object/ob_object.cpp
vendored
@ -570,7 +570,30 @@ int ObObj::deep_copy(const ObObj& src, char* buf, const int64_t size, int64_t& p
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool ObObj::can_compare(const ObObj& other) const
|
||||
void* ObObj::get_deep_copy_obj_ptr()
|
||||
{
|
||||
void * ptr = NULL;
|
||||
if (ob_is_string_type(this->get_type())) {
|
||||
// val_len_ == 0 is empty string, and it may point to unexpected address
|
||||
// Therefore, reset it to NULL
|
||||
if (val_len_ != 0) {
|
||||
ptr = (void *)v_.string_;
|
||||
}
|
||||
} else if (ob_is_raw(this->get_type())) {
|
||||
ptr = (void *)v_.string_;
|
||||
} else if (ob_is_number_tc(this->get_type())) {
|
||||
ptr = (void *)v_.nmb_digits_;
|
||||
} else if (ob_is_rowid_tc(this->get_type())) {
|
||||
ptr = (void *)v_.string_;
|
||||
} else if (ob_is_lob_locator(this->get_type())) {
|
||||
ptr = (void *)&v_.lob_locator_;
|
||||
} else {
|
||||
// do nothing
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
||||
bool ObObj::can_compare(const ObObj &other) const
|
||||
{
|
||||
obj_cmp_func cmp_func = NULL;
|
||||
return (is_min_value() || is_max_value() || other.is_min_value() || other.is_max_value() ||
|
||||
|
||||
9
deps/oblib/src/common/object/ob_object.h
vendored
9
deps/oblib/src/common/object/ob_object.h
vendored
@ -2084,10 +2084,11 @@ public:
|
||||
//@{ deep copy
|
||||
bool need_deep_copy() const;
|
||||
OB_INLINE int64_t get_deep_copy_size() const;
|
||||
int deep_copy(const ObObj& src, char* buf, const int64_t size, int64_t& pos);
|
||||
void set_data_ptr(void* data_ptr);
|
||||
const void* get_data_ptr() const;
|
||||
// return byte length
|
||||
int deep_copy(const ObObj &src, char *buf, const int64_t size, int64_t &pos);
|
||||
void* get_deep_copy_obj_ptr();
|
||||
void set_data_ptr(void *data_ptr);
|
||||
const void *get_data_ptr() const;
|
||||
//return byte length
|
||||
int64_t get_data_length() const;
|
||||
|
||||
template <typename Allocator>
|
||||
|
||||
3
deps/oblib/src/lib/ob_define.h
vendored
3
deps/oblib/src/lib/ob_define.h
vendored
@ -818,6 +818,9 @@ const uint64_t OB_ORA_SYS_DATABASE_ID = 6;
|
||||
const uint64_t OB_ORA_LBACSYS_DATABASE_ID = 7;
|
||||
const uint64_t OB_ORA_AUDITOR_DATABASE_ID = 8;
|
||||
const char* const OB_ORA_PUBLIC_SCHEMA_NAME = "PUBLIC";
|
||||
// not actual database, only for using and creating outlines without specified database
|
||||
const uint64_t OB_OUTLINE_DEFAULT_DATABASE_ID = 9;
|
||||
const char* const OB_OUTLINE_DEFAULT_DATABASE_NAME = "__outline_default_db";
|
||||
|
||||
// sys unit associated const
|
||||
const uint64_t OB_SYS_UNIT_CONFIG_ID = 1;
|
||||
|
||||
Reference in New Issue
Block a user