int TaskFactory::add_columns_conf(const uint64_t table_id, common::ObScanParam & param, const TableConf *conf) { int ret = OB_SUCCESS; TableConf::ColumnIterator itr = conf->column_begin(); ObString column; while (itr != conf->column_end()) { const char *column_name = *itr; if (conf->is_null_column(column_name) || conf->is_rowkey(column_name)) { itr++; continue; } TBSYS_LOG(DEBUG, "columns with conf, column = %s", column_name); column.assign(const_cast<char *>(*itr), (int32_t)strlen(column_name)); ret = param.add_column(column); if (ret != OB_SUCCESS) { TBSYS_LOG(ERROR, "add column failed:table[%lu], column[%s], ret[%d]", table_id, column_name, ret); ret = OB_ERROR; break; } itr++; } return ret; }