int ObRootTableService::remove_tables(ObScanHelper &scan_helper, const common::ObArray<uint64_t> &tables)
{
    int ret = OB_SUCCESS;
    if (OB_SUCCESS != (ret = check_integrity()))
    {
        TBSYS_LOG(ERROR, "integrity error");
    }
    else
    {
        for (int32_t i = 0; i < tables.count(); ++i)
        {
            const uint64_t &tid = tables.at(i);
            if (OB_SUCCESS != (ret = this->remove_table(scan_helper, tid)))
            {
                TBSYS_LOG(ERROR, "failed to remove table, err=%d tid=%ld",
                          ret, tid);
                break;
            }
            else
            {
                TBSYS_LOG(INFO, "removed table, tid=%ld", tid);
            }
        }
    }
    return ret;
}
 int ObRootOperationData::set_delete_table(common::ObArray<uint64_t> &delete_tables)
 {
   int ret = OB_SUCCESS;
   if (delete_tables.count() <= 0)
   {
     ret = OB_INVALID_ARGUMENT;
     TBSYS_LOG(WARN, "invalid argument. table count=%ld", delete_tables.count());
   }
   else
   {
     for (int64_t i = 0; i < delete_tables.count(); i++)
     {
       delete_tables_.push_back(delete_tables.at(i));
     }
   }
   return ret;
 }
int ObInMemorySort::set_sort_columns(const common::ObArray<ObSortColumn> &sort_columns)
{
  int ret = OB_SUCCESS;
  sort_columns_ = &sort_columns;
  for (int64_t i = 0; i < sort_columns.count(); ++i)
  {
    const ObSortColumn &sort_column = sort_columns.at(i);
    if (OB_SUCCESS != (ret = row_store_.add_reserved_column(sort_column.table_id_, sort_column.column_id_)))
    {
      TBSYS_LOG(WARN, "failed to add reserved column, err=%d", ret);
      break;
    }
  }
  return ret;
}