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