For example I have code like this and only one connection in pool:
try:
cursor = yield momoko.Op(self.db.execute, 'SELECT %s FROM %s'
,()) # rises TypeError
except Exception as e:
print e
cursor = yield momoko.Op(self.db.execute, 'SELECT 1'
,())
print 'Done' #unreachable
This code rises TypeError, but second query can't obtain connection.
Debug log is:
[D 141115 18:00:26 connection:234] Connection attempt complete. Success: True
[D 141115 18:00:31 connection:252] Getting connection
[D 141115 18:00:31 connection:327] Connection obtained, proceeding
tuple index out of range
[D 141115 18:00:31 connection:252] Getting connection
[D 141115 18:00:31 connection:272] There are busy connections
[D 141115 18:00:31 connection:321] No connection available right now - will try again later
Changing psycopg2.Error to Exception in _catch_early_errors decorator fixes that issue, but I not sure that it right.
For example I have code like this and only one connection in pool:
This code rises TypeError, but second query can't obtain connection. Debug log is:
Changing psycopg2.Error to Exception in _catch_early_errors decorator fixes that issue, but I not sure that it right.