Класс SqlserverCompiler
Отвечает за компиляцию объекта Query в его представление SQL для SQL Server
Краткое описание свойств
- $_deleteParts protected
array<string>Список положений запроса для обработки при генерации оператора DELETE
- $_insertParts protected
array<string>Список положений запроса для обработки при генерации оператора INSERT
- $_orderedUnion protected
boolSQLserver не поддерживает ORDER BY в запросах UNION.
- $_quotedSelectAliases protected
boolУказывает, нужно ли всегда экранировать псевдонимы в выборке SELECT.
- $_selectParts protected
array<string>Список положений запроса для обработки при генерации оператора SELECT
- $_templates protected
array<string, string>Список шаблонов sprintf, которые будут использоваться для компиляции SQL для этого запроса. Некоторые разделы могут быть построены как прямое конкатенация внутренних частей, они указаны здесь.
- $_updateParts protected
array<string>Список положений запроса для обработки при генерации оператора UPDATE
Краткое описание методов
-
_buildFromPart() protected
Вспомогательная функция для построения строкового представления фрагмента FROM, она строит список таблиц, учитывая алиасы и преобразование объектов выражений в строки.
-
_buildHavingPart() protected
Вспомогательная функция для построения строкового представления фрагмента HAVING, она строит список полей, учитывая алиасы и преобразование объектов выражений в строки.
-
_buildInsertPart() protected
Генерирует фрагмент INSERT SQL-запроса.
-
_buildJoinPart() protected
Вспомогательная функция для построения строкового представления нескольких фрагментов JOIN, она строит список соединений, учитывая алиасы и преобразование объектов выражений в строки как для таблицы, к которой происходит присоединение, так и для условий, которые будут использоваться.
-
_buildLimitPart() protected
Генерирует фрагмент LIMIT SQL-запроса.
-
_buildModifierPart() protected
Строит фрагмент SQL-модификатора.
-
_buildSelectPart() protected
Вспомогательная функция для построения строкового представления фрагмента SELECT, она строит список полей, учитывая алиасы и преобразование объектов выражений в строки. Эта функция также строит фрагмент DISTINCT для запроса.
-
_buildSetPart() protected
Вспомогательная функция для генерации SQL для выражений SET.
-
_buildUnionPart() protected
Строит строку SQL для всех фрагментов UNION в этом запросе; при работе с объектами запросов также преобразует их, используя их настроенный диалект SQL.
-
_buildUpdatePart() protected
Строит фрагмент SQL для UPDATE.
-
_buildValuesPart() protected
Строит фрагмент SQL для INSERT INTO.
-
_buildWindowPart() protected
Вспомогательная функция для построения строкового представления фрагмента окна.
-
_buildWithPart() protected
Вспомогательная функция для построения строкового представления фрагмента
WITH, она строит список определений CTE без генерации ключевого словаRECURSIVE, которое ни требуется, ни является допустимым. -
_sqlCompiler() protected
Возвращает вызываемый объект, который может быть использован для компиляции строкового представления SQL этого запроса.
-
_stringifyExpressions() protected
Вспомогательная функция для преобразования объектов ExpressionInterface в массиве в их строковое представление.
-
compile() public
Возвращает SQL-представление предоставленного запроса после генерации заполнителей для связанных значений с помощью предоставленного генератора.
Подробное описание методов
_buildFromPart() protected
_buildFromPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления части FROM, она строит список таблиц, учитывая алиасы и преобразование объектов выражений в строки.
Параметры
-
array$parts список таблиц, которые должны быть преобразованы в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_buildHavingPart() protected
_buildHavingPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления части HAVING, она строит список полей, учитывая алиасы и преобразование объектов выражений в строки.
Параметры
-
array$parts список полей, которые должны быть преобразованы в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_buildInsertPart() protected
_buildInsertPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Генерирует часть INSERT SQL-запроса
Для лучшей обработки одновременного доступа и низких уровней изоляции транзакций мы также включаем в вывод оговорку OUTPUT, чтобы убедиться, что мы получаем обратно данные вставленной строки.
Параметры
-
array$parts Части для построения
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_buildJoinPart() protected
_buildJoinPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления нескольких оговорок JOIN, она строит список объединений, учитывая алиасы и преобразование объектов выражений как в таблице, которая будет объединена, так и в условиях, которые будут использоваться.
Параметры
-
array$parts список объединений, которые должны быть преобразованы в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_buildLimitPart() protected
_buildLimitPart(int $limit, Cake\Database\Query $query): string
Генерирует часть LIMIT SQL-запроса
Параметры
-
int$limit ограничение
-
Cake\Database\Query$query Запрос, который компилируется
Возвращает
string_buildModifierPart() protected
_buildModifierPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL модификатора
Параметры
-
array$parts части модификатора запроса
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_buildSelectPart() protected
_buildSelectPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления части SELECT, она строит список полей, учитывая алиасы и преобразование объектов выражений в строки. Эта функция также строит оговорку DISTINCT для запроса.
Параметры
-
array$parts список полей, которые должны быть преобразованы в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_buildSetPart() protected
_buildSetPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для генерации SQL для выражений SET.
Параметры
-
array$parts Список ключей и значений для установки.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_buildUnionPart() protected
_buildUnionPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит строку SQL для всех оговорок UNION в этом запросе, при работе с объектами запросов также преобразует их, используя их конфигурированный диалект SQL.
Параметры
-
array$parts список запросов, которые будут обработаны с помощью UNION
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_buildUpdatePart() protected
_buildUpdatePart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL для UPDATE.
Параметры
-
array$parts части UPDATE.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_buildValuesPart() protected
_buildValuesPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL для INSERT INTO.
Параметры
-
array$parts части значений.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_buildWindowPart() protected
_buildWindowPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления оговорки окна.
Параметры
-
array$parts Список окон, которые должны быть преобразованы в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_buildWithPart() protected
_buildWithPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления оговорки WITH, она строит список определений CTE без генерации ключевого слова RECURSIVE, которое не требуется и не является допустимым.
Параметры
-
array$parts Список CTE для преобразования в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
string_sqlCompiler() protected
_sqlCompiler(string $sql, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): Closure
Возвращает вызываемый объект, который можно использовать для компиляции строкового представления SQL этого запроса.
Параметры
-
string$sql исходная строка sql, которая добавляется
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект-биндер значений, используемый для генерации заменителей параметров
Возвращает
Closure_stringifyExpressions() protected
_stringifyExpressions(array $expressions, Cake\Database\ValueBinder $binder, bool $wrap = true): array
Вспомогательная функция для преобразования объектов ExpressionInterface в массиве в их строковое представление.
Параметры
-
array$expressions Список строк и объектов ExpressionInterface.
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации заполнитель параметров.
-
bool$wrap необязательно Указывает, следует ли обернуть каждый объект выражения в скобки.
Возвращает
arraycompile() public
compile(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Возвращает SQL-представление запроса после генерации заполнителей для связанных значений с помощью предоставленного генератора.
Параметры
-
Cake\Database\Query$query Запрос, который компилируется.
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации заполнителей параметров.
Возвращает
stringПодробное описание свойств
$_deleteParts protected
Список частей запроса для построения оператора DELETE.
Тип
array<string>$_insertParts protected
Список частей запроса для построения оператора INSERT.
Тип
array<string>$_orderedUnion protected
SQLserver не поддерживает ORDER BY в запросах UNION.
Переопределено в подклассах.
Тип
bool$_quotedSelectAliases protected
Указывает, нужно ли всегда заключать псевдонимы в SELECT-оператор в кавычки.
Тип
bool$_selectParts protected
Список частей запроса для построения оператора SELECT.
Тип
array<string>$_templates protected
Список шаблонов sprintf, которые будут использоваться для компиляции SQL для этого запроса. Некоторые части могут быть построены просто как прямое конкатенация внутренних частей; они перечислены здесь.
Тип
array<string, string>$_updateParts protected
Список частей запроса для построения оператора UPDATE.
Тип
array<string>
© 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/4.4/class-Cake.Database.SqlserverCompiler.html