[placeholder] serialization placeholder for domain index scan and text retrieval
This commit is contained in:
@ -127,6 +127,18 @@ OB_DEF_SERIALIZE(ObTableScanCtDef)
|
||||
OB_UNIS_ENCODE(calc_part_id_expr_);
|
||||
OB_UNIS_ENCODE(global_index_rowkey_exprs_);
|
||||
OB_UNIS_ENCODE(flashback_item_.fq_read_tx_uncommitted_);
|
||||
bool has_aux_lookup = false;
|
||||
OB_UNIS_ENCODE(has_aux_lookup);
|
||||
if (OB_SUCC(ret) && has_aux_lookup) {
|
||||
OB_UNIS_ENCODE(*aux_lookup_ctdef_);
|
||||
OB_UNIS_ENCODE(*aux_lookup_loc_meta_);
|
||||
}
|
||||
|
||||
bool has_text_ir = false;
|
||||
OB_UNIS_ENCODE(has_text_ir);
|
||||
if (OB_SUCC(ret) && has_text_ir) {
|
||||
OB_UNIS_ENCODE(*text_ir_ctdef_);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -154,6 +166,17 @@ OB_DEF_SERIALIZE_SIZE(ObTableScanCtDef)
|
||||
OB_UNIS_ADD_LEN(calc_part_id_expr_);
|
||||
OB_UNIS_ADD_LEN(global_index_rowkey_exprs_);
|
||||
OB_UNIS_ADD_LEN(flashback_item_.fq_read_tx_uncommitted_);
|
||||
bool has_aux_lookup = false;
|
||||
OB_UNIS_ADD_LEN(has_aux_lookup);
|
||||
if (has_aux_lookup) {
|
||||
OB_UNIS_ADD_LEN(*aux_lookup_ctdef_);
|
||||
OB_UNIS_ADD_LEN(*aux_lookup_loc_meta_);
|
||||
}
|
||||
bool has_text_ir = false;
|
||||
OB_UNIS_ADD_LEN(has_text_ir);
|
||||
if (has_text_ir) {
|
||||
OB_UNIS_ADD_LEN(*text_ir_ctdef_);
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
@ -198,6 +221,30 @@ OB_DEF_DESERIALIZE(ObTableScanCtDef)
|
||||
OB_UNIS_DECODE(calc_part_id_expr_);
|
||||
OB_UNIS_DECODE(global_index_rowkey_exprs_);
|
||||
OB_UNIS_DECODE(flashback_item_.fq_read_tx_uncommitted_);
|
||||
bool has_aux_lookup = false;
|
||||
OB_UNIS_DECODE(has_aux_lookup);
|
||||
if (OB_SUCC(ret) && has_aux_lookup) {
|
||||
if (OB_ISNULL(aux_lookup_ctdef_ = OB_NEWx(ObDASScanCtDef, &allocator_, allocator_))) {
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
LOG_WARN("failed to allocate memory for aux lookup ctdef", K(ret));
|
||||
} else if (OB_ISNULL(aux_lookup_loc_meta_ = OB_NEWx(ObDASTableLocMeta, &allocator_, allocator_))) {
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
LOG_WARN("failed to allocate memory for aux lookup table location meta", K(ret));
|
||||
} else {
|
||||
OB_UNIS_DECODE(*aux_lookup_ctdef_);
|
||||
OB_UNIS_DECODE(*aux_lookup_loc_meta_);
|
||||
}
|
||||
}
|
||||
bool has_text_ir = false;
|
||||
OB_UNIS_DECODE(has_text_ir);
|
||||
if (OB_SUCC(ret) && has_text_ir) {
|
||||
if (OB_ISNULL(text_ir_ctdef_ = OB_NEWx(ObDASIRCtDef, &allocator_, allocator_))) {
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
LOG_WARN("failed to allocate memory for text ir ctdef", K(ret));
|
||||
} else {
|
||||
OB_UNIS_DECODE(*text_ir_ctdef_);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
#include "sql/das/ob_das_ref.h"
|
||||
#include "sql/das/ob_data_access_service.h"
|
||||
#include "sql/das/ob_das_scan_op.h"
|
||||
#include "sql/das/ob_text_retrieval_op.h"
|
||||
#include "sql/engine/basic/ob_pushdown_filter.h"
|
||||
#include "sql/engine/table/ob_index_lookup_op_impl.h"
|
||||
namespace oceanbase
|
||||
@ -139,7 +140,10 @@ public:
|
||||
das_dppr_tbl_(nullptr),
|
||||
allocator_(allocator),
|
||||
calc_part_id_expr_(NULL),
|
||||
global_index_rowkey_exprs_(allocator)
|
||||
global_index_rowkey_exprs_(allocator),
|
||||
aux_lookup_ctdef_(nullptr),
|
||||
aux_lookup_loc_meta_(nullptr),
|
||||
text_ir_ctdef_(nullptr)
|
||||
{ }
|
||||
const ExprFixedArray &get_das_output_exprs() const
|
||||
{
|
||||
@ -161,7 +165,10 @@ public:
|
||||
KPC_(lookup_loc_meta),
|
||||
KPC_(das_dppr_tbl),
|
||||
KPC_(calc_part_id_expr),
|
||||
K_(global_index_rowkey_exprs));
|
||||
K_(global_index_rowkey_exprs),
|
||||
KPC_(aux_lookup_ctdef),
|
||||
KPC_(aux_lookup_loc_meta),
|
||||
KPC_(text_ir_ctdef));
|
||||
//the query range of index scan/table scan
|
||||
ObQueryRange pre_query_range_;
|
||||
FlashBackItem flashback_item_;
|
||||
@ -188,6 +195,11 @@ public:
|
||||
ObExpr *calc_part_id_expr_;
|
||||
ExprFixedArray global_index_rowkey_exprs_;
|
||||
// end for Global Index Lookup
|
||||
// domain doc_id aux lookup
|
||||
ObDASScanCtDef *aux_lookup_ctdef_;
|
||||
ObDASTableLocMeta *aux_lookup_loc_meta_;
|
||||
// text retrieval
|
||||
ObDASIRCtDef *text_ir_ctdef_;
|
||||
};
|
||||
|
||||
struct ObTableScanRtDef
|
||||
|
||||
Reference in New Issue
Block a user