Revert iter object by upper layer

This commit is contained in:
JiahuaChen
2022-11-15 12:08:00 +00:00
committed by wangzelin.wzl
parent 790775ee68
commit 3c66d1a97b
3 changed files with 7 additions and 13 deletions

View File

@ -711,7 +711,7 @@ void ObLSTabletService::report_tablet_to_rs(
}
}
int ObLSTabletService::table_scan(ObTableScanIterator &iter, ObTableScanParam &param, ObNewRowIterator *&result)
int ObLSTabletService::table_scan(ObTableScanIterator &iter, ObTableScanParam &param)
{
int ret = OB_SUCCESS;
NG_TRACE(S_table_scan_begin);
@ -737,16 +737,13 @@ int ObLSTabletService::table_scan(ObTableScanIterator &iter, ObTableScanParam &p
if (!is_same) {
ret = OB_REPLICA_NOT_READABLE;
LOG_WARN("ls is not allow to read", K(ret), KPC(ls_), KP(&iter));
} else {
// result should be assigned at the last
result = &iter;
}
}
NG_TRACE(S_table_scan_end);
return ret;
}
int ObLSTabletService::table_rescan(ObTableScanParam &param, ObNewRowIterator *&result)
int ObLSTabletService::table_rescan(ObTableScanParam &param, ObNewRowIterator *result)
{
int ret = OB_SUCCESS;
NG_TRACE(S_table_rescan_begin);

View File

@ -275,11 +275,10 @@ public:
// DAS interface
int table_scan(
ObTableScanIterator &iter,
ObTableScanParam &param,
common::ObNewRowIterator *&result);
ObTableScanParam &param);
int table_rescan(
ObTableScanParam &param,
common::ObNewRowIterator *&result);
common::ObNewRowIterator *result);
int insert_rows(
ObStoreCtx &ctx,
const ObDMLBaseParam &dml_param,

View File

@ -229,6 +229,8 @@ int ObAccessService::table_scan(
} else if (OB_ISNULL(iter = common::sop_borrow(ObTableScanIterator))) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("alloc table scan iterator fail", K(ret));
} else if (FALSE_IT(result = iter)) {
// upper layer responsible for releasing iter object
} else if (OB_FAIL(check_read_allowed_(ls_id,
data_tablet_id,
access_type,
@ -243,15 +245,11 @@ int ObAccessService::table_scan(
} else if (OB_ISNULL(tablet_service = ls->get_tablet_svr())) {
ret = OB_ERR_UNEXPECTED;
LOG_ERROR("tablet service should not be null.", K(ret), K(ls_id));
} else if (OB_FAIL(tablet_service->table_scan(*iter, param, result))) {
} else if (OB_FAIL(tablet_service->table_scan(*iter, param))) {
LOG_WARN("Fail to scan table, ", K(ret), K(ls_id), K(param));
} else {
NG_TRACE(storage_table_scan_end);
}
if (OB_FAIL(ret) && OB_NOT_NULL(iter)) {
iter->reset();
common::sop_return(ObTableScanIterator, iter);
}
return ret;
}