postgresql7.2
update lang_messages
set sync_time = current_timestamp
where package_key = :package_key
and locale = :locale
select message_key,
message,
deleted_p
from lang_messages
where package_key = :package_key
and locale = :locale
and sync_time is not null
union
select lma1.message_key,
lma1.old_message,
lma1.deleted_p
from lang_messages_audit lma1
where lma1.package_key = :package_key
and lma1.locale = :locale
and lma1.sync_time is not null
and lma1.audit_id = (select max(lma2.audit_id)
from lang_messages_audit lma2
where lma2.package_key = lma1.package_key
and lma2.message_key = lma1.message_key
and lma2.locale = :locale
and lma2.sync_time is not null
)
and not exists (select 1
from lang_messages
where package_key = lma1.package_key
and message_key = lma1.message_key
and locale = :locale
and sync_time is not null
)