leo-mazzone opened a new issue, #2673:
URL: https://github.com/apache/arrow-adbc/issues/2673

   ### What feature or improvement would you like to see?
   
   I am trying to apply [your Python recipe 
here](https://arrow.apache.org/adbc/17/python/recipe/postgresql.html#connection-pooling-with-sqlalchemy)
 for implementing connection pooling via SQLAlchemy. When a connection gets 
returned to the pool the default behaviour is (and it feels like a good 
default), to call the `.rollback()` method on the DBAPI connection object. Most 
of the time there is nothing in the transaction, because I have either already 
committed, or I'm just reading.
   
   Psycopg's implementation of rollback checks the transaction status. If it is 
empty (or "idle"), it doesn't actually execute the ROLLBACK command. From what 
I can see, ADBC does not do this.
   
   So every time I'm done using a connection, I get this warning
   ```
   WARNING:  there is no transaction in progress
   ```
   
   This essentially means that my Postgres logs are being overwhelmed by that 
warning.
   
   Is there a way of implementing something similar to Psycopg, in terms of 
checking the current transaction status? I could even pass a custom function to 
the SQLAlchemy pool to tell it how to deal with connection resets. My main 
problem is that I can't work out how to access the transaction status from the 
ADBC driver.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to