Let modules modify the query just prior to finalizing it.
Overrides QueryPluginBase::alter
function alter(ViewExecutable $view) {
foreach (module_implements('views_query_alter') as $module) {
$function = $module . '_views_query_alter';
$function($view, $this);
}
}