def attempt_insert(source_db, diff, remaining_attempts, source_key)
source_change = diff.changes[source_db]
source_table = source_change.table
target_db = OTHER_SIDE[source_db]
target_table = rep_helper.corresponding_table(source_db, source_table)
values = rep_helper.load_record source_db, source_table, source_key
if values == nil
diff.amend
replicate_difference diff, remaining_attempts - 1, "source record for insert vanished"
else
attempt_change('insert', source_db, target_db, diff, remaining_attempts) do
rep_helper.insert_record target_db, target_table, values
log_replication_outcome source_db, diff
end
end
end