@@ -5,13 +5,11 @@ import (
55 "fmt"
66
77 "github.com/ydb-platform/ydb-go-genproto/Ydb_Query_V1"
8- "github.com/ydb-platform/ydb-go-genproto/protos/Ydb"
98 "github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Query"
109
1110 "github.com/ydb-platform/ydb-go-sdk/v3/internal/allocator"
1211 "github.com/ydb-platform/ydb-go-sdk/v3/internal/query/options"
1312 "github.com/ydb-platform/ydb-go-sdk/v3/internal/query/result"
14- "github.com/ydb-platform/ydb-go-sdk/v3/internal/query/session"
1513 queryTx "github.com/ydb-platform/ydb-go-sdk/v3/internal/query/tx"
1614 "github.com/ydb-platform/ydb-go-sdk/v3/internal/stack"
1715 baseTx "github.com/ydb-platform/ydb-go-sdk/v3/internal/tx"
@@ -116,6 +114,8 @@ func (tx *Transaction) QueryResultSet(
116114 }
117115 r , err := execute (ctx , tx .s .ID (), tx .s .client , q , settings , resultOpts ... )
118116 if err != nil {
117+ tx .s .setStatusFromError (err )
118+
119119 return nil , xerrors .WithStackTrace (err )
120120 }
121121
@@ -165,6 +165,8 @@ func (tx *Transaction) QueryRow(
165165 }
166166 r , err := execute (ctx , tx .s .ID (), tx .s .client , q , settings , resultOpts ... )
167167 if err != nil {
168+ tx .s .setStatusFromError (err )
169+
168170 return nil , xerrors .WithStackTrace (err )
169171 }
170172
@@ -231,6 +233,8 @@ func (tx *Transaction) Exec(ctx context.Context, q string, opts ...options.Execu
231233
232234 r , err := execute (ctx , tx .s .ID (), tx .s .client , q , settings , resultOpts ... )
233235 if err != nil {
236+ tx .s .setStatusFromError (err )
237+
234238 return xerrors .WithStackTrace (err )
235239 }
236240
@@ -299,6 +303,8 @@ func (tx *Transaction) Query(ctx context.Context, q string, opts ...options.Exec
299303 }
300304 r , err := execute (ctx , tx .s .ID (), tx .s .client , q , settings , resultOpts ... )
301305 if err != nil {
306+ tx .s .setStatusFromError (err )
307+
302308 return nil , xerrors .WithStackTrace (err )
303309 }
304310
@@ -338,9 +344,7 @@ func (tx *Transaction) CommitTx(ctx context.Context) (finalErr error) {
338344
339345 err = commitTx (ctx , tx .s .client , tx .s .ID (), tx .ID ())
340346 if err != nil {
341- if xerrors .IsOperationError (err , Ydb .StatusIds_BAD_SESSION ) {
342- tx .s .SetStatus (session .StatusClosed )
343- }
347+ tx .s .setStatusFromError (err )
344348
345349 return xerrors .WithStackTrace (err )
346350 }
@@ -376,9 +380,7 @@ func (tx *Transaction) Rollback(ctx context.Context) (finalErr error) {
376380
377381 err := rollback (ctx , tx .s .client , tx .s .ID (), tx .ID ())
378382 if err != nil {
379- if xerrors .IsOperationError (err , Ydb .StatusIds_BAD_SESSION ) {
380- tx .s .SetStatus (session .StatusClosed )
381- }
383+ tx .s .setStatusFromError (err )
382384
383385 return xerrors .WithStackTrace (err )
384386 }
0 commit comments