fix(spanner): inline begin error shadows the underlying error
diff --git a/spanner/transaction.go b/spanner/transaction.go index 20a3e40..564ac5c 100644 --- a/spanner/transaction.go +++ b/spanner/transaction.go
@@ -315,7 +315,7 @@ if err != nil { if _, ok := t.getTransactionSelector().GetSelector().(*sppb.TransactionSelector_Begin); ok { t.setTransactionID(nil) - return client, errInlineBeginTransactionFailed() + return client, errInlineBeginTransactionFailedWithErr(err) } return client, err } @@ -362,6 +362,10 @@ return spannerErrorf(codes.Internal, "failed inline begin transaction") } +func errInlineBeginTransactionFailedWithErr(err error) error { + return spannerErrorf(codes.Internal, "failed inline begin transaction: %v", err) +} + // ReadRow reads a single row from the database. // // If no row is present with the given key, then ReadRow returns an error(spanner.ErrRowNotFound) where @@ -595,7 +599,7 @@ if err != nil { if _, ok := req.Transaction.GetSelector().(*sppb.TransactionSelector_Begin); ok { t.setTransactionID(nil) - return client, errInlineBeginTransactionFailed() + return client, errInlineBeginTransactionFailedWithErr(err) } return client, err } @@ -1204,7 +1208,7 @@ if err != nil { if hasInlineBeginTransaction { t.setTransactionID(nil) - return 0, errInlineBeginTransactionFailed() + return 0, errInlineBeginTransactionFailedWithErr(err) } return 0, ToSpannerError(err) } @@ -1313,7 +1317,7 @@ if err != nil { if hasInlineBeginTransaction { t.setTransactionID(nil) - return nil, errInlineBeginTransactionFailed() + return nil, errInlineBeginTransactionFailedWithErr(err) } return nil, ToSpannerError(err) }