Skip to content

Commit

Permalink
Add ConnectionTimeout property.
Browse files Browse the repository at this point in the history
  • Loading branch information
bgrainger committed Sep 16, 2016
1 parent 54e3a8d commit e88cafe
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 1 deletion.
11 changes: 11 additions & 0 deletions src/MySqlConnector/MySqlClient/MySqlConnectionStringBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,12 @@ public bool ConnectionReset
set { MySqlConnectionStringOption.ConnectionReset.SetValue(this, value); }
}

public uint ConnectionTimeout
{
get { return MySqlConnectionStringOption.ConnectionTimeout.GetValue(this); }
set { MySqlConnectionStringOption.ConnectionTimeout.SetValue(this, value); }
}

public uint MinimumPoolSize
{
get { return MySqlConnectionStringOption.MinimumPoolSize.GetValue(this); }
Expand Down Expand Up @@ -169,6 +175,7 @@ internal abstract class MySqlConnectionStringOption
public static readonly MySqlConnectionStringOption<bool> UseCompression;
public static readonly MySqlConnectionStringOption<bool> Pooling;
public static readonly MySqlConnectionStringOption<bool> ConnectionReset;
public static readonly MySqlConnectionStringOption<uint> ConnectionTimeout;
public static readonly MySqlConnectionStringOption<uint> MinimumPoolSize;
public static readonly MySqlConnectionStringOption<uint> MaximumPoolSize;
public static readonly MySqlConnectionStringOption<bool> UseAffectedRows;
Expand Down Expand Up @@ -259,6 +266,10 @@ static MySqlConnectionStringOption()
keys: new[] { "Connection Reset", "ConnectionReset" },
defaultValue: true));

AddOption(ConnectionTimeout = new MySqlConnectionStringOption<uint>(
keys: new[] { "Connection Timeout", "ConnectionTimeout", "Connect Timeout" },
defaultValue: 15u));

AddOption(MinimumPoolSize = new MySqlConnectionStringOption<uint>(
keys: new[] { "Minimum Pool Size", "Min Pool Size", "MinimumPoolSize", "minpoolsize" },
defaultValue: 0));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public void Defaults()
#else
Assert.Equal(true, csb.ConnectionReset);
#endif
Assert.Equal(15u, csb.ConnectionTimeout);
#if BASELINE
Assert.False(csb.UseAffectedRows);
#else
Expand All @@ -39,10 +40,11 @@ public void Defaults()
[Fact]
public void ParseConnectionString()
{
var csb = new MySqlConnectionStringBuilder { ConnectionString = "Data Source=db-server;Port=1234;Uid=username;pwd=Pass1234;Initial Catalog=schema_name;Allow User Variables=true;Character Set=latin1;Convert Zero Datetime=true;Pooling=no;OldGuids=true;Compress=true;ConnectionReset=false;minpoolsize=5;maxpoolsize=15;persistsecurityinfo=yes;useaffectedrows=false" };
var csb = new MySqlConnectionStringBuilder { ConnectionString = "Data Source=db-server;Port=1234;Uid=username;pwd=Pass1234;Initial Catalog=schema_name;Allow User Variables=true;Character Set=latin1;Convert Zero Datetime=true;Pooling=no;OldGuids=true;Compress=true;ConnectionReset=false;minpoolsize=5;maxpoolsize=15;persistsecurityinfo=yes;useaffectedrows=false;connect timeout=30" };
Assert.Equal(true, csb.AllowUserVariables);
Assert.Equal("latin1", csb.CharacterSet);
Assert.Equal(false, csb.ConnectionReset);
Assert.Equal(30u, csb.ConnectionTimeout);
Assert.Equal(true, csb.ConvertZeroDateTime);
Assert.Equal("schema_name", csb.Database);
Assert.Equal(15u, csb.MaximumPoolSize);
Expand Down

0 comments on commit e88cafe

Please sign in to comment.