/** * @param Queries\IRequestQuery $query * * @return IRequestQueryCompiler */ protected function getRequestQueryCompiler(Queries\IRequestQuery $query) { /** @var TableSourceInfo $source */ $source = $query->getScope()->getSourceInfo(); $select = new Select($this->connection, $source, new Parameters\ParameterCollection()); return new RequestCompiler($query, $select); }
/** * @return void */ protected function compileQuery() { $this->query->getRequest()->traverse($this); }
public function buildQuery() { $scope = $this->scopeProcessor->buildScope(); $request = $this->requestQuery->getRequest(); return $this->requestQuery->update($this->processScope($scope, $request), $this->processRequest($scope, $request)); }
protected function loadRequest(Queries\IRequestQuery $query, Queries\IResolvedParameterRegistry $resolvedParameters) { $scopedTraversable = $this->evaluateScope($query->getScope(), $resolvedParameters); return RequestEvaluator::evaluate($scopedTraversable, $query->getRequest(), $resolvedParameters); }