[asan] 3.1 open observer无法启动
This commit is contained in:
@ -249,12 +249,13 @@ int ObSyncCmdDriver::response_query_result(ObMySQLResultSet& result)
|
||||
MYSQL_PROTOCOL_TYPE protocol_type = result.is_ps_protocol() ? BINARY : TEXT;
|
||||
const ObSQLSessionInfo *tmp_session = result.get_exec_context().get_my_session();
|
||||
const ObDataTypeCastParams dtc_params = ObBasicSessionInfo::create_dtc_params(tmp_session);
|
||||
OMPKRow rp(ObSMRow(protocol_type,
|
||||
ObSMRow sm_row(protocol_type,
|
||||
*row,
|
||||
dtc_params,
|
||||
result.get_field_columns(),
|
||||
ctx_.schema_guard_,
|
||||
tmp_session->get_effective_tenant_id()));
|
||||
tmp_session->get_effective_tenant_id());
|
||||
OMPKRow rp(sm_row);
|
||||
if (OB_FAIL(sender_.response_packet(rp))) {
|
||||
LOG_WARN("response packet fail", K(ret), KP(row));
|
||||
}
|
||||
|
@ -259,12 +259,13 @@ int ObSyncPlanDriver::response_query_result(
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
const ObDataTypeCastParams dtc_params = ObBasicSessionInfo::create_dtc_params(&session_);
|
||||
OMPKRow rp(ObSMRow(protocol_type,
|
||||
ObSMRow sm_row(protocol_type,
|
||||
*row,
|
||||
dtc_params,
|
||||
result.get_field_columns(),
|
||||
ctx_.schema_guard_,
|
||||
session_.get_effective_tenant_id()));
|
||||
session_.get_effective_tenant_id());
|
||||
OMPKRow rp(sm_row);
|
||||
if (OB_FAIL(sender_.response_packet(rp))) {
|
||||
LOG_WARN("response packet fail", K(ret), KP(row), K(row_num), K(can_retry));
|
||||
// break;
|
||||
|
@ -51,6 +51,9 @@ int ObExecuteExecutor::execute(ObExecContext& ctx, ObExecuteStmt& stmt)
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
observer::ObVirtualTableIteratorFactory vt_iter_factory(*GCTX.vt_iter_creator_);
|
||||
SMART_VAR(ObSqlCtx, sql_ctx)
|
||||
{
|
||||
SMART_VAR(ObResultSet, result_set, *ctx.get_my_session())
|
||||
{
|
||||
result_set.init_partition_location_cache(
|
||||
@ -69,8 +72,6 @@ int ObExecuteExecutor::execute(ObExecContext& ctx, ObExecuteStmt& stmt)
|
||||
GCTX.schema_service_->get_tenant_received_broadcast_version(OB_SYS_TENANT_ID, sys_version))) {
|
||||
LOG_WARN("fail get sys schema version", K(ret));
|
||||
} else {
|
||||
ObSqlCtx sql_ctx;
|
||||
observer::ObVirtualTableIteratorFactory vt_iter_factory(*GCTX.vt_iter_creator_);
|
||||
sql_ctx.retry_times_ = 0;
|
||||
sql_ctx.merged_version_ = ctx.get_sql_ctx()->merged_version_;
|
||||
sql_ctx.vt_iter_factory_ = &vt_iter_factory;
|
||||
@ -132,6 +133,7 @@ int ObExecuteExecutor::execute(ObExecContext& ctx, ObExecuteStmt& stmt)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -9004,7 +9004,11 @@ table_reference inner_join_type opt_full_table_factor %prec LOWER_ON
|
||||
if ($1->type_ == T_ORG) {
|
||||
ParseNode *name_node = NULL;
|
||||
make_name_node(name_node, result->malloc_pool_, "full");
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_ALIAS, $1->num_child_ + 1);
|
||||
$$ = new_node(result->malloc_pool_, T_ALIAS, $1->num_child_ + 1);
|
||||
if (OB_UNLIKELY($$ == NULL)) {
|
||||
yyerror(NULL, result, "No more space for malloc\n");
|
||||
YYABORT_NO_MEMORY;
|
||||
} else {
|
||||
for (int i = 0; i <= $1->num_child_; ++i) {
|
||||
if (i == 0) {
|
||||
$$->children_[i] = $1->children_[i];
|
||||
@ -9014,6 +9018,7 @@ table_reference inner_join_type opt_full_table_factor %prec LOWER_ON
|
||||
$$->children_[i] = $1->children_[i - 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ($1->type_ == T_ALIAS && $1->children_[1] != NULL &&
|
||||
strlen($1->children_[1]->str_value_) == 0) {
|
||||
ParseNode *name_node = NULL;
|
||||
@ -9046,7 +9051,11 @@ table_factor %prec LOWER_COMMA
|
||||
if ($1->type_ == T_ORG) {
|
||||
ParseNode *name_node = NULL;
|
||||
make_name_node(name_node, result->malloc_pool_, "full");
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_ALIAS, $1->num_child_ + 1);
|
||||
$$ = new_node(result->malloc_pool_, T_ALIAS, $1->num_child_ + 1);
|
||||
if (OB_UNLIKELY($$ == NULL)) {
|
||||
yyerror(NULL, result, "No more space for malloc\n");
|
||||
YYABORT_NO_MEMORY;
|
||||
} else {
|
||||
for (int i = 0; i <= $1->num_child_; ++i) {
|
||||
if (i == 0) {
|
||||
$$->children_[i] = $1->children_[i];
|
||||
@ -9056,6 +9065,7 @@ table_factor %prec LOWER_COMMA
|
||||
$$->children_[i] = $1->children_[i - 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ($1->type_ == T_ALIAS && $1->children_[1] != NULL &&
|
||||
strlen($1->children_[1]->str_value_) == 0) {
|
||||
ParseNode *name_node = NULL;
|
||||
|
@ -306,7 +306,7 @@ int ObSSTableMultiVersionRowMultiGetter::inner_open(
|
||||
}
|
||||
}
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (OB_FAIL(new_iterator<ObSSTableRowMultiScanner>(*access_ctx.allocator_))) {
|
||||
} else if (OB_FAIL(new_iterator<ObSSTableRowMultiScanner>(*access_ctx.stmt_allocator_))) {
|
||||
LOG_WARN("failed to new iterator", K(ret));
|
||||
} else if (OB_FAIL(iter_->init(iter_param, access_ctx, table, &multi_version_ranges_))) {
|
||||
LOG_WARN("failed to open multi scanner", K(ret));
|
||||
@ -431,7 +431,7 @@ int ObSSTableMultiVersionRowMultiScanner::inner_open(
|
||||
}
|
||||
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (OB_FAIL(new_iterator<ObSSTableRowMultiScanner>(*access_ctx.allocator_))) {
|
||||
} else if (OB_FAIL(new_iterator<ObSSTableRowMultiScanner>(*access_ctx.stmt_allocator_))) {
|
||||
LOG_WARN("failed to new iterator", K(ret));
|
||||
} else if (OB_FAIL(iter_->init(iter_param, access_ctx, table, &multi_version_ranges_))) {
|
||||
LOG_WARN("failed to open scanner", K(ret));
|
||||
|
Reference in New Issue
Block a user