public async Task MoveExtentsAsync()

in code/KustoCopyConsole/Kusto/DbCommandClient.cs [325:367]


        public async Task<int> MoveExtentsAsync(
            KustoPriority priority,
            string tempTableName,
            string tableName,
            IEnumerable<string> extentIds,
            CancellationToken ct)
        {
            return await _commandQueue.RequestRunAsync(
               priority,
               async () =>
               {
                   var extentIdTextList = string.Join(", ", extentIds);
                   var commandText = @$"
.move extents from table ['{tempTableName}'] to table ['{tableName}']
    with (setNewIngestionTime=true)
    ({extentIdTextList})
";
                   var properties = new ClientRequestProperties();
                   var reader = await _provider.ExecuteControlCommandAsync(
                       DatabaseName,
                       commandText,
                       properties);
                   var results = reader
                    .ToEnumerable(r => new
                    {
                        OriginalExtentId = (string)(r[0]),
                        ResultExtentId = (string)(r[1]),
                        Details = r[2].ToString()
                    })
                    .ToImmutableArray();
                   var singleDetail = results
                   .Where(r => !string.IsNullOrWhiteSpace(r.Details))
                   .Select(r => r.Details)
                   .FirstOrDefault();

                   if (singleDetail != null)
                   {
                       throw new CopyException($"Move extent failure:  '{singleDetail}'", true);
                   }

                   return results.Count();
               });
        }