[CP] [to #52466277]ps cursor support select DO_NOT_OPERATE_THIS_FOLDER into outfile

This commit is contained in:
LiuYoung00 2023-10-20 12:14:01 +00:00 committed by ob-robot
parent 415cbc0dee
commit 62ec8bae30
2 changed files with 20 additions and 6 deletions

View File

@ -3068,11 +3068,22 @@ int ObMPStmtExecute::response_query_header(ObSQLSessionInfo &session, pl::ObDbms
*this,
false,
OB_INVALID_COUNT);
if (OB_FAIL(drv.response_query_header(cursor.get_field_columns(),
false,
false,
true))) {
LOG_WARN("fail to get autocommit", K(ret));
if (0 == cursor.get_field_columns().count()) {
// SELECT * INTO OUTFILE return null field, and only response ok packet
ObOKPParam ok_param;
ok_param.affected_rows_ = 0;
ok_param.is_partition_hit_ = session.partition_hit().get_bool();
ok_param.has_more_result_ = false;
if (OB_FAIL(send_ok_packet(session, ok_param))) {
LOG_WARN("fail to send ok packt", K(ok_param), K(ret));
}
} else {
if (OB_FAIL(drv.response_query_header(cursor.get_field_columns(),
false,
false,
true))) {
LOG_WARN("fail to get autocommit", K(ret));
}
}
return ret;
}

View File

@ -73,9 +73,12 @@ int ObDbmsInfo::deep_copy_field_columns(ObIAllocator& allocator,
if (OB_ISNULL(src_fields)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("can't copy null fields", K(ret));
} else if (src_fields->count() <= 0) {
} else if (src_fields->count() < 0) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("src fields is null.", K(ret), K(src_fields->count()));
} else if (0 == src_fields->count() ) {
// do nothing
// SELECT * INTO OUTFILE return null field
} else if (OB_FAIL(dst_fields.reserve(src_fields->count()))) {
LOG_WARN("fail to reserve column fields",
K(ret), K(dst_fields.count()), K(src_fields->count()));