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)
}