SELECT n.notification_id, n.notification_reason, UNIX_TIMESTAMP(n.end_time) end_time,
  n.end_time_usec, n.state, COALESCE(n.output, '') output, n.long_output,
  n.contacts_notified, o.objecttype_id, o.name1, COALESCE(o.name2, '') name2
FROM icinga_notifications n USE INDEX (PRIMARY)
INNER JOIN icinga_objects o ON o.object_id=n.object_id
WHERE n.notification_id BETWEEN :fromid AND :toid
AND n.notification_id <= :cache_limit AND n.notification_id > :checkpoint -- where we were interrupted
ORDER BY n.notification_id -- this way we know what has already been migrated from just the last row's ID
LIMIT :bulk
