Skip to content

Commit 812a077

Browse files
committed
feat: add EnableImplicitSession flag support with parsing tests
1 parent f7da918 commit 812a077

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/Ydb.Sdk/src/Ado/YdbConnectionStringBuilder.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ private void InitDefaultValues()
4141
_maxReceiveMessageSize = GrpcDefaultSettings.MaxReceiveMessageSize;
4242
_disableDiscovery = GrpcDefaultSettings.DisableDiscovery;
4343
_disableServerBalancer = false;
44+
_enableImplicitSession = false;
4445
}
4546

4647
public string Host
@@ -315,6 +316,18 @@ public int CreateSessionTimeout
315316

316317
private int _createSessionTimeout;
317318

319+
public bool EnableImplicitSession
320+
{
321+
get => _enableImplicitSession;
322+
set
323+
{
324+
_enableImplicitSession = value;
325+
SaveValue(nameof(EnableImplicitSession), value);
326+
}
327+
}
328+
329+
private bool _enableImplicitSession;
330+
318331
public ILoggerFactory? LoggerFactory { get; init; }
319332

320333
public ICredentialsProvider? CredentialsProvider { get; init; }
@@ -491,6 +504,9 @@ static YdbConnectionOption()
491504
AddOption(new YdbConnectionOption<bool>(BoolExtractor,
492505
(builder, disableServerBalancer) => builder.DisableServerBalancer = disableServerBalancer),
493506
"DisableServerBalancer", "Disable Server Balancer");
507+
AddOption(new YdbConnectionOption<bool>(BoolExtractor,
508+
(builder, enableImplicit) => builder.EnableImplicitSession = enableImplicit),
509+
"EnableImplicitSession", "ImplicitSession");
494510
}
495511

496512
private static void AddOption(YdbConnectionOption option, params string[] keys)

src/Ydb.Sdk/test/Ydb.Sdk.Ado.Tests/YdbConnectionStringBuilderTests.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public void InitDefaultValues_WhenEmptyConstructorInvoke_ReturnDefaultConnection
2828
Assert.False(ydbConnectionStringBuilder.DisableDiscovery);
2929
Assert.False(ydbConnectionStringBuilder.DisableServerBalancer);
3030
Assert.False(ydbConnectionStringBuilder.UseTls);
31+
Assert.False(ydbConnectionStringBuilder.EnableImplicitSession);
3132
}
3233

3334
[Fact]
@@ -50,7 +51,7 @@ public void InitConnectionStringBuilder_WhenExpectedKeys_ReturnUpdatedConnection
5051
"ConnectTimeout=30;KeepAlivePingDelay=30;KeepAlivePingTimeout=60;" +
5152
"EnableMultipleHttp2Connections=true;" +
5253
"MaxSendMessageSize=1000000;MaxReceiveMessageSize=1000000;" +
53-
"DisableDiscovery=true;DisableServerBalancer=true;"
54+
"DisableDiscovery=true;DisableServerBalancer=true;EnableImplicitSession=true;"
5455
);
5556

5657
Assert.Equal(2135, connectionString.Port);
@@ -74,9 +75,10 @@ public void InitConnectionStringBuilder_WhenExpectedKeys_ReturnUpdatedConnection
7475
"ConnectTimeout=30;KeepAlivePingDelay=30;KeepAlivePingTimeout=60;" +
7576
"EnableMultipleHttp2Connections=True;" +
7677
"MaxSendMessageSize=1000000;MaxReceiveMessageSize=1000000;" +
77-
"DisableDiscovery=True;DisableServerBalancer=True", connectionString.ConnectionString);
78+
"DisableDiscovery=True;DisableServerBalancer=True;EnableImplicitSession=True", connectionString.ConnectionString);
7879
Assert.True(connectionString.DisableDiscovery);
7980
Assert.True(connectionString.DisableServerBalancer);
81+
Assert.True(connectionString.EnableImplicitSession);
8082
}
8183

8284
[Fact]

0 commit comments

Comments
 (0)