diff --git a/src/MySqlConnector/Core/ConnectionSettings.cs b/src/MySqlConnector/Core/ConnectionSettings.cs index 17194e297..f0c5e6cee 100644 --- a/src/MySqlConnector/Core/ConnectionSettings.cs +++ b/src/MySqlConnector/Core/ConnectionSettings.cs @@ -26,7 +26,7 @@ public ConnectionSettings(MySqlConnectionStringBuilder csb) if (csb.LoadBalance != MySqlLoadBalance.RoundRobin) throw new NotSupportedException("LoadBalance not supported when ConnectionProtocol=NamedPipe"); ConnectionProtocol = MySqlConnectionProtocol.NamedPipe; - HostNames = (csb.Server == "." || string.Equals(csb.Server, "localhost", StringComparison.OrdinalIgnoreCase)) ? s_localhostPipeServer : [ csb.Server ]; + HostNames = (csb.Server == "." || string.Equals(csb.Server, "localhost", StringComparison.OrdinalIgnoreCase)) ? s_localhostPipeServer : [csb.Server]; PipeName = csb.PipeName; } else if (csb.ConnectionProtocol == MySqlConnectionProtocol.SharedMemory) @@ -272,7 +272,7 @@ private ConnectionSettings(ConnectionSettings other, string host, int port, stri ConnectionString = other.ConnectionString; ConnectionProtocol = MySqlConnectionProtocol.Sockets; - HostNames = [ host ]; + HostNames = [host]; LoadBalance = other.LoadBalance; Port = port; PipeName = other.PipeName; diff --git a/src/MySqlConnector/Core/ServerVersion.cs b/src/MySqlConnector/Core/ServerVersion.cs index 2feac84fc..f6822faf1 100644 --- a/src/MySqlConnector/Core/ServerVersion.cs +++ b/src/MySqlConnector/Core/ServerVersion.cs @@ -25,13 +25,13 @@ public ServerVersion(ReadOnlySpan versionString) if (Utf8Parser.TryParse(versionString, out int major, out var bytesConsumed)) { versionString = versionString[bytesConsumed..]; - if (versionString is [ 0x2E, .. ]) + if (versionString is [0x2E, ..]) { versionString = versionString[1..]; if (Utf8Parser.TryParse(versionString, out minor, out bytesConsumed)) { versionString = versionString[bytesConsumed..]; - if (versionString is [ 0x2E, .. ]) + if (versionString is [0x2E, ..]) { versionString = versionString[1..]; if (Utf8Parser.TryParse(versionString, out build, out bytesConsumed)) diff --git a/src/MySqlConnector/Core/TypeMapper.cs b/src/MySqlConnector/Core/TypeMapper.cs index 6d46c4822..5ba28e210 100644 --- a/src/MySqlConnector/Core/TypeMapper.cs +++ b/src/MySqlConnector/Core/TypeMapper.cs @@ -20,18 +20,18 @@ private TypeMapper() m_mySqlDbTypeToColumnTypeMetadata = []; // boolean - var typeBoolean = AddDbTypeMapping(new(typeof(bool), [ DbType.Boolean ], convert: static o => Convert.ToBoolean(o, CultureInfo.InvariantCulture))); + var typeBoolean = AddDbTypeMapping(new(typeof(bool), [DbType.Boolean], convert: static o => Convert.ToBoolean(o, CultureInfo.InvariantCulture))); AddColumnTypeMetadata(new("TINYINT", typeBoolean, MySqlDbType.Bool, isUnsigned: false, length: 1, columnSize: 1, simpleDataTypeName: "BOOL", createFormat: "BOOL")); // integers - var typeSbyte = AddDbTypeMapping(new(typeof(sbyte), [ DbType.SByte ], convert: static o => Convert.ToSByte(o, CultureInfo.InvariantCulture))); - var typeByte = AddDbTypeMapping(new(typeof(byte), [ DbType.Byte ], convert: static o => Convert.ToByte(o, CultureInfo.InvariantCulture))); - var typeShort = AddDbTypeMapping(new(typeof(short), [ DbType.Int16 ], convert: static o => Convert.ToInt16(o, CultureInfo.InvariantCulture))); - var typeUshort = AddDbTypeMapping(new(typeof(ushort), [ DbType.UInt16 ], convert: static o => Convert.ToUInt16(o, CultureInfo.InvariantCulture))); - var typeInt = AddDbTypeMapping(new(typeof(int), [ DbType.Int32 ], convert: static o => Convert.ToInt32(o, CultureInfo.InvariantCulture))); - var typeUint = AddDbTypeMapping(new(typeof(uint), [ DbType.UInt32 ], convert: static o => Convert.ToUInt32(o, CultureInfo.InvariantCulture))); - var typeLong = AddDbTypeMapping(new(typeof(long), [ DbType.Int64 ], convert: static o => Convert.ToInt64(o, CultureInfo.InvariantCulture))); - var typeUlong = AddDbTypeMapping(new(typeof(ulong), [ DbType.UInt64 ], convert: static o => Convert.ToUInt64(o, CultureInfo.InvariantCulture))); + var typeSbyte = AddDbTypeMapping(new(typeof(sbyte), [DbType.SByte], convert: static o => Convert.ToSByte(o, CultureInfo.InvariantCulture))); + var typeByte = AddDbTypeMapping(new(typeof(byte), [DbType.Byte], convert: static o => Convert.ToByte(o, CultureInfo.InvariantCulture))); + var typeShort = AddDbTypeMapping(new(typeof(short), [DbType.Int16], convert: static o => Convert.ToInt16(o, CultureInfo.InvariantCulture))); + var typeUshort = AddDbTypeMapping(new(typeof(ushort), [DbType.UInt16], convert: static o => Convert.ToUInt16(o, CultureInfo.InvariantCulture))); + var typeInt = AddDbTypeMapping(new(typeof(int), [DbType.Int32], convert: static o => Convert.ToInt32(o, CultureInfo.InvariantCulture))); + var typeUint = AddDbTypeMapping(new(typeof(uint), [DbType.UInt32], convert: static o => Convert.ToUInt32(o, CultureInfo.InvariantCulture))); + var typeLong = AddDbTypeMapping(new(typeof(long), [DbType.Int64], convert: static o => Convert.ToInt64(o, CultureInfo.InvariantCulture))); + var typeUlong = AddDbTypeMapping(new(typeof(ulong), [DbType.UInt64], convert: static o => Convert.ToUInt64(o, CultureInfo.InvariantCulture))); AddColumnTypeMetadata(new("TINYINT", typeSbyte, MySqlDbType.Byte, isUnsigned: false)); AddColumnTypeMetadata(new("TINYINT", typeByte, MySqlDbType.UByte, isUnsigned: true, length: 1)); AddColumnTypeMetadata(new("TINYINT", typeByte, MySqlDbType.UByte, isUnsigned: true)); @@ -46,9 +46,9 @@ private TypeMapper() AddColumnTypeMetadata(new("BIT", typeUlong, MySqlDbType.Bit)); // decimals - var typeDecimal = AddDbTypeMapping(new(typeof(decimal), [ DbType.Decimal, DbType.Currency, DbType.VarNumeric ], convert: static o => Convert.ToDecimal(o, CultureInfo.InvariantCulture))); - var typeDouble = AddDbTypeMapping(new(typeof(double), [ DbType.Double ], convert: static o => Convert.ToDouble(o, CultureInfo.InvariantCulture))); - var typeFloat = AddDbTypeMapping(new(typeof(float), [ DbType.Single ], convert: static o => Convert.ToSingle(o, CultureInfo.InvariantCulture))); + var typeDecimal = AddDbTypeMapping(new(typeof(decimal), [DbType.Decimal, DbType.Currency, DbType.VarNumeric], convert: static o => Convert.ToDecimal(o, CultureInfo.InvariantCulture))); + var typeDouble = AddDbTypeMapping(new(typeof(double), [DbType.Double], convert: static o => Convert.ToDouble(o, CultureInfo.InvariantCulture))); + var typeFloat = AddDbTypeMapping(new(typeof(float), [DbType.Single], convert: static o => Convert.ToSingle(o, CultureInfo.InvariantCulture))); AddColumnTypeMetadata(new("DECIMAL", typeDecimal, MySqlDbType.NewDecimal, createFormat: "DECIMAL({0},{1});precision,scale")); AddColumnTypeMetadata(new("DECIMAL", typeDecimal, MySqlDbType.NewDecimal, isUnsigned: true, createFormat: "DECIMAL({0},{1}) UNSIGNED;precision,scale")); AddColumnTypeMetadata(new("DECIMAL", typeDecimal, MySqlDbType.Decimal)); @@ -56,8 +56,8 @@ private TypeMapper() AddColumnTypeMetadata(new("FLOAT", typeFloat, MySqlDbType.Float)); // string - var typeFixedString = AddDbTypeMapping(new(typeof(string), [ DbType.StringFixedLength, DbType.AnsiStringFixedLength ], convert: Convert.ToString!)); - var typeString = AddDbTypeMapping(new(typeof(string), [ DbType.String, DbType.AnsiString, DbType.Xml ], convert: Convert.ToString!)); + var typeFixedString = AddDbTypeMapping(new(typeof(string), [DbType.StringFixedLength, DbType.AnsiStringFixedLength], convert: Convert.ToString!)); + var typeString = AddDbTypeMapping(new(typeof(string), [DbType.String, DbType.AnsiString, DbType.Xml], convert: Convert.ToString!)); AddColumnTypeMetadata(new("VARCHAR", typeString, MySqlDbType.VarChar, createFormat: "VARCHAR({0});size")); AddColumnTypeMetadata(new("VARCHAR", typeString, MySqlDbType.VarString)); AddColumnTypeMetadata(new("CHAR", typeFixedString, MySqlDbType.String, createFormat: "CHAR({0});size")); @@ -70,7 +70,7 @@ private TypeMapper() AddColumnTypeMetadata(new("JSON", typeString, MySqlDbType.JSON)); // binary - var typeBinary = AddDbTypeMapping(new(typeof(byte[]), [ DbType.Binary ])); + var typeBinary = AddDbTypeMapping(new(typeof(byte[]), [DbType.Binary])); AddColumnTypeMetadata(new("BLOB", typeBinary, MySqlDbType.Blob, binary: true, columnSize: ushort.MaxValue, simpleDataTypeName: "BLOB")); AddColumnTypeMetadata(new("BINARY", typeBinary, MySqlDbType.Binary, binary: true, simpleDataTypeName: "BLOB", createFormat: "BINARY({0});length")); AddColumnTypeMetadata(new("VARBINARY", typeBinary, MySqlDbType.VarBinary, binary: true, simpleDataTypeName: "BLOB", createFormat: "VARBINARY({0});length")); @@ -91,15 +91,15 @@ private TypeMapper() // date/time #if NET6_0_OR_GREATER - AddDbTypeMapping(new(typeof(DateOnly), [ DbType.Date ])); + AddDbTypeMapping(new(typeof(DateOnly), [DbType.Date])); #endif - var typeDate = AddDbTypeMapping(new(typeof(DateTime), [ DbType.Date ])); - var typeDateTime = AddDbTypeMapping(new(typeof(DateTime), [ DbType.DateTime, DbType.DateTime2, DbType.DateTimeOffset ])); - AddDbTypeMapping(new(typeof(DateTimeOffset), [ DbType.DateTimeOffset ])); + var typeDate = AddDbTypeMapping(new(typeof(DateTime), [DbType.Date])); + var typeDateTime = AddDbTypeMapping(new(typeof(DateTime), [DbType.DateTime, DbType.DateTime2, DbType.DateTimeOffset])); + AddDbTypeMapping(new(typeof(DateTimeOffset), [DbType.DateTimeOffset])); #if NET6_0_OR_GREATER - AddDbTypeMapping(new(typeof(TimeOnly), [ DbType.Time ])); + AddDbTypeMapping(new(typeof(TimeOnly), [DbType.Time])); #endif - var typeTime = AddDbTypeMapping(new(typeof(TimeSpan), [ DbType.Time ], convert: static o => o is string s ? Utility.ParseTimeSpan(Encoding.UTF8.GetBytes(s)) : Convert.ChangeType(o, typeof(TimeSpan), CultureInfo.InvariantCulture))); + var typeTime = AddDbTypeMapping(new(typeof(TimeSpan), [DbType.Time], convert: static o => o is string s ? Utility.ParseTimeSpan(Encoding.UTF8.GetBytes(s)) : Convert.ChangeType(o, typeof(TimeSpan), CultureInfo.InvariantCulture))); AddColumnTypeMetadata(new("DATETIME", typeDateTime, MySqlDbType.DateTime)); AddColumnTypeMetadata(new("DATE", typeDate, MySqlDbType.Date)); AddColumnTypeMetadata(new("DATE", typeDate, MySqlDbType.Newdate)); @@ -113,11 +113,11 @@ private TypeMapper() #else Func convertGuid = static o => Guid.Parse(Convert.ToString(o, CultureInfo.InvariantCulture)!); #endif - var typeGuid = AddDbTypeMapping(new(typeof(Guid), [ DbType.Guid ], convert: convertGuid)); + var typeGuid = AddDbTypeMapping(new(typeof(Guid), [DbType.Guid], convert: convertGuid)); AddColumnTypeMetadata(new("CHAR", typeGuid, MySqlDbType.Guid, length: 36, simpleDataTypeName: "CHAR(36)", createFormat: "CHAR(36)")); // null - var typeNull = AddDbTypeMapping(new(typeof(object), [ DbType.Object ])); + var typeNull = AddDbTypeMapping(new(typeof(object), [DbType.Object])); AddColumnTypeMetadata(new("NULL", typeNull, MySqlDbType.Null)); } diff --git a/src/MySqlConnector/MySqlBulkCopy.cs b/src/MySqlConnector/MySqlBulkCopy.cs index 88170b243..1d2510a2e 100644 --- a/src/MySqlConnector/MySqlBulkCopy.cs +++ b/src/MySqlConnector/MySqlBulkCopy.cs @@ -700,7 +700,7 @@ static bool WriteBytes(ReadOnlySpan value, ref int inputIndex, Span } } - private static readonly char[] s_specialCharacters = [ '\t', '\\', '\n' ]; + private static readonly char[] s_specialCharacters = ['\t', '\\', '\n']; private static readonly UTF8Encoding s_utf8Encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false, throwOnInvalidBytes: true); private readonly MySqlConnection m_connection; diff --git a/src/MySqlConnector/MySqlCommandBuilder.cs b/src/MySqlConnector/MySqlCommandBuilder.cs index b69b9444d..828f973fb 100644 --- a/src/MySqlConnector/MySqlCommandBuilder.cs +++ b/src/MySqlConnector/MySqlCommandBuilder.cs @@ -94,7 +94,7 @@ protected override void SetRowUpdatingHandler(DbDataAdapter adapter) public override string UnquoteIdentifier(string quotedIdentifier) { - if (quotedIdentifier is [ '`', .., '`' ]) + if (quotedIdentifier is ['`', .., '`']) quotedIdentifier = quotedIdentifier[1..^1]; return quotedIdentifier.Replace("``", "`"); } diff --git a/src/MySqlConnector/MySqlConnectionStringBuilder.cs b/src/MySqlConnector/MySqlConnectionStringBuilder.cs index b82352596..416470666 100644 --- a/src/MySqlConnector/MySqlConnectionStringBuilder.cs +++ b/src/MySqlConnector/MySqlConnectionStringBuilder.cs @@ -989,72 +989,72 @@ static MySqlConnectionStringOption() // Base Options #pragma warning disable SA1118 // Parameter should not span multiple lines AddOption(options, Server = new( - keys: [ "Server", "Host", "Data Source", "DataSource", "Address", "Addr", "Network Address" ], + keys: ["Server", "Host", "Data Source", "DataSource", "Address", "Addr", "Network Address"], defaultValue: "")); AddOption(options, Port = new( - keys: [ "Port" ], + keys: ["Port"], defaultValue: 3306u)); AddOption(options, UserID = new( - keys: [ "User ID", "UserID", "Username", "Uid", "User name", "User" ], + keys: ["User ID", "UserID", "Username", "Uid", "User name", "User"], defaultValue: "")); AddOption(options, Password = new( - keys: [ "Password", "pwd" ], + keys: ["Password", "pwd"], defaultValue: "")); AddOption(options, Database = new( - keys: [ "Database", "Initial Catalog" ], + keys: ["Database", "Initial Catalog"], defaultValue: "")); AddOption(options, LoadBalance = new( - keys: [ "Load Balance", "LoadBalance" ], + keys: ["Load Balance", "LoadBalance"], defaultValue: MySqlLoadBalance.RoundRobin)); AddOption(options, ConnectionProtocol = new( - keys: [ "Connection Protocol", "ConnectionProtocol", "Protocol" ], + keys: ["Connection Protocol", "ConnectionProtocol", "Protocol"], defaultValue: MySqlConnectionProtocol.Socket)); AddOption(options, PipeName = new( - keys: [ "Pipe Name", "PipeName", "Pipe" ], + keys: ["Pipe Name", "PipeName", "Pipe"], defaultValue: "MYSQL")); // SSL/TLS Options AddOption(options, SslMode = new( - keys: [ "SSL Mode", "SslMode" ], + keys: ["SSL Mode", "SslMode"], defaultValue: MySqlSslMode.Preferred)); AddOption(options, CertificateFile = new( - keys: [ "Certificate File", "CertificateFile" ], + keys: ["Certificate File", "CertificateFile"], defaultValue: "")); AddOption(options, CertificatePassword = new( - keys: [ "Certificate Password", "CertificatePassword" ], + keys: ["Certificate Password", "CertificatePassword"], defaultValue: "")); AddOption(options, CertificateStoreLocation = new( - keys: [ "Certificate Store Location", "CertificateStoreLocation" ], + keys: ["Certificate Store Location", "CertificateStoreLocation"], defaultValue: MySqlCertificateStoreLocation.None)); AddOption(options, CertificateThumbprint = new( - keys: [ "Certificate Thumbprint", "CertificateThumbprint", "Certificate Thumb Print" ], + keys: ["Certificate Thumbprint", "CertificateThumbprint", "Certificate Thumb Print"], defaultValue: "")); AddOption(options, SslCert = new( - keys: [ "SSL Cert", "SslCert", "Ssl-Cert" ], + keys: ["SSL Cert", "SslCert", "Ssl-Cert"], defaultValue: "")); AddOption(options, SslKey = new( - keys: [ "SSL Key", "SslKey", "Ssl-Key" ], + keys: ["SSL Key", "SslKey", "Ssl-Key"], defaultValue: "")); AddOption(options, SslCa = new( - keys: [ "SSL CA", "CACertificateFile", "CA Certificate File", "SslCa", "Ssl-Ca" ], + keys: ["SSL CA", "CACertificateFile", "CA Certificate File", "SslCa", "Ssl-Ca"], defaultValue: "")); AddOption(options, TlsVersion = new( - keys: [ "TLS Version", "TlsVersion", "Tls-Version" ], + keys: ["TLS Version", "TlsVersion", "Tls-Version"], defaultValue: "", coerce: value => { @@ -1097,73 +1097,73 @@ static MySqlConnectionStringOption() })); AddOption(options, TlsCipherSuites = new( - keys: [ "TLS Cipher Suites", "TlsCipherSuites" ], + keys: ["TLS Cipher Suites", "TlsCipherSuites"], defaultValue: "")); // Connection Pooling Options AddOption(options, Pooling = new( - keys: [ "Pooling" ], + keys: ["Pooling"], defaultValue: true)); AddOption(options, ConnectionLifeTime = new( - keys: [ "Connection Lifetime", "ConnectionLifeTime" ], + keys: ["Connection Lifetime", "ConnectionLifeTime"], defaultValue: 0u)); AddOption(options, ConnectionReset = new( - keys: [ "Connection Reset", "ConnectionReset" ], + keys: ["Connection Reset", "ConnectionReset"], defaultValue: true)); AddOption(options, DeferConnectionReset = new( - keys: [ "Defer Connection Reset", "DeferConnectionReset" ], + keys: ["Defer Connection Reset", "DeferConnectionReset"], defaultValue: true)); AddOption(options, ConnectionIdlePingTime = new( - keys: [ "Connection Idle Ping Time", "ConnectionIdlePingTime" ], + keys: ["Connection Idle Ping Time", "ConnectionIdlePingTime"], defaultValue: 0u)); AddOption(options, ConnectionIdleTimeout = new( - keys: [ "Connection Idle Timeout", "ConnectionIdleTimeout" ], + keys: ["Connection Idle Timeout", "ConnectionIdleTimeout"], defaultValue: 180u)); AddOption(options, MinimumPoolSize = new( - keys: [ "Minimum Pool Size", "Min Pool Size", "MinimumPoolSize", "minpoolsize" ], + keys: ["Minimum Pool Size", "Min Pool Size", "MinimumPoolSize", "minpoolsize"], defaultValue: 0u)); AddOption(options, MaximumPoolSize = new( - keys: [ "Maximum Pool Size", "Max Pool Size", "MaximumPoolSize", "maxpoolsize" ], + keys: ["Maximum Pool Size", "Max Pool Size", "MaximumPoolSize", "maxpoolsize"], defaultValue: 100u)); AddOption(options, DnsCheckInterval = new( - keys: [ "DNS Check Interval", "DnsCheckInterval" ], + keys: ["DNS Check Interval", "DnsCheckInterval"], defaultValue: 0u)); // Other Options AddOption(options, AllowLoadLocalInfile = new( - keys: [ "Allow Load Local Infile", "AllowLoadLocalInfile" ], + keys: ["Allow Load Local Infile", "AllowLoadLocalInfile"], defaultValue: false)); AddOption(options, AllowPublicKeyRetrieval = new( - keys: [ "Allow Public Key Retrieval", "AllowPublicKeyRetrieval" ], + keys: ["Allow Public Key Retrieval", "AllowPublicKeyRetrieval"], defaultValue: false)); AddOption(options, AllowUserVariables = new( - keys: [ "Allow User Variables", "AllowUserVariables" ], + keys: ["Allow User Variables", "AllowUserVariables"], defaultValue: false)); AddOption(options, AllowZeroDateTime = new( - keys: [ "Allow Zero DateTime", "AllowZeroDateTime" ], + keys: ["Allow Zero DateTime", "AllowZeroDateTime"], defaultValue: false)); AddOption(options, ApplicationName = new( - keys: [ "Application Name", "ApplicationName" ], + keys: ["Application Name", "ApplicationName"], defaultValue: "")); AddOption(options, AutoEnlist = new( - keys: [ "Auto Enlist", "AutoEnlist" ], + keys: ["Auto Enlist", "AutoEnlist"], defaultValue: true)); AddOption(options, CancellationTimeout = new( - keys: [ "Cancellation Timeout", "CancellationTimeout" ], + keys: ["Cancellation Timeout", "CancellationTimeout"], defaultValue: 2, coerce: x => { @@ -1173,91 +1173,91 @@ static MySqlConnectionStringOption() })); AddOption(options, CharacterSet = new( - keys: [ "Character Set", "CharSet", "CharacterSet" ], + keys: ["Character Set", "CharSet", "CharacterSet"], defaultValue: "")); AddOption(options, ConnectionTimeout = new( - keys: [ "Connection Timeout", "ConnectionTimeout", "Connect Timeout" ], + keys: ["Connection Timeout", "ConnectionTimeout", "Connect Timeout"], defaultValue: 15u)); AddOption(options, ConvertZeroDateTime = new( - keys: [ "Convert Zero DateTime", "ConvertZeroDateTime" ], + keys: ["Convert Zero DateTime", "ConvertZeroDateTime"], defaultValue: false)); AddOption(options, DateTimeKind = new( - keys: [ "DateTime Kind", "DateTimeKind" ], + keys: ["DateTime Kind", "DateTimeKind"], defaultValue: MySqlDateTimeKind.Unspecified)); AddOption(options, DefaultCommandTimeout = new( - keys: [ "Default Command Timeout", "DefaultCommandTimeout", "Command Timeout" ], + keys: ["Default Command Timeout", "DefaultCommandTimeout", "Command Timeout"], defaultValue: 30u)); AddOption(options, ForceSynchronous = new( - keys: [ "Force Synchronous", "ForceSynchronous" ], + keys: ["Force Synchronous", "ForceSynchronous"], defaultValue: false)); AddOption(options, GuidFormat = new( - keys: [ "GUID Format", "GuidFormat" ], + keys: ["GUID Format", "GuidFormat"], defaultValue: MySqlGuidFormat.Default)); AddOption(options, IgnoreCommandTransaction = new( - keys: [ "Ignore Command Transaction", "IgnoreCommandTransaction" ], + keys: ["Ignore Command Transaction", "IgnoreCommandTransaction"], defaultValue: false)); AddOption(options, IgnorePrepare = new( - keys: [ "Ignore Prepare", "IgnorePrepare" ], + keys: ["Ignore Prepare", "IgnorePrepare"], defaultValue: false)); AddOption(options, InteractiveSession = new( - keys: [ "Interactive Session", "InteractiveSession", "Interactive" ], + keys: ["Interactive Session", "InteractiveSession", "Interactive"], defaultValue: false)); AddOption(options, Keepalive = new( - keys: [ "Keep Alive", "Keepalive" ], + keys: ["Keep Alive", "Keepalive"], defaultValue: 0u)); AddOption(options, NoBackslashEscapes = new( - keys: [ "No Backslash Escapes", "NoBackslashEscapes" ], + keys: ["No Backslash Escapes", "NoBackslashEscapes"], defaultValue: false)); AddOption(options, OldGuids = new( - keys: [ "Old Guids", "OldGuids" ], + keys: ["Old Guids", "OldGuids"], defaultValue: false)); AddOption(options, PersistSecurityInfo = new( - keys: [ "Persist Security Info", "PersistSecurityInfo" ], + keys: ["Persist Security Info", "PersistSecurityInfo"], defaultValue: false)); AddOption(options, Pipelining = new( - keys: [ "Pipelining" ], + keys: ["Pipelining"], defaultValue: true)); AddOption(options, ServerRedirectionMode = new( - keys: [ "Server Redirection Mode", "ServerRedirectionMode" ], + keys: ["Server Redirection Mode", "ServerRedirectionMode"], defaultValue: MySqlServerRedirectionMode.Disabled)); AddOption(options, ServerRsaPublicKeyFile = new( - keys: [ "Server RSA Public Key File", "ServerRsaPublicKeyFile" ], + keys: ["Server RSA Public Key File", "ServerRsaPublicKeyFile"], defaultValue: "")); AddOption(options, ServerSPN = new( - keys: [ "Server SPN", "ServerSPN" ], + keys: ["Server SPN", "ServerSPN"], defaultValue: "")); AddOption(options, TreatTinyAsBoolean = new( - keys: [ "Treat Tiny As Boolean", "TreatTinyAsBoolean" ], + keys: ["Treat Tiny As Boolean", "TreatTinyAsBoolean"], defaultValue: true)); AddOption(options, UseAffectedRows = new( - keys: [ "Use Affected Rows", "UseAffectedRows" ], + keys: ["Use Affected Rows", "UseAffectedRows"], defaultValue: false)); AddOption(options, UseCompression = new( - keys: [ "Use Compression", "Compress", "UseCompression" ], + keys: ["Use Compression", "Compress", "UseCompression"], defaultValue: false)); AddOption(options, UseXaTransactions = new( - keys: [ "Use XA Transactions", "UseXaTransactions" ], + keys: ["Use XA Transactions", "UseXaTransactions"], defaultValue: true)); #pragma warning restore SA1118 // Parameter should not span multiple lines diff --git a/src/MySqlConnector/Protocol/Payloads/HandshakeResponse41Payload.cs b/src/MySqlConnector/Protocol/Payloads/HandshakeResponse41Payload.cs index bd048f0ee..ba0e22f37 100644 --- a/src/MySqlConnector/Protocol/Payloads/HandshakeResponse41Payload.cs +++ b/src/MySqlConnector/Protocol/Payloads/HandshakeResponse41Payload.cs @@ -36,7 +36,7 @@ private static ByteBufferWriter CreateCapabilitiesPayload(ProtocolCapabilities s writer.Write((byte) characterSet); // NOTE: not new byte[19]; see https://github.com/dotnet/roslyn/issues/33088 - ReadOnlySpan padding = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]; + ReadOnlySpan padding = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; writer.Write(padding); if ((serverCapabilities & ProtocolCapabilities.LongPassword) == 0) diff --git a/src/MySqlConnector/Protocol/Payloads/PingPayload.cs b/src/MySqlConnector/Protocol/Payloads/PingPayload.cs index d6b02f768..a03ed5597 100644 --- a/src/MySqlConnector/Protocol/Payloads/PingPayload.cs +++ b/src/MySqlConnector/Protocol/Payloads/PingPayload.cs @@ -2,5 +2,5 @@ namespace MySqlConnector.Protocol.Payloads; internal static class PingPayload { - public static PayloadData Instance { get; } = new([ (byte) CommandKind.Ping ]); + public static PayloadData Instance { get; } = new([(byte) CommandKind.Ping]); } diff --git a/src/MySqlConnector/Protocol/Payloads/QuitPayload.cs b/src/MySqlConnector/Protocol/Payloads/QuitPayload.cs index 1d416eddd..ce10d022f 100644 --- a/src/MySqlConnector/Protocol/Payloads/QuitPayload.cs +++ b/src/MySqlConnector/Protocol/Payloads/QuitPayload.cs @@ -2,5 +2,5 @@ namespace MySqlConnector.Protocol.Payloads; internal static class QuitPayload { - public static PayloadData Instance { get; } = new([ (byte) CommandKind.Quit ]); + public static PayloadData Instance { get; } = new([(byte) CommandKind.Quit]); } diff --git a/src/MySqlConnector/Protocol/Payloads/ResetConnectionPayload.cs b/src/MySqlConnector/Protocol/Payloads/ResetConnectionPayload.cs index fe1ab10a2..bd9deb61a 100644 --- a/src/MySqlConnector/Protocol/Payloads/ResetConnectionPayload.cs +++ b/src/MySqlConnector/Protocol/Payloads/ResetConnectionPayload.cs @@ -2,5 +2,5 @@ namespace MySqlConnector.Protocol.Payloads; internal static class ResetConnectionPayload { - public static PayloadData Instance { get; } = new([ (byte) CommandKind.ResetConnection ]); + public static PayloadData Instance { get; } = new([(byte) CommandKind.ResetConnection]); } diff --git a/src/MySqlConnector/Protocol/Serialization/ProtocolUtility.cs b/src/MySqlConnector/Protocol/Serialization/ProtocolUtility.cs index d3c1fc0ff..77e20d081 100644 --- a/src/MySqlConnector/Protocol/Serialization/ProtocolUtility.cs +++ b/src/MySqlConnector/Protocol/Serialization/ProtocolUtility.cs @@ -439,7 +439,7 @@ public static async ValueTask> ReadPayloadAsync(BufferedByteR if (protocolErrorBehavior == ProtocolErrorBehavior.Ignore) packet = default; #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER - else if (payloadBytes is [ ErrorPayload.Signature, .. ]) + else if (payloadBytes is [ErrorPayload.Signature, ..]) #else else if (payloadBytes.Count > 0 && payloadBytes.AsSpan()[0] == ErrorPayload.Signature) #endif diff --git a/src/MySqlConnector/Utilities/Utility.cs b/src/MySqlConnector/Utilities/Utility.cs index 2b2ce0332..1909c49fc 100644 --- a/src/MySqlConnector/Utilities/Utility.cs +++ b/src/MySqlConnector/Utilities/Utility.cs @@ -181,7 +181,7 @@ private static RSAParameters GetRsaParameters(ReadOnlySpan data, bool isPr if (!isPrivate) { // encoded OID sequence for PKCS #1 rsaEncryption szOID_RSA_RSA = "1.2.840.113549.1.1.1" - ReadOnlySpan rsaOid = [ 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00 ]; + ReadOnlySpan rsaOid = [0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00]; if (!data.Slice(0, rsaOid.Length).SequenceEqual(rsaOid)) throw new FormatException($"Expected RSA OID but read {BitConverter.ToString(data.Slice(0, 15).ToArray())}"); data = data.Slice(rsaOid.Length); @@ -404,7 +404,7 @@ public static TimeSpan ParseTimeSpan(ReadOnlySpan value) // parse (optional) leading minus sign var isNegative = false; - if (value is [ 0x2D, .. ]) + if (value is [0x2D, ..]) { isNegative = true; value = value[1..]; @@ -474,13 +474,13 @@ public static bool TryComputeHash(this HashAlgorithm hashAlgorithm, ReadOnlySpan public static byte[] TrimZeroByte(byte[] value) { - if (value is [ .., 0 ]) + if (value is [.., 0]) Array.Resize(ref value, value.Length - 1); return value; } public static ReadOnlySpan TrimZeroByte(ReadOnlySpan value) => - value is [ .., 0 ] ? value[..^1] : value; + value is [.., 0] ? value[..^1] : value; #if !NETCOREAPP2_1_OR_GREATER && !NETSTANDARD2_1_OR_GREATER public static int Read(this Stream stream, Memory buffer) @@ -656,7 +656,7 @@ private static bool TryReadAsnLength(ReadOnlySpan data, out int length, ou private static bool TryReadAsnInteger(ReadOnlySpan data, out ReadOnlySpan number, out int bytesConsumed) { // integer tag is 2 - if (data is not [ 0x02, .. ]) + if (data is not [0x02, ..]) { number = default; bytesConsumed = 0; @@ -677,7 +677,7 @@ private static bool TryReadAsnInteger(ReadOnlySpan data, out ReadOnlySpan< bytesConsumed = lengthBytesConsumed + length + 1; // trim leading zero bytes - while (number is [ 0, _, .. ]) + while (number is [0, _, ..]) number = number[1..]; return true;