def getCursor(self,isQuery, withhold=False):
''' Return a named cursor. You don't have to close named cursor '''
cursor_name = str(time.time())
conn = self.pool.getconn()
executionStatus = ''
try:
cursor = conn.cursor(cursor_name,cursor_factory=extras.DictCursor,withhold=withhold) if isQuery else conn.cursor()
yield cursor
except Exception, e:
executionStatus = e.pgerror
_exType, _exVal, exTrace = sys.exc_info()
print 'Execution Status:',executionStatus
print 'Stacktrace :',dir(exTrace)
print 'Query: ',cursor.query
finally:
if(executionStatus != ''):
conn.rollback()
else:
conn.commit()
self.pool.putconn(conn)
评论列表
文章目录