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