Особенность SqlDialectTrait
Особенность диалекта SQL
Краткое описание методов
- _deleteQueryTranslator() protectedПрименяет шаги трансляции к запросам удаления.
- _expressionTranslators() protected
Возвращает ассоциативный массив методов, которые преобразуют объекты Expression для соответствия конкретному диалекту SQL. Ключи — имена классов, значения — методы в этом классе.
- _insertQueryTranslator() protectedПрименяет шаги трансляции к запросам вставки.
- _removeAliasesFromConditions() protectedУдаляет псевдонимы из
WHEREфрагмента запроса. - _selectQueryTranslator() protectedПрименяет шаги трансляции к запросам выборки.
- _transformDistinct() protected
Возвращает переданный запрос после переработки фрагмента DISTINCT, чтобы драйверы, которые не поддерживают часть «ON», могли предоставить фактический способ его выполнения.
- _updateQueryTranslator() protectedПрименяет шаги трансляции к запросам обновления.
- queryTranslator() public
Возвращает вызываемую функцию, которая будет использоваться для преобразования переданного объекта Query. Эта функция, в свою очередь, вернёт экземпляр объекта Query, преобразованного для учёта особенностей используемого диалекта SQL.
- quoteIdentifier() public
Обрамляет идентификатор базы данных (имя столбца, имя таблицы и т. д.) кавычками, чтобы его безопасно использовать в запросах, исключая возможность использования зарезервированных слов.
- releaseSavePointSQL() publicВозвращает фрагмент SQL для отмены ранее созданной точки сохранения.
- rollbackSavePointSQL() publicВозвращает фрагмент SQL для отката ранее созданной точки сохранения.
- savePointSQL() publicВозвращает фрагмент SQL для создания новой точки сохранения транзакции.
Подробное описание методов
_deleteQueryTranslator()source protected
_deleteQueryTranslator( Cake\Database\Query $query )
Применяет шаги трансляции к запросам удаления.
Удаляет псевдонимы из условий запроса удаления, так как большинство диалектов баз данных не поддерживают псевдонимы в запросах удаления. Также удаляются псевдонимы в именах таблиц, поскольку они часто тоже не работают.
Мы намеренно не поддерживаем удаления с объединениями, так как они имеют ещё худшую поддержку.
Параметры
-
Cake\Database\Query$query - Запрос для трансляции
Возвращает
Cake\Database\QueryИзменённый запрос
_expressionTranslators()source protected
_expressionTranslators( )
Возвращает ассоциативный массив методов, которые преобразуют объекты Expression для соответствия конкретному диалекту SQL. Ключи — имена классов, значения — методы в этом классе.
Возвращает
массив_insertQueryTranslator()source protected
_insertQueryTranslator( Cake\Database\Query $query )
Применяет шаги трансляции к запросам вставки.
Параметры
-
Cake\Database\Query$query - Запрос для трансляции
Возвращает
Cake\Database\QueryИзменённый запрос
_removeAliasesFromConditions()source protected
_removeAliasesFromConditions( Cake\Database\Query $query )
Удаляет псевдонимы из WHERE фрагмента запроса.
Параметры
-
Cake\Database\Query$query - Обрабатываемый запрос.
Возвращает
Cake\Database\QueryИзменённый запрос.
Возможные исключения
RuntimeExceptionВ случае если обработанный запрос содержит объединения, так как удаление псевдонимов из условий может нарушить ссылки на объединённые таблицы.
_selectQueryTranslator()source protected
_selectQueryTranslator( Cake\Database\Query $query )
Применяет шаги трансляции к запросам выборки.
Параметры
-
Cake\Database\Query$query - Запрос для трансляции
Возвращает
Cake\Database\QueryИзменённый запрос
_transformDistinct()source protected
_transformDistinct( Cake\Database\Query $query )
Возвращает переданный запрос после переработки фрагмента DISTINCT, чтобы драйверы, которые не поддерживают часть «ON», могли предоставить фактический способ его выполнения
Параметры
-
Cake\Database\Query$query - Запрос для преобразования
Возвращает
Cake\Database\Query_updateQueryTranslator()source protected
_updateQueryTranslator( Cake\Database\Query $query )
Применяет шаги трансляции к запросам обновления.
Удаляет псевдонимы из условий запроса обновления, так как не все диалекты баз данных поддерживают псевдонимы в запросах обновления.
Так же, как и для запросов удаления, объединения в настоящее время не поддерживаются для запросов обновления.
Параметры
-
Cake\Database\Query$query - Запрос для трансляции
Возвращает
Cake\Database\QueryИзменённый запрос
queryTranslator()source public
queryTranslator( string $type )
Возвращает вызываемую функцию, которая будет использоваться для преобразования переданного объекта Query. Эта функция, в свою очередь, вернёт экземпляр объекта Query, преобразованного для учёта особенностей используемого диалекта SQL.
Параметры
- строка
$type тип запроса, который должен быть преобразован (выборка, вставка, обновление, удаление)
Возвращает
вызываемая функцияquoteIdentifier()source public
quoteIdentifier( string $identifier )
Обрамляет идентификатор базы данных (имя столбца, имя таблицы и т. д.) кавычками, чтобы его безопасно использовать в запросах, исключая возможность использования зарезервированных слов
Параметры
- строка
$identifier - Идентификатор для оформления кавычками.
Возвращает
строкаreleaseSavePointSQL()source public
releaseSavePointSQL( string $name )
Возвращает фрагмент SQL для отмены ранее созданной точки сохранения
Параметры
- строка
$name - имя точки сохранения
Возвращает
строкаrollbackSavePointSQL()source public
rollbackSavePointSQL( string $name )
Возвращает фрагмент SQL для отката ранее созданной точки сохранения
Параметры
- строка
$name - имя точки сохранения
Возвращает
строкаsavePointSQL()source public
savePointSQL( string $name )
Возвращает фрагмент SQL для создания новой точки сохранения транзакции
Параметры
- строка
$name - имя точки сохранения
Возвращает
строка
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.8/class-Cake.Database.SqlDialectTrait.html