@@ -1180,48 +1180,33 @@ int ObDASDomainIdMergeIter::multi_get_row()
11801180{
11811181 int ret = OB_SUCCESS;
11821182 ObArenaAllocator allocator (ObMemAttr (MTL_ID (), " DomainIDMGR" ));
1183+ common::ObRowkey data_table_rowkey;
11831184 if (OB_FAIL (data_table_iter_->get_next_row ())) {
1184- if (OB_ITER_END == ret && is_no_sample_) {
1185- int tmp_ret = ret;
1186- ret = OB_SUCCESS;
1187- for (int64_t i = 0 ; OB_SUCC (ret) && i < rowkey_domain_iters_.count (); i++) {
1188- if (OB_ISNULL (rowkey_domain_iters_.at (i))) {
1189- ret = OB_ERR_UNEXPECTED;
1190- LOG_WARN (" get null domain iter" , K (ret), K (i));
1191- } else if (OB_FAIL (rowkey_domain_iters_.at (i)->get_next_row ())) {
1192- if (OB_UNLIKELY (OB_ITER_END != ret)) {
1193- LOG_WARN (" fail to get next rows" , K (ret));
1194- } else {
1195- ret = OB_SUCCESS;
1185+ if (OB_ITER_END != ret) {
1186+ LOG_WARN (" fail to get next data table row" , K (ret));
1187+ } else if (OB_ITER_END == ret) {
1188+ if (is_no_sample_) {
1189+ for (int64_t i = 0 ; i < rowkey_domain_iters_.count (); i++) {
1190+ while (OB_SUCC (rowkey_domain_iters_.at (i)->get_next_row ()))
1191+ {
1192+ // do nothing
11961193 }
1197- } else {
1198- common::ObRowkey rowkey;
1199- if (OB_FAIL (get_rowkey (allocator, rowkey_domain_ctdefs_.at (i), rowkey_domain_rtdefs_.at (i), rowkey))) {
1200- LOG_WARN (" fail to process_data_table_rowkey" , K (ret));
1201- } else {
1202- ret = OB_ERR_UNEXPECTED;
1203- LOG_WARN (" row count isn't equal between data table and rowkey domain" , K (ret), K (rowkey),
1204- K (rowkey_domain_iters_.at (i)->get_scan_param ()), K (data_table_iter_->get_scan_param ()));
1194+ if (OB_ITER_END != ret) {
1195+ LOG_WARN (" fail to get next rowkey domain row" , K (ret), K (i), KPC (rowkey_domain_iters_.at (i)));
12051196 }
12061197 }
12071198 }
1208- if (OB_SUCC (ret)) {
1209- ret = tmp_ret;
1210- }
1211- } else if (ret != OB_ITER_END) {
1212- LOG_WARN (" fail to get next row" , K (ret));
12131199 }
1200+ } else if (is_no_sample_ && OB_FAIL (get_rowkey (allocator, data_table_ctdef_, data_table_rtdef_, data_table_rowkey))) {
1201+ LOG_WARN (" fail to get data table rowkey" , K (ret));
12141202 } else {
12151203 for (int64_t i = 0 ; OB_SUCC (ret) && i < rowkey_domain_iters_.count (); i++) {
12161204 if (is_no_sample_) {
12171205 if (OB_ISNULL (rowkey_domain_iters_.at (i))) {
12181206 ret = OB_ERR_UNEXPECTED;
12191207 LOG_WARN (" get null domain iter" , K (ret), K (i));
12201208 } else {
1221- common::ObRowkey data_table_rowkey;
1222- if (OB_FAIL (get_rowkey (allocator, data_table_ctdef_, data_table_rtdef_, data_table_rowkey))) {
1223- LOG_WARN (" fail to get data table rowkey" , K (ret));
1224- } else if (OB_FAIL (reset_rowkey_domain_iter_scan_range (i, data_table_rowkey))) {
1209+ if (OB_FAIL (reset_rowkey_domain_iter_scan_range (i, data_table_rowkey))) {
12251210 LOG_WARN (" fail to reset rowkey domain iter scan range" , K (ret), K (i));
12261211 } else {
12271212 bool is_found = false ;
0 commit comments