/** * Walks down a SelectClause AST node, thereby generating the appropriate SQL. * * @param $selectClause * @return string The SQL. */ public function walkSelectClause($selectClause) { $sql = parent::walkSelectClause($selectClause); if ($this->getQuery()->getHint('mysqlWalker.count') === true) { $sql = str_replace('SELECT', 'SELECT SQL_CALC_FOUND_ROWS', $sql); } return $sql; }
/** * Walks down a SelectClause AST node, thereby generating the appropriate SQL. * * @param $selectClause * @return string The SQL. */ public function walkSelectClause($selectClause) { $sql = parent::walkSelectClause($selectClause); if ($this->getQuery()->getHint('mysqlWalker.sqlNoCache') === true) { if ($selectClause->isDistinct) { $sql = str_replace('SELECT DISTINCT', 'SELECT DISTINCT SQL_NO_CACHE', $sql); } else { $sql = str_replace('SELECT', 'SELECT SQL_NO_CACHE', $sql); } } return $sql; }
public function walkSelectClause($selectClause) { $sql = parent::walkSelectClause($selectClause); if ($this->getQuery()->getHint(self::HINT_SQL_NO_CACHE) === true) { if ($selectClause->isDistinct) { $sql = str_replace('SELECT DISTINCT', 'SELECT DISTINCT SQL_NO_CACHE', $sql); } else { $sql = str_replace('SELECT', 'SELECT SQL_NO_CACHE ', $sql); } } if ($this->getQuery()->getHint(self::HINT_STRAIGHT_JOIN) === true) { $sql = str_replace('SELECT', 'SELECT STRAIGHT_JOIN ', $sql); } return $sql; }
/** {@inheritDoc} */ public function walkSelectClause($selectClause) { $sql = parent::walkSelectClause($selectClause); // Gets the query $query = $this->getQuery(); if ($query->getHint('mysqlWalker.sqlCalcFoundRows') === true) { // Appends the SQL_CALC_FOUND_ROWS modifier $sql = str_replace('SELECT', 'SELECT SQL_CALC_FOUND_ROWS', $sql); } if ($query->getHint('mysqlWalker.sqlNoCache') === true) { // Appends the SQL_NO_CACHE modifier $sql = str_replace('SELECT', 'SELECT SQL_NO_CACHE', $sql); } return $sql; }
/** * @param \Doctrine\ORM\Query\AST\SelectClause $selectClause * @return mixed|string */ public function walkSelectClause($selectClause) { /** @var \Carnage\Watson\Configuration $config */ $config = $this->getEntityManager()->getConfiguration(); $logger = $config->getWatsonLogger(); $logger->nextQuery(); $sql = parent::walkSelectClause($selectClause); $querySource = $this->findQuerySource(); if ($config->addQueryComment()) { $comment = ' -- ' . $querySource['file'] . ':' . $querySource['line'] . "\n"; $sql = preg_replace('/SELECT/', 'SELECT ' . $comment, $sql, 1); } $logger->logQuerySource($querySource['file'], $querySource['line']); $this->attachHydrator(); return $sql; }
/** * {@inheritDoc} */ public function walkSelectClause($selectClause) { $result = parent::walkSelectClause($selectClause); $result = $this->replace($this->replacements, $result); return $result; }
/** * {@inheritDoc} */ public function walkSelectClause($selectClause) { $result = parent::walkSelectClause($selectClause); $fallbackSql = ''; if ($this->needsFallback() && count($this->translatedComponents)) { $fallbackAliases = array(); foreach ($this->replacements as $dqlAlias => $trans) { if (preg_match("/{$dqlAlias} AS ([^\\s]+)/smi", $result, $m)) { list($tblAlias, $colName) = explode('.', $dqlAlias); $fallback = $this->getSQLColumnAlias($colName . '_fallback'); $fallbackSql .= ', ' . $dqlAlias . ' AS ' . $fallback; $fallbackAliases[$fallback] = rtrim($m[1], ','); } } $this->getQuery()->setHint(self::HINT_TRANSLATION_FALLBACKS, $fallbackAliases); } $result = str_replace(array_keys($this->replacements), array_values($this->replacements), $result); $result .= $fallbackSql; return $result; }
/** * Walks down a SelectClause AST node, thereby generating the appropriate SQL. * * @param $selectClause * @return string The SQL. */ public function walkSelectClause($selectClause) { $sql = parent::walkSelectClause($selectClause); if ($this->getQuery()->getHint('librinfoWalker.noIlike') === false) { $sql = str_replace('LIKE', 'ILIKE', $sql); } return $sql; }