diff --git a/google/cloud/sqlalchemy_spanner/sqlalchemy_spanner.py b/google/cloud/sqlalchemy_spanner/sqlalchemy_spanner.py index 9a1209b2..68a4a759 100644 --- a/google/cloud/sqlalchemy_spanner/sqlalchemy_spanner.py +++ b/google/cloud/sqlalchemy_spanner/sqlalchemy_spanner.py @@ -48,7 +48,9 @@ @listens_for(Pool, "reset") def reset_connection(dbapi_conn, connection_record): """An event of returning a connection back to a pool.""" - dbapi_conn.connection.rollback() + if not dbapi_conn.connection.inside_transaction: + dbapi_conn.connection.rollback() + if getattr(dbapi_conn.connection, "staleness", None) is not None: dbapi_conn.connection.staleness = None