public MySqlOptions() { ConnectionSettings = new MimerConnectionSettings(); ServerVersion = new ServerVersion(null); CharSetBehavior = CharSetBehavior.AppendToAllColumns; // We do not use the MySQL versions's default, but explicitly use `utf8mb4` // if not changed by the user. CharSet = CharSet.Utf8Mb4; // NCHAR and NVARCHAR are prefdefined by MySQL. NationalCharSet = CharSet.Utf8Mb3; ReplaceLineBreaksWithCharFunction = true; DefaultDataTypeMappings = new MySqlDefaultDataTypeMappings(); }
protected virtual MySqlDefaultDataTypeMappings ApplyDefaultDataTypeMappings(MySqlDefaultDataTypeMappings defaultDataTypeMappings, MimerConnectionSettings connectionSettings) { defaultDataTypeMappings ??= DefaultDataTypeMappings; if (connectionSettings.TreatTinyAsBoolean) { defaultDataTypeMappings = defaultDataTypeMappings.WithClrBoolean(MySqlBooleanType.TinyInt1); } else if (defaultDataTypeMappings.ClrBoolean != MySqlBooleanType.Bit1 && defaultDataTypeMappings.ClrBoolean != MySqlBooleanType.None) { defaultDataTypeMappings = defaultDataTypeMappings.WithClrBoolean(MySqlBooleanType.Bit1); } return(defaultDataTypeMappings); }