def delete
      i = 0
      loop do
        logger.info("deletion loop iteration #{i}")
        i += 1

        return unless anything_to_delete?

        criteria.each do |table, selection|
          delete_selection(table, selection)
        end
      end
    end
def delete
      i = 0
      loop do
        logger.info("deletion loop iteration #{i}")
        i += 1

        return unless anything_to_delete?

        criteria.each do |table, selection|
          delete_selection(table, selection)
        end
      end
    end
criteria is of form [['users', "name = 'andrew'"], ['comments', 'id NOT IN (1, 2, 3)']]