def execute(self, conn, block_name="", transaction = False):
        """
        block: /a/b/c#d
        """
        if not conn:
	    dbsExceptionHandler("dbsException-failed-connect2host", "Oracle/BlockParent/List. Expects db connection from upper layer.", self.logger.exception)

        sql = self.sql
        
	if isinstance(block_name, basestring):
	    binds = {'block_name' :block_name}
        elif type(block_name) is list:
            binds = [{'block_name':x} for x in block_name]
        else: 
            msg = "Oracle/BlockParent/List. Block_name must be provided either as a string or as a list."
            dbsExceptionHandler('dbsException-invalid-input', msg, self.logger.exception)
	result = self.dbi.processData(sql, binds, conn, transaction)
        return self.formatDict(result)