@@ -15,7 +15,10 @@ import (
1515 "github.com/ydb-platform/ydb-go-sdk/v3/internal/conn"
1616 internalCoordination "github.com/ydb-platform/ydb-go-sdk/v3/internal/coordination"
1717 coordinationConfig "github.com/ydb-platform/ydb-go-sdk/v3/internal/coordination/config"
18+ "github.com/ydb-platform/ydb-go-sdk/v3/internal/credentials"
1819 discoveryConfig "github.com/ydb-platform/ydb-go-sdk/v3/internal/discovery/config"
20+ "github.com/ydb-platform/ydb-go-sdk/v3/internal/dsn"
21+ "github.com/ydb-platform/ydb-go-sdk/v3/internal/endpoint"
1922 internalRatelimiter "github.com/ydb-platform/ydb-go-sdk/v3/internal/ratelimiter"
2023 ratelimiterConfig "github.com/ydb-platform/ydb-go-sdk/v3/internal/ratelimiter/config"
2124 internalScheme "github.com/ydb-platform/ydb-go-sdk/v3/internal/scheme"
@@ -83,6 +86,8 @@ type Connection interface {
8386
8487//nolint:maligned
8588type connection struct {
89+ userInfo * dsn.UserInfo
90+
8691 opts []Option
8792
8893 config config.Config
@@ -408,16 +413,20 @@ func open(ctx context.Context, opts ...Option) (_ Connection, err error) {
408413 }()
409414
410415 if c .pool == nil {
411- c .pool = conn .NewPool (
412- ctx ,
413- c .config ,
414- )
416+ c .pool = conn .NewPool (ctx , c .config )
415417 }
416418
417- c .balancer , err = balancer .New (
418- ctx ,
419- c .config ,
420- c .pool ,
419+ if c .userInfo != nil {
420+ c .config = c .config .With (config .WithCredentials (
421+ credentials .NewStaticCredentials (
422+ c .userInfo .User , c .userInfo .Password ,
423+ c .pool .Get (endpoint .New (c .config .Endpoint ())),
424+ ),
425+ ))
426+ }
427+
428+ c .balancer , err = balancer .New (ctx ,
429+ c .config , c .pool ,
421430 append (
422431 // prepend common params from root config
423432 []discoveryConfig.Option {
0 commit comments