- Модуль: 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);
}