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]); } } }
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); }