Ejemplo n.º 1
0
        public async Task RenameTableAsync(string tableName, string name)
        {
            var request = new RenameTableRequest {
                Name = tableName.ToTableId(ClusterId), NewId = name
            };
            await _client.RenameTableAsync(request);

            await Task.Yield();
        }
Ejemplo n.º 2
0
        public RenameTableStatus RenameTable(RenameTableRequest request)
        {
            try
            {
                var options = new TransactionOptions()
                {
                    IsolationLevel = System.Transactions.IsolationLevel.Serializable,
                    Timeout        = new TimeSpan(0, TransactionTimeout, 0)
                };
                using (var trScope = new TransactionScope(TransactionScopeOption.Required, options))
                {
                    if (request.SingleUserMode)
                    {
                        SetSingleMode(DatabaseName);
                    }
                    List <AlteredDependencyDbo> dependecies = RenameTheTable(request.OldName, request.Table);
                    int recordCounter = CountRecords(request.Table);

                    string logMsg          = String.Format("Name of the table '{0}' was changed to {1}.", request.OldName, request.Table);
                    Guid   historyRecordId = LogTableOperation(request.Table, logMsg, request.CFC_DB_Major_Version,
                                                               request.CFC_DB_Minor_Version);

                    trScope.Complete();
                    return(new RenameTableStatus()
                    {
                        IsSuccess = true,
                        AlteredDependencies = dependecies,
                        RecordCount = recordCounter
                    });
                }
            }
            catch (Exception ex)
            {
                return(new RenameTableStatus()
                {
                    IsSuccess = false, ErrorMessage = ex.Message
                });
            }
            finally
            {
                if (request.SingleUserMode)
                {
                    SetMultiUserMode(DatabaseName);
                }
            }
        }
Ejemplo n.º 3
0
        public void RenameTable(string databaseName, string tableName, [FromBody] RenameTableRequest request)
        {
            var table = this.GetTable(databaseName, tableName);

            table.Dispatcher.Invoke(() => table.Rename(this.Authentication, request.NewTableName));
        }