Пример #1
0
        private static void ParseDataTypeSize(DmRow row, string size)
        {
            MySqlDbMetadata metadata = new MySqlDbMetadata();

            size = size.Trim('(', ')');
            string[] parts = size.Split(',');

            if (!metadata.IsNumericType(row["DATA_TYPE"].ToString()))
            {
                row["CHARACTER_MAXIMUM_LENGTH"] = Int32.Parse(parts[0]);
                // will set octet length in a minute
            }
            else
            {
                row["NUMERIC_PRECISION"] = Int32.Parse(parts[0]);
                if (parts.Length == 2)
                {
                    row["NUMERIC_SCALE"] = Int32.Parse(parts[1]);
                }
            }
        }
Пример #2
0
        private static string GetDataTypeDefaults(string type, DmRow row)
        {
            MySqlDbMetadata metadata = new MySqlDbMetadata();

            string format    = "({0},{1})";
            object precision = row["NUMERIC_PRECISION"];

            if (metadata.IsNumericType(type) && string.IsNullOrEmpty((string)row["NUMERIC_PRECISION"]))
            {
                row["NUMERIC_PRECISION"] = 10;
                row["NUMERIC_SCALE"]     = 0;

                if (!metadata.SupportScale(type))
                {
                    format = "({0})";
                }

                return(String.Format(format, row["NUMERIC_PRECISION"],
                                     row["NUMERIC_SCALE"]));
            }
            return(String.Empty);
        }