提交 bd109eae 编写于 作者: O obdev 提交者: ob-robot

[BUGFIX] fix vtable query lob use sql level allocator

上级 cb8394b2
......@@ -650,8 +650,8 @@ struct ObMemLobCommon
static const uint32_t MAGIC_CODE2 = 0x7F7FABCD; // LOB magic for debug
ObMemLobCommon(ObMemLobType type, bool is_simple) :
lob_common_(), type_(type), read_only_(0), has_inrow_data_(1), is_open_(0),
is_simple_(is_simple), has_extern_(0), reserved_(0), version_(MEM_LOB_LOCATOR_VERSION)
lob_common_(), version_(MEM_LOB_LOCATOR_VERSION), type_(type), read_only_(0),
has_inrow_data_(1), is_open_(0), is_simple_(is_simple), has_extern_(0), reserved_(0)
{ lob_common_.is_mem_loc_ = 1; }
OB_INLINE void set_extern(bool has_extern) { has_extern_ = has_extern ? 1 : 0; };
......@@ -690,6 +690,7 @@ struct ObMemLobCommon
ObLobCommon lob_common_;
// version, type, flags total 4 bytes, correspoinding to the old locator version
uint32_t version_ : 8;
uint32_t type_ : 4; // ObMemLobType (Persistent/TmpFull/TmpDelta)
// flags, 20 bits
......@@ -703,7 +704,6 @@ struct ObMemLobCommon
uint32_t has_extern_ : 1; // Indicate whether the lob locator has extern segment
uint32_t reserved_ : 15;
uint32_t version_ : 8;
char data_[0];
};
......
......@@ -415,7 +415,7 @@ int ObVirtualTableIterator::get_next_row(ObNewRow *&row)
&& is_lob_storage(col_schema->get_data_type())
&& !cur_row->cells_[i].has_lob_header()) { // cannot be json type;
ObObj &obj_convert = cur_row->cells_[i];
if (OB_FAIL(ObTextStringResult::ob_convert_obj_temporay_lob(obj_convert, *allocator_))) {
if (OB_FAIL(ObTextStringResult::ob_convert_obj_temporay_lob(obj_convert, row_calc_buf_))) {
LOG_WARN("fail to add lob header", KR(ret), "object", cur_row->cells_[i]);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册