def close(self, rollback=False):
        if not self.isClosed:
            try:
                self.closeCursor()
                if rollback:
                    self.rollback()
                self.conn.close()
                self.__dict__.clear() # dereference everything
            except Exception as ex:
                self.__dict__.clear() # dereference everything
                if sys.version[0] >= '3':
                    raise ex.with_traceback(ex.__traceback__)
                else:
                    raise ex
dataset/ETHPy150Open Arelle/Arelle/arelle/plugin/xbrlDB/SqlDb.py/SqlDbConnection.close/original