Ejemplo n.º 1
0
	def __init__(self, useDictCursor = False):
		if len(dcp) > 0:
			if useDictCursor:
				self.innerConn = dcp.pop()
			else:
				self.innerConn = rcp.pop()
			now = datetime.datetime.today()
			if (now - dbTimeout) > self.innerConn.connectTime:
				self.innerConn.close()
				self.innerConn = SingleConnection(useDictCursor)
		else:
			self.innerConn = SingleConnection(useDictCursor)
Ejemplo n.º 2
0
class Connection:
	def __init__(self, useDictCursor = False):
		if len(dcp) > 0:
			if useDictCursor:
				self.innerConn = dcp.pop()
			else:
				self.innerConn = rcp.pop()
			now = datetime.datetime.today()
			if (now - dbTimeout) > self.innerConn.connectTime:
				self.innerConn.close()
				self.innerConn = SingleConnection(useDictCursor)
		else:
			self.innerConn = SingleConnection(useDictCursor)

	def usingDictCursor(self):
		return self.innerConn.usingDictCursor()

	def executeStatement(self, statement, placeholder):
		return self.innerConn.executeStatement(statement, placeholder)

	def getRowCount(self):
		return self.innerConn.rowcount()

	def commit(self):
		self.innerConn.commit()
		
	def rollback(self):
		self.innerConn.rollback()
		
	def close(self):
		self.commit()
		self.__close_()
	
	def cancelAndClose(self):
		self.rollback()
		self.__close_()

	def __close_(self):
		utakaLog = open('/var/www/html/utaka/utakaLog', 'a')
		try:
			if self.usingDictCursor():
				utakaLog.write('Dictionary Database Connection Returned to Pool\r\n')
			else:
				utakaLog.write('Regular Database Connection Returned to Pool\r\n')
		finally:
			utakaLog.close()
		if self.usingDictCursor():
			dcp.append(self.innerConn)
		else:
			rcp.append(self.innerConn)
		self.innerConn = None