Update OAIDAO.inc.php

This will speed 50x up
Let's think of an article id that's not published anymore. 

There will be no published article records and also no article record to join, because it left join the article based on the published article id. Therefore no journal record right ⁽for the same reason). 

But there will be a data object tombstone record. It will be joined but the where clause you suggest will filter it out, because there will be no a.journal_id.

I think you don't see a difference because you are not using getRecord, you are using getRecords, which makes sense that it works because all article records will be joined, and therefore there will be a a.journal_id. But try getting a record you know it's from a not published article and you know there is a tombstone for it. With your changes the record will not appear.