WITH msgsets AS
( SELECT POTMsgSet.id
FROM POTMsgSet
JOIN TranslationTemplateItem ON TranslationTemplateItem.potmsgset = POTMsgSet.id
JOIN SuggestivePOTemplate ON TranslationTemplateItem.potemplate = SuggestivePOTemplate.potemplate
WHERE POTMsgSet.msgid_singular = 10087
AND POTMsgSet.id <> 29306498 )
SELECT TranslationMessage.COMMENT, TranslationMessage.date_created, TranslationMessage.date_reviewed, TranslationMessage.id, TranslationMessage.is_current_ubuntu, TranslationMessage.is_current_upstream, TranslationMessage.LANGUAGE, TranslationMessage.msgstr0, TranslationMessage.msgstr1, TranslationMessage.msgstr2, TranslationMessage.msgstr3, TranslationMessage.msgstr4, TranslationMessage.msgstr5, TranslationMessage.origin, TranslationMessage.potemplate, TranslationMessage.potmsgset, TranslationMessage.reviewer, TranslationMessage.submitter, TranslationMessage.validation_status, TranslationMessage.was_obsolete_in_last_import
FROM TranslationMessage
WHERE TranslationMessage.id IN
( SELECT DISTINCT ON (COALESCE(msgstr0, -1), COALESCE(msgstr1, -1), COALESCE(msgstr2, -1), COALESCE(msgstr3, -1), COALESCE(msgstr4, -1), COALESCE(msgstr5, -1)) TranslationMessage.id
FROM TranslationMessage
JOIN msgsets ON msgsets.id = TranslationMessage.potmsgset
WHERE (TranslationMessage.LANGUAGE IN (129))
ORDER BY COALESCE(msgstr0, -1), COALESCE(msgstr1, -1), COALESCE(msgstr2, -1), COALESCE(msgstr3, -1), COALESCE(msgstr4, -1), COALESCE(msgstr5, -1), date_created DESC ) LIMIT 2001;
I'm struggling to see how that fetches the most recent TranslationMessage; as far as I can see the parent query just does a set membership check on a subquery that returns all the associated TranslationMessages with some sorting that doesn't seem as though it can change the end result. What am I missing?
A realisation of the query in question (from https:/ /oops.canonical .com/oops/ ?oopsid= OOPS-6ce2e41d4a 1fc3371ecbbfa31 fafcc74) is:
WITH msgsets AS lateItem ON TranslationTemp lateItem. potmsgset = POTMsgSet.id plate ON TranslationTemp lateItem. potemplate = SuggestivePOTem plate.potemplat e msgid_singular = 10087 age.COMMENT, TranslationMess age.date_ created,
TranslationMess age.date_ reviewed,
TranslationMess age.id,
TranslationMess age.is_ current_ ubuntu,
TranslationMess age.is_ current_ upstream,
TranslationMess age.LANGUAGE, TranslationMess age.msgstr0,
TranslationMes sage.msgstr1,
TranslationMes sage.msgstr2,
TranslationMes sage.msgstr3,
TranslationMes sage.msgstr4,
TranslationMes sage.msgstr5,
TranslationMes sage.origin,
TranslationMes sage.potemplate ,
TranslationMes sage.potmsgset,
TranslationMes sage.reviewer,
TranslationMes sage.submitter,
TranslationMes sage.validation _status,
TranslationMes sage.was_ obsolete_ in_last_ import age.id IN
COALESCE( msgstr1, -1),
COALESCE( msgstr2, -1),
COALESCE( msgstr3, -1),
COALESCE( msgstr4, -1),
COALESCE( msgstr5, -1)) TranslationMess age.id age.potmsgset sage.LANGUAGE IN (129))
COALESCE( msgstr1, -1),
COALESCE( msgstr2, -1),
COALESCE( msgstr3, -1),
COALESCE( msgstr4, -1),
COALESCE( msgstr5, -1),
date_created DESC ) LIMIT 2001;
( SELECT POTMsgSet.id
FROM POTMsgSet
JOIN TranslationTemp
JOIN SuggestivePOTem
WHERE POTMsgSet.
AND POTMsgSet.id <> 29306498 )
SELECT TranslationMess
FROM TranslationMessage
WHERE TranslationMess
( SELECT DISTINCT ON (COALESCE(msgstr0, -1),
FROM TranslationMessage
JOIN msgsets ON msgsets.id = TranslationMess
WHERE (TranslationMes
ORDER BY COALESCE(msgstr0, -1),
I'm struggling to see how that fetches the most recent TranslationMessage; as far as I can see the parent query just does a set membership check on a subquery that returns all the associated TranslationMessages with some sorting that doesn't seem as though it can change the end result. What am I missing?