Ejemplo n.º 1
0
        private static void ProcessColumnsOptimalTypeCommand(string args)
        {
            if (args == "")
            {
                Console.WriteLine(NO_TABLE_SELECTED);
                return;
            }
            IList <string>         errors;
            IList <DatabaseObject> tables = GetTablesFromArgs(args, out errors);

            if (errors.Count > 0)
            {
                foreach (string error in errors)
                {
                    Console.WriteLine(error);
                }
                return;
            }
            try
            {
                foreach (DatabaseObject table in tables)
                {
                    Console.WriteLine($"Table: {table.NameWithSchemaBrackets}");
                    IList <TableColumn> columns = _databaseOperations.GetTableColumns(table);
                    foreach (TableColumn column in columns)
                    {
                        Console.WriteLine($"Column: {column.Name}");
                        foreach (IList <string> infoPair in _optimizer.EvaluateColumnDataType(column, table))
                        {
                            if (infoPair.Count > 1)
                            {
                                Console.WriteLine(string.Join(" ", infoPair));
                            }
                            else
                            {
                                Console.WriteLine(infoPair[0]);
                            }
                        }
                        Console.WriteLine();
                    }
                    Console.WriteLine(SEPARATOR);
                    Console.WriteLine();
                }
            }
            catch (DatabaseException exc)
            {
                Debug.WriteLine(exc);
                Console.WriteLine("Error: Statistics cannot be loaded");
            }
        }