public function handle(CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, array $languageSettings)
{
$idColumn = $this->dbHandler->quoteColumn('node_id', 'ezcontentobject_tree');
$mainIdColumn = $this->dbHandler->quoteColumn('main_node_id', 'ezcontentobject_tree');
switch ($criterion->value[0]) {
case Criterion\Location\IsMainLocation::MAIN:
return $query->expr->eq($idColumn, $mainIdColumn);
case Criterion\Location\IsMainLocation::NOT_MAIN:
return $query->expr->neq($idColumn, $mainIdColumn);
default:
throw new RuntimeException("Unknown value '{$criterion->value[0]}' for IsMainLocation criterion handler.");
}
}