public function updateJoinOptions(Queries\Common\Join\Options $options) { $filter = $options->getFilter(); if ($filter instanceof Queries\Common\Join\Filter\Custom) { $filter = $filter->update($this->expressionProcessor->processFunction($filter->getOnFunction())); } elseif ($filter instanceof Queries\Common\Join\Filter\Equality) { $filter = $filter->update($this->expressionProcessor->processFunction($filter->getOuterKeyFunction()), $this->expressionProcessor->processFunction($filter->getInnerKeyFunction())); } return $options->update($options->getSource(), $options->isGroupJoin(), $filter, $options->hasDefault()); }
public function visitAggregate(Requests\Aggregate $request) { return parent::visitAggregate($request->update($this->expressionProcessor->processFunction($request->getAggregatorFunction()))); }
public function visitRemoveWhere(Operations\RemoveWhere $operation) { return parent::visitRemoveWhere($operation->update($this->expressionProcessor->processFunction($operation->getPredicateFunction()))); }