def METHOD_NAME(self):
    channels = []
    if self.all:
        channels = list(rhnSQL.Table("RHNCHANNEL", "LABEL").keys())
    else:
        channels = [self.channel]
    for c in channels:
        _printLog("Remove old patches in channel '%s'" % c)
        # search errata which ends with channel-* in this channel
        h = rhnSQL.prepare("""
            SELECT e.id as errata_id,
                   e.advisory,
                   e.advisory_rel,
                   c.id as channel_id,
                   ca.label channel_arch_label
              FROM rhnErrata e
              JOIN rhnChannelErrata ce ON e.id = ce.errata_id
              JOIN rhnChannel c ON ce.channel_id = c.id
              JOIN rhnChannelArch ca ON c.channel_arch_id = ca.id
             WHERE c.label = :channel
        """)
        h.execute(channel=c)
        patches = h.fetchall_dict() or []
        channel_id = None
        for patch in patches:
            pattern = "-%s-%s-?[0-9]*$" % (patch['advisory_rel'], patch['channel_arch_label'])
            if not re.search(pattern, patch['advisory']):
                log_debug(2, "Found new style patch '%s'. Skip" % patch['advisory'])
                # This is not an old style patch. Skip
                continue
            errata_id = patch['errata_id']
            channel_id = patch['channel_id']
            log_debug(1, "Remove patch '%s(%d)' from channel '%s(%d)'" % (
                patch['advisory'], errata_id, c, channel_id))
            # delete channel from errata
            errata_helper.deleteChannelErrata(errata_id, channel_id)
            # search if the errata still has channels
            if errata_helper.errataHasChannels(errata_id):
                # if yes, work on this patch is finished
                log_debug(2, "Patch exists in other channels too")
                continue
            # else we can remove the errta completly
            log_debug(2, "Delete Patch completly")
            errata_helper.deleteErrata(errata_id)
        # if channel_id is still None, no patches were deleted
        # Then is no need to run update_needed_cache for this channel
        if channel_id:
            # Update the errata/package cache for the servers
            #        use procedure rhn_channel.update_needed_cache(channel_id)
            log_debug(2, "Update Server Cache for channel '%s'" % c)
            rhnSQL.commit()
            update_needed_cache = rhnSQL.Procedure("rhn_channel.update_needed_cache")
            update_needed_cache(channel_id)
            rhnSQL.commit()
        else:
            log_debug(1, "No old style patches found in '%s'" % c)
    _printLog("Finished")