[CP] [to #52466277]ps cursor support select DO_NOT_OPERATE_THIS_FOLDER into outfile
This commit is contained in:
@ -3068,11 +3068,22 @@ int ObMPStmtExecute::response_query_header(ObSQLSessionInfo &session, pl::ObDbms
|
|||||||
*this,
|
*this,
|
||||||
false,
|
false,
|
||||||
OB_INVALID_COUNT);
|
OB_INVALID_COUNT);
|
||||||
if (OB_FAIL(drv.response_query_header(cursor.get_field_columns(),
|
if (0 == cursor.get_field_columns().count()) {
|
||||||
false,
|
// SELECT * INTO OUTFILE return null field, and only response ok packet
|
||||||
false,
|
ObOKPParam ok_param;
|
||||||
true))) {
|
ok_param.affected_rows_ = 0;
|
||||||
LOG_WARN("fail to get autocommit", K(ret));
|
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;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -73,9 +73,12 @@ int ObDbmsInfo::deep_copy_field_columns(ObIAllocator& allocator,
|
|||||||
if (OB_ISNULL(src_fields)) {
|
if (OB_ISNULL(src_fields)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("can't copy null fields", K(ret));
|
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;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("src fields is null.", K(ret), K(src_fields->count()));
|
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()))) {
|
} else if (OB_FAIL(dst_fields.reserve(src_fields->count()))) {
|
||||||
LOG_WARN("fail to reserve column fields",
|
LOG_WARN("fail to reserve column fields",
|
||||||
K(ret), K(dst_fields.count()), K(src_fields->count()));
|
K(ret), K(dst_fields.count()), K(src_fields->count()));
|
||||||
|
Reference in New Issue
Block a user