• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/db/connection.php
  • Класс: BitrixMainDBConnection
  • Вызов: Connection::query
public function query($sql)
{
	list($sql, $binds, $offset, $limit) = self::parseQueryFunctionArgs(func_get_args());

	if($limit > 0)
	{
		$sql = $this->getSqlHelper()->getTopSql($sql, $limit, $offset);
	}

	$trackerQuery = null;

	if ($this->queryExecutingEnabled)
	{
		$connection = MainApplication::getInstance()->getConnectionPool()->getSlaveConnection($sql);
		if($connection === null)
		{
			$connection = $this;
		}

		if ($this->trackSql)
		{
			$trackerQuery = $this->sqlTracker->getNewTrackerQuery();
			$trackerQuery->setNode($connection->getNodeId());
		}

		$result = $connection->queryInternal($sql, $binds, $trackerQuery);
	}
	else
	{
		if ($this->disabledQueryExecutingDump === null)
		{
			$this->disabledQueryExecutingDump = array();
		}

		$this->disabledQueryExecutingDump[] = $sql;
		$result = true;
	}

	return $this->createResult($result, $trackerQuery);
}